百度地图坐标转换(gps google 百度坐标相互转换)

之前的方法已经过时了,下面是最新版本,重要的事情说三遍:

最新更新:HTML5跟踪GPS轨迹(8)再谈百度地图的坐标转换(V2版)

最新更新:HTML5跟踪GPS轨迹(8)再谈百度地图的坐标转换(V2版)

最新更新:HTML5跟踪GPS轨迹(8)再谈百度地图的坐标转换(V2版)

----以下是老文章----

我之前写过两篇文章,一篇是利用html5获取经纬度并且在百度地图中显示位置,在那篇文章中我因为对百度地图坐标转换不熟悉,所以做出百度地图不准确这个结论。不过后来我发现这是因为百度地图坐标转换的问题,所以我又写了关于百度地图API的地图坐标转换问题,在文中我修复了关于坐标转换而出现偏差的bug,不过后来查看了下百度官网的一些代码,索性整理了下百度地图的坐标转换接口。

其实这里面无非是两个函数而已,这里记录一下:

google坐标转换百度坐标

BMap.Convertor.translate(ggPoint,2,translateCallback);     //GCJ-02坐标转成百度坐标

GPS坐标转换百度坐标

 BMap.Convertor.translate(gpsPoint,0,translateCallback);     //真实经纬度转成百度坐标

百度坐标转换转换GPS坐标

这是一个比较难的坐标转换,因为百度经过了加密,并没有公开转换的方法,这里提供一种替代的方法:

百度坐标和GPS坐标转换在很近的距离时偏差非常接近。
假设你有百度坐标:x1=116.397428,y1=39.90923
把这个坐标当成GPS坐标,通过接口获得他的百度坐标:x2=116.41004950566,y2=39.916979519873
通过计算就可以得到GPS的坐标:
x = 2x1-x2,y = 2y1-y2
x=116.38480649434001
y=39.901480480127

部分内容来自:http://hunray.iteye.com/blog/1404129

关于百度地图API的地图坐标转换问题 地图学基础知识之地图的基本定义及特性

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

已有 12 条评论

  1. 书痕
    1#
    书痕  · 2013-10-18 09:03

    那有没有GPS转换为火星坐标的呢?好像Google地图在国内用的也是火星坐标

      1. Sailor
        Sailor  · 2013-11-04 12:00

        这个,网上我见过一个C#的,没有用js去实验,你可以参考下。

  2. zzzili
    2#
    zzzili  · 2014-01-07 00:00

    给你一个高精度的纠偏接口。纠偏速度非常快http://www.zdoz.net

      1. 木丁西
        木丁西  · 2014-01-07 02:24

        谢谢分享。

  3. 北极心
    3#
    北极心  · 2015-04-18 09:09

    Google地图百度地图GPS经纬度偏移转换(JAVA)http://my.oschina.net/Thinkeryjgfn/blog/402565

  4. Lee
    4#
    Lee  · 2016-05-12 18:06

    您好,x = 2*x1-x2,y = 2*y1-y2 这个的理论依据可以简述下么?谢谢

  5. theyear
    5#
    theyear  · 2016-07-29 16:23

    转换百度地图坐标 返回“{"status":253,"message":"用户无HTTPS权限"}”
    请问是什么问题呢,有知道的吗

      1. Sailor
        Sailor  · 2016-07-29 18:13

        要先去百度地图开放平台申请AK

  6. 123890
    6#
    123890  · 2016-10-14 16:01

    这个方法已经过时了

      1. Sailor
        Sailor  · 2016-10-14 16:01

        是的,按期会更新。

      2. Sailor
        Sailor  · 2016-11-13 17:41

        已经更新了:http://malagis.com/html5-gis-gps-8-baidu-map-coordinate-transformation-v2.html

发表评论