德地图 JS API 使用前的准备工作请参考官方网站说明: https://lbs.amap.com/api/javascript-api/guide/abc/prepare 示例:https://lbs.amap.com/demo-center/js-api
根据地名实现地图标记定位,主要依赖高德地图的:地理编码与逆地理编码。下面来看具体的实现代码:
<!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>异步加载地图</title>
<link rel="stylesheet" href="https://cache.amap.com/lbs/static/main1119.css" />
</head>
<body>
<div id="container"></div>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=申请的key"></script>
<script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
<script>
function markLocation(mapId, address) {
AMap.plugin('AMap.Geocoder', function() {
var geocoder = new AMap.Geocoder();
geocoder.getLocation(address, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
// 经纬度
var lng = result.geocodes[0].location.lng;
var lat = result.geocodes[0].location.lat;
// 地图实例
var map = new AMap.Map(mapId, {
resizeEnable: true, // 允许缩放
center: [lng, lat], // 设置地图的中心点
zoom: 15 // 设置地图的缩放级别,0 - 20
});
// 添加标记
var marker = new AMap.Marker({
map: map,
position: new AMap.LngLat(lng, lat), // 经纬度
});
} else {
console.log('定位失败!');
}
});
});
}
markLocation('container', '上海市嘉定区');
</script>
</body>
</html>