原始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)。

百度地图api帮助文档


WGS坐标系是国际通用的一种地心坐标系

GCJ-02是国内官方采用的一种坐标系

百度坐标系BD-09

所以使用原始坐标直接标注会产生位置偏移。这种偏移也同时保证了用户的隐私。

百度地图api提供了坐标转换的回调js接口。同时也可以自己在后台写坐标转换方法。

参考文献


LBS应用开发,推荐使用高德地图 高德地图有坐标转换的web API接口,而且接口调用次数比百度地图高很多