在使用高德地图JS API时,以下是一些常见的使用问题及其解决方案:
- 如何在页面中引入高德地图API?
 
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您的API密钥"></script>
- 如何创建一个地图实例?
 
var map = new AMap.Map('container', {
    zoom: 10,
    center: [116.397428, 39.90923] // 设置中心点坐标
});
- 如何添加一个标记点?
 
var marker = new AMap.Marker({
    position: new AMap.LngLat(116.397428, 39.90923), // 位置
    map: map // 指定将标记添加到哪个地图实例中
});
marker.setMap(map); // 在地图上显示标记
- 如何添加一个信息窗口?
 
var infoWindow = new AMap.InfoWindow({
    content: '这里是信息窗口',
    size: new AMap.Size(300, 0), // 信息窗口大小
    position: new AMap.LngLat(116.397428, 39.90923) // 信息窗口打开的位置
});
infoWindow.open(map); // 打开信息窗口
- 如何进行地理编码(将地址转换为坐标)?
 
AMap.service(["AMap.Geocoder"], function() {
    var geocoder = new AMap.Geocoder({
        radius: 1000,
        extensions: "all"
    });
    geocoder.getLocation("北京天安门", function(status, result) {
        if (status === 'complete' && result.info === 'OK') {
            // 经纬度
            console.log(result.geocodes[0].location);
        }
    });
});
- 如何进行逆地理编码(将坐标转换为地址)?
 
AMap.service(["AMap.Geocoder"], function() {
    var geocoder = new AMap.Geocoder();
    geocoder.getAddress([116.397428, 39.90923], function(status, result) {
        if (status === 'complete' && result.info === 'OK') {
            // 地址
            console.log(result.regeocode.formattedAddress);
        }
    });
});
- 如何添加一个路线规划?
 
AMap.service(["AMap.Driving"], function() {
    var driving = new AMap.Driving({
        map: map
    });
    driving.search(new AMap.LngLat(116.379028, 39.865042), new AMap.LngLat(116.427281, 39.903719));
});
- 如何添加一个地图控件(比如缩放控件)?
 
map.plugin(['AMap.ToolBar'], function() {
    var toolBar = new AMap.ToolBar();
    map.addControl(toolBar);
});
- 如何监听地图事件(比如点击事件)?
 
map.on('click', function(e) {
    // 点击地图时获取经纬度
    console.log(e.lnglat.getLng(), e.lnglat.getLat());
});
- **如何在地图上添加自定义图层