高德地图 JS API - 根据地名实现标记定位

德地图 JS API 使用前的准备工作请参考官方网站说明: https://lbs.amap.com/api/javascript-api/guide/abc/prepare

示例:https://lbs.amap.com/demo-center/js-api

 

根据地名实现地图标记定位,主要依赖高德地图的:地理编码与逆地理编码。下面来看具体的实现代码:

1. HTML (地图容器)

<div class="map-container" id="container"></div>

  

2. JAVASCRIPT

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('定位失败!');
            }
        });
    });
}

  

方法写好了,调用很简单了:

// 传入地图容器ID 和 地名
markLocation('container', '湖北省武汉市');

  

本文转载自https://www.cnblogs.com/similar/archive/2018/08/01/9400601.html

posted @ 2020-01-14 10:39  惠鹏曦  阅读(1092)  评论(0编辑  收藏  举报