通过百度地图API,将百度坐标转换成GPS经纬度

xiaoshe 2014-07-10

百度地图API中,有GPS坐标转百度坐标的功能

http://dev.baidu.com/wiki/static/map/API/examples/?v=1.2&0_6#0&6

http接口是:http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=116.397428&y=39.90923&callback=BMap.Convertor.cbk_7594

返回结果坐标是通过base64加密的。

这个转换算法百度是不会公开的,而且百度也没有提供百度坐标转成GPS坐标功能,这里我用了取巧的办法。

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

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

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

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

x=2*x1-x2,y=2*y1-y2

x=116.38480649434001

y=39.901480480127

在http://dev.baidu.com/wiki/static/map/API/examples/?v=1.2&0_6#0&6将此坐标输入GPS数据项中得到的结果是:116.39743826208,39.909194650838

相关推荐