<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>Amap 高德地图根据地址获取省市区街道</title>
<!--<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>-->
<link rel="stylesheet" href="css/demo-center.css"/>
<style>
html,body,#container{
height:100%;
width:100%;
}
.btn{
width:10rem;
margin-left:6.8rem;
}
</style>
</head>
<body>
<div id="container" class="map" tabindex="0"></div>
<div class="input-card" style='width:28rem;'>
<div class='input-title' style='color:rgb(0, 0, 0)'>地址街道信息查询</div>
<div class='input-subtitle' >请输入你需要查询的地址。</div>
<div class="input-item">
<div class="input-item-prepend"><span class="input-item-text" >地址</span></div>
<input id='address' type="text" value='深圳市罗湖区布心路水贝地铁站' >
</div>
<div class="input-item">
<div class="input-item-prepend"><span class="input-item-text">省</span></div>
<input id='province' disabled type="text">
</div>
<div class="input-item">
<div class="input-item-prepend"><span class="input-item-text">市</span></div>
<input id='city' disabled type="text">
</div>
<div class="input-item">
<div class="input-item-prepend"><span class="input-item-text">区</span></div>
<input id='district' disabled type="text">
</div>
<div class="input-item">
<div class="input-item-prepend"><span class="input-item-text">街道/乡镇</span></div>
<input id='street' disabled type="text">
</div>
<input id="geo" type="button" class="btn" value="查询一下" />
<div>
<div class='output-title'>当前查询地址:</div>
<div class='output-result' id='address_2'></div>
</div>
</div>
<script src="js/demoutils.js"></script>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=160cab8ad6c50752175d76e61ef92c50&plugin=AMap.Geocoder"></script>
<script type="text/javascript" src='https://webapi.amap.com/maps?v=1.4.15&key=160cab8ad6c50752175d76e61ef92c50&plugin=AMap.ToolBar'></script>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=160cab8ad6c50752175d76e61ef92c50&plugin=AMap.Autocomplete"></script>
<script src="https://webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
<script type="text/javascript">
AMapUI.loadUI(['misc/PositionPicker'], function(PositionPicker) {
var map = new AMap.Map('container', {
zoom: 16,
scrollWheel: true,
resizeEnable: true
})
var positionPicker = new PositionPicker({
mode: 'dragMap',
map: map
});
var auto = new AMap.Autocomplete({
input: "address"
});
function geoCode() {
var geocoder = new AMap.Geocoder({
});
var address = document.getElementById('address').value;
geocoder.getLocation(address, function(status, result) {
if (status === 'complete'&&result.geocodes.length) {
var lnglat = result.geocodes[0].location
geocoder.getAddress(lnglat, function(status, result) {
if (status === 'complete'&&result.regeocode) {
var street = result.regeocode.addressComponent.township
document.getElementById('province').value = result.regeocode.addressComponent.province;
document.getElementById('city').value = result.regeocode.addressComponent.city;
document.getElementById('district').value = result.regeocode.addressComponent.district;
document.getElementById('street').value = street;
}else{
log.error('根据地址查询地址失败')
}
});
map.setCenter(lnglat);
positionPicker.start(map.getBounds().getCenter())
}else{
log.error('根据地址查询位置失败');
}
});
}
positionPicker.on('success', function(positionResult) {
var geocoder = new AMap.Geocoder({
});
document.getElementById('address_2').innerHTML = positionResult.address;
geocoder.getAddress(positionResult.position, function(status, result) {
if (status === 'complete'&&result.regeocode) {
var street = result.regeocode.addressComponent.township
document.getElementById('province').value = result.regeocode.addressComponent.province;
document.getElementById('city').value = result.regeocode.addressComponent.city;
document.getElementById('district').value = result.regeocode.addressComponent.district;
document.getElementById('street').value = street;
}else{
log.error('根据地址查询地址失败')
}
});
});
positionPicker.on('fail', function(positionResult) {
document.getElementById('province').value = '超出查询范围';
});
var getplace = document.getElementById("geo");
var getAddresskey = document.getElementById('address')
AMap.event.addDomListener(getplace, 'click', function() {
geoCode();
})
AMap.event.addDomListener(getAddresskey, 'keydown', function(e) {
if (e.keyCode === 13) {
geoCode();
return false;
}
return true;
})
positionPicker.start();
map.panBy(0, 1);
map.addControl(new AMap.ToolBar({
liteStyle: true
}))
});
</script>
</body>
</html>
https://scorpionfree98.github.io/fetch_address_detail/Geocoder.html
