『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

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

百度地图坐标转换(gps google 百度坐标相互转换)
百度地图API的V2版本增加了坐标转换的接口,推荐使用这个方法:

       最新方法(V2版本)

 

       百度地图APIV2版本增加了坐标转换的接口,推荐使用这个方法:

 

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

 

       老方法(V1版本)

 

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

 

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


       google坐标转换百度坐标

 

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

       GPS坐标转换百度坐标

 

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

       百度坐标转换转换GPS坐标

 

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

 

       百度坐标和GPS坐标转换在很近的距离时偏差非常接近。

       假设你有百度坐标:x1=116.397428y1=39.90923

       把这个坐标当成GPS坐标,通过接口获得他的百度坐标:x2=116.41004950566y2=39.916979519873

       通过计算就可以得到GPS的坐标:

       x = 2x1-x2y = 2y1-y2

      x=116.38480649434001

      y=39.901480480127

 

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

      京ICP备08100627号-22 京公网安备 11010802030428号