微信地理位置坐标与百度地图转换

最近在做微信公众平台开发,而项目使用的是百度地图,这就涉及到坐标转换的问题。

在微信公众平台获取用户地理位置有以下2种方式:

  1. 用户主动发送位置。
  2. 微信自动上报用户位置(需用户授权)。

一直以为 2 种方式获取到的坐标应该都是同一坐标体系才对,就是 GPS 坐标,但现实并非如此。

上述第一种方式微信发送的是 GCJ-02 坐标体系,也就是谷歌、腾讯、高德所使用的。
而第二种发送的却是 GPS 坐标,也就是说2种方式获取到的地理位置是不一样地。

既然知道了是何种坐标,转换就比较容易了。百度地图最近又提供了坐标转换API,而且是没有限额的。

在调用API时对于 GPS 坐标,源坐标类型为 1
GCJ-02 源坐标类型为 3

这样就能将两种不同的坐标体系转为百度坐标,进行下一步的使用了。

Built with Hugo, theme is Stack, designed by Jimmy.