以下代码适用于web端高德地图的精准定位;与诸君共勉

var map = new AMap.Map('mapBox2venue', {
    resizeEnable: true, //是否监控地图容器大小变化;值为布尔值,true为允许,false为不允许
});
AMap.plugin('AMap.Geolocation', function () {
    var geolocation = new AMap.Geolocation({
        //使用web浏览器进行精准定位,并返回定位结果;
        //注:下面的配置信息,可以去除谷歌定位默认的定位小圆圈;
        enableHighAccuracy: true,//是否使用高精度定位,默认:true
        timeout: 10000,          //超过10秒后停止定位,默认:无穷大
        maximumAge: 0,           //定位结果缓存0毫秒,默认:0
        convert: true,           //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
        showButton: true,        //显示定位按钮,默认:true
        buttonPosition: 'LB',    //定位按钮停靠位置,默认:'LB',左下角
        buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
        showMarker: false,        //定位成功后在定位到的位置显示点标记,默认:true
        showCircle: false,        //定位成功后用圆圈表示定位精度范围,默认:true  (去掉圆形区域)
        panToLocation: true,     //定位成功后将定位到的位置作为地图中心点,默认:true
        zoomToAccuracy: false      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
    });
    map.addControl(geolocation);
    geolocation.getCurrentPosition(function (status, result) {
        if (status == 'complete') {
            console.log('====result====', result); // result为精准定位成功的返回结果;
        } else {
            console.log('=====error result ====', result);//如果status不等于'complete',则定位失败;返回的result中包含失败信息;
        }
    })
    //可代替上方getCurrentPosition
    //geolocation.getCurrentPosition();
    //AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
    //AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息
})

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐