原始GPS坐标,标注到百度地图偏移 - liluximax/weixin GitHub Wiki
百度地图api官方文档说明
我采集到的GPS数据转换成百度坐标系后,偏差非常大。如何怎么解决? 有以下四种可能:
- A、原始坐标可能不是GPS(即wgs84)的 解决方案:请确保采集到的数据时WGS84的标准。
- B、原始坐标准确度不够 解决方案:请确保采集GPS数据时,搜到至少4颗以上的卫星。并且GPS数据准不准,还取决于周围建筑物的高度,越高越不准,因为有遮挡。
- C、度分秒的概念混淆 比如,在google earth上采集到的是39°31'20.51,那么应该这样换算,31分就是31/60度,20.51秒就是20.51/3600度,结果就是39 + 31/60 + 20.51/3600 度。
- D、经纬度顺序写反了 百度坐标是先经度,再纬度,即Point(lng, lat)。谷歌坐标的顺序恰好相反,是(lat, lng)。
WGS坐标系是国际通用的一种地心坐标系
GCJ-02是国内官方采用的一种坐标系
百度坐标系BD-09
所以使用原始坐标直接标注会产生位置偏移。这种偏移也同时保证了用户的隐私。
百度地图api提供了坐标转换的回调js接口。同时也可以自己在后台写坐标转换方法。
LBS应用开发,推荐使用高德地图 高德地图有坐标转换的web API接口,而且接口调用次数比百度地图高很多