百度API获取地理位置

1、问题1:百度API通过chorme浏览器获取的位置坐标误差有点大。使用IE浏览器能准确定位。

2、说法1:网上有人说chorme浏览器现在只支持https协议的网站

由于百度API是http协议,所以百度API加载出了问题

3、说话2:chorme浏览器的坐标和百度的坐标不一样,需要转换。将百度API里的坐标转换实例代码粘贴下来,里面的new BMap.Convertor().translate(pointArr, 3, 5, translateCallback)方法里的回调函数不执行,但在百度API的demo里却执行。

4、问题2:突然出现你申请的百度密钥不正确...,但过几天却没有问题。

5、chorme不准确暂时无法解决。

 

添加百度API:

js代码如下:

 var ggPoint = null;
    var bm = null;
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function (r) {
        if (geolocation.getStatus()==BMAP_STATUS_SUCCESS) {
            bm = new BMap.Map("allmap");
            ggPoint = r.point;
            var mk = new BMap.Marker(r.point);
            bm.addOverlay(mk);
            bm.centerAndZoom(ggPoint, 12);
            bm.addControl(new BMap.NavigationControl());

            var convertor = new BMap.Convertor();
            var pointArr = [];
            pointArr.push(ggPoint);
            convertor.translate(pointArr, 1, 5, translateCallback);

            //坐标转换完之后的回调函数
            translateCallback = function (data) {
                if (data.status === 0) {
                    var marker = new BMap.Marker(data.points[0]);
                    bm.addOverlay(marker);
                    var label = new BMap.Label("转换后的百度标注(正确)", { offset: new BMap.Size(20, -10) });
                    marker.setLabel(label); //添加百度label
                    bm.setCenter(data.points[0]);
                }
            }
                                 
        }
    });

 

posted on 2018-11-20 11:17  坑的给力  阅读(2017)  评论(0编辑  收藏  举报

导航