关于百度地图API的地图坐标转换问题

我在之前的文章利用html5获取经纬度并且在百度地图中显示位置中使用了百度地图的API来显示html5获取的地理位置,在文中我说过这样的话,我说百度地图的准确度不怎么精确,偏差很大。这里我要更正下:

国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。

由此可以看出小编之前冤枉了百度地图,所以如果对您有误导还请见谅。所以写了篇关于百度地图API坐标转换的文章,并且对之前的模型做了修正。

实现代码:

//在百度 map中显示地址
    var map = new BMap.Map("map_canvas");
    var point = new BMap.Point(longitudeP , latitudeP);  // 创建点坐标  
    map.centerAndZoom(point, 15);// 初始化地图,设置中心点坐标和地图级别  
    var marker = new BMap.Marker(point);    
    map.addOverlay(marker); 
    BMap.Convertor.translate(point,0,translateCallback);     //真实经纬度转成百度坐标

回调函数代码:

//坐标转换完之后的回调函数
function translateCallback(point1){
    var marker1 = new BMap.Marker(point1);
    map.addOverlay(marker1);
    var label = new BMap.Label("转换后的百度坐标",{offset:new BMap.Size(20,-10)});
    marker1.setLabel(label); //添加百度label
    map.setCenter(point1);
}

这是新的效果图:

可以看出转换出的效果还是相当精确的,并且从我这里的demo来看要比谷歌地图精确的多!所以如果也有像我一样的用户发现调用baidu map坐标有偏差的话,很有可能就是没有进行坐标转换。

关于这个demo:

在线查看demo    猛击这里下载这个demo

解压密码:

malagis.com

PS:注意,密码是malagis.com,没有前面的http,不要从浏览器直接复制啊,亲!

利用html5获取经纬度并且在百度地图中显示位置 百度地图坐标转换(gps google 百度坐标相互转换)

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

已有 17 条评论

  1. qzzsunly
    1#
    qzzsunly  · 2013-11-08 14:21

    原来作者在地大上学啊.好近.

      1. Sailor
        Sailor  · 2013-11-09 12:08

        没有啦,那是本科的时候了。

          1. 暮雨寒
            暮雨寒  · 2016-07-14 08:21

            请问楼主,如何自定义显示图标呢?

  2. 花花雷
    2#
    花花雷  · 2014-03-05 15:46

    你长得好像一个我同班同学啊

      1. 木丁西
        木丁西  · 2014-03-05 16:32

        是么,好有缘哦~

  3. 老皮
    3#
    老皮  · 2015-03-31 16:09

    原来是武汉的额啊

  4. 守门的无名草先生
    4#
    守门的无名草先生  · 2015-04-15 14:31

    BMap.Convertor.translate(point,0,translateCallback); 求助,这个方法貌似不在百度地图的JS里面?怎么找到这个方法?

      1. 麻辣GIS
        麻辣GIS  · 2015-04-16 00:05

        需要包含下面这句js代码,

  5. 竹子偶遇生姜
    5#
    竹子偶遇生姜  · 2016-04-04 12:51

    您好,非常冒昧地想问问如果我通过百度POI获得很多点的经纬度坐标,我应该怎么样对他统一进行坐标转换?

      1. Sailor
        Sailor  · 2016-04-04 14:42

        百度坐标转换GPS坐标么?

          1. 竹子偶遇生姜
            竹子偶遇生姜  · 2016-04-04 14:45

            不好意思,我不清楚GPS具体的投影,我想是百度坐标转换成标准WGS-84的系统。

              1. Sailor
                Sailor  · 2016-04-04 16:28

                你参考下这个?http://my.oschina.net/Thinkeryjgfn/blog/402565?fromerr=NwvOu4GN

                  1. 小灰灰
                    小灰灰  · 2016-04-05 09:13

                    您好,非常冒昧地想问问,为啥我用百度自己的坐标拾取系统获得的经纬度然后直接显示加载到百度地图上也会有偏差呢?

  6. 竹子偶遇生姜
    6#
    竹子偶遇生姜  · 2016-04-04 19:44

    我知道了,非常感谢

  7. 你好
    7#
    你好  · 2016-05-16 18:54

    https下怎么转换呢?好像不能https下转换为百度坐标啊

  8. z_东九
    8#
    z_东九  · 2016-09-01 18:22

    怎么开启在手机上用手来缩放地图,就是两根手指放大缩小的!求告知

发表评论