百度API获取地理位置

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

二、说法1:网上有人说chorme浏览器如今只支持https协议的网站函数

因为百度API是http协议,因此百度API加载出了问题网站

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

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

五、chorme不许确暂时没法解决。orm

 

添加百度API:blog

js代码以下:get

 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]);
                }
            }
                                 
        }
    });
相关文章
相关标签/搜索