微信小程序使用 百度地图提供的坐标进行定位的时候会造成位置偏移,究其原因是百度地图未使用常规的国测局坐标(火星坐标,GCJ02)、或WGS84坐标系 而使用了自己的坐标系 百度坐标系
会造成经纬度上的一公里左右的偏移。
但百度只提供 WGS84、GCJ02 坐标系转百度坐标系的接口,而未提供百度坐标系转 WGS84、GCJ02坐标系
互联网在线地图使用的坐标系:
火星坐标系:
- iOS 地图(其实是高德)
- Gogole地图
- 搜搜、阿里云、高德地图
百度坐标系:
- 当然只有百度地图
WGS84坐标系:
- 国际标准,谷歌国外地图、osm地图等国外的地图一般都是这个
微信小程序使用百度坐标系经纬度的解决方式:
腾讯位置服务提供了 微信小程序 JavaScript SDK,可进行其他坐标系的逆向解析,包含以下坐标系转换至腾讯坐标系:
- GPS坐标
- sogou经纬度
- baidu经纬度
- mapbar经纬度
- [默认]腾讯、google、高德坐标
- sogou墨卡托
接口文档: http://lbs.qq.com/qqmap_wx_jssdk/method-reverseGeocoder.html