百度地图API详解之坐标系转换

百度地图API详解

博客原文地址:http://www.jiazhengblog.com/blog/2011/10/11/435/

今天来说说坐标系转换的事情。

不同的API提供商可能会使用不同的坐标系,根据相关法律的规定,GPS获取的原始坐标又不能在互联网上对外提供,所以要使用API展示GPS数据就需要了解有关坐标系转换的内容。

通常GPS获取的经纬度属于WGS84坐标体系,在我国,这个坐标是不能直接应用在互联网服务上的,至少要经过国家测绘局的加密。google map在中国大陆地区的数据使用的就是经过国测局加密之后的坐标系,而google earth在中国地区仍然使用的是WGS84坐标系。

坐标转换

如果有GPS获取的坐标,或者之前从google map api获取的坐标,如何正确的转换到百度地图上呢?

首先我们打开google earth,获取鸟巢体育场处的位置:北纬39度59分29.38秒,东经116度23分24.99秒。

百度地图API详解之坐标系转换_第1张图片

这是“度分秒”单位制的,我们把它转换为“度”,即:39.9914944,116.3902750。这是WGS84坐标系(与GPS获取的一致),为了在百度地图上显示正确位置需要调用转换接口得到:116.40293253658,39.999254873942。这个坐标在百度地图上显示位置为:

百度地图API详解之坐标系转换_第2张图片

可以看到在百度地图上位置与google earth中是一样的。

同样如果是通过google map api获取的坐标也需要经过坐标转换。可以在如下地址进行坐标转换,也可以获取代码自行调用接口进行转换。

坐标转换地址:http://dev.baidu.com/wiki/static/map/API/examples/?v=1.2&0_5#0&5

坐标转换地址:http://developer.baidu.com/map/jsdemo.htm,进入后在“地图示例”中可找到坐标换算的示例。

如果发现获取的GPS坐标转换后在百度地图上有偏移,那么建议将这个原始坐标在google earth中进行验证,如果google earth中的位置与百度地图上的位置一致,那么说明原始坐标就是有偏移的,与转换过程没有关系。

转载于:https://www.cnblogs.com/jz1108/archive/2011/10/11/2207245.html

你可能感兴趣的:(百度地图API详解之坐标系转换)