<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>高德地图</title>
</head>
<body>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
<body style="background:#f9f9f9; margin:0 auto">
<div class="map" style="float: left;">
<div id="container" style="height: 557px;width: 100%"></div>
<div id="myPageTop">
<table>
<tr>
<td>
<label>请输入关键字:</label>
</td>
</tr>
<tr>
<td>
<input id="tipinput"/>
</td>
</tr>
</table>
</div>
<div class="input-card" style='width:28rem;'>
<label style='color:grey'>地理编码,根据地址获取经纬度坐标</label>
<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='coordinate' value="" disabled type="text">
</div>
<input id="regeo" type="button" class="btn" value="搜索" />
</div>
</div>
</body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<!--引入高德地图JSAPI -->
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=你的key值&plugin=AMap.Geocoder,AMap.Autocomplete,AMap.PlaceSearch"></script>
<!--引入UI组件库(1.0版本) -->
<script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
<script src="//webapi.amap.com/ui/1.0/main.js"></script>
<script type="text/javascript" src="http://webapi.amap.com/demos/js/liteToolbar.js"></script>
<script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
<script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/js/underscore-min.js" ></script>
<script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/js/backbone-min.js" ></script>
<script type="text/javascript" src='https://a.amap.com/jsapi_demos/static/demo-center/js/prety-json.js'></script>
<script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
<link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
<script type="text/javascript">
var map = new AMap.Map("container", {
resizeEnable: true
});
//输入提示
var autoOptions = {
input: "tipinput"
};
var auto = new AMap.Autocomplete(autoOptions);
var placeSearch = new AMap.PlaceSearch({
map: map
});
//点击地图上的点标记
AMap.event.addListener(placeSearch,"markerClick",function(e) {
$('#coordinate').val(e.data.location);
$('#address').val(e.data.name);
});
//构造地点查询类
AMap.event.addListener(auto, "select", select);//注册监听,当选中某条记录时会触发
function select(e) {
placeSearch.setCity(e.poi.adcode);
placeSearch.search(e.poi.name); //关键字查询查询
}
var geocoder = new AMap.Geocoder({
city: "全国", //城市设为北京,默认:“全国”
});
var marker = new AMap.Marker();
map.getAllOverlays();
var marker = new AMap.Marker();
function regeoCode() {
var lnglat = document.getElementById('coordinate').value.split(',');
map.add(marker);
marker.setPosition(lnglat);
geocoder.getAddress(lnglat, function(status, result) {
if (status === 'complete'&&result.regeocode) {
var address = result.regeocode.formattedAddress;
document.getElementById('address').value = address;
}else{
log.error('根据经纬度查询地址失败')
}
});
}
map.on('click',function(e){
document.getElementById('coordinate').value = e.lnglat;
regeoCode();
})
document.getElementById("regeo").onclick = regeoCode;
document.getElementById('coordinate').onkeydown = function(e) {
if (e.keyCode === 13) {
regeoCode();
return false;
}
return true;
};
</script>
</body>
</html>
实现效果