2021年5月11日13:23:17
首先是坐标系的问题
WGS84 :地理坐标系统,Google Earth和中国外的Google Map使用,另外,目前基本上所有定位空间位置的设备都使用这种坐标系统,例如手机的GPS系统。GCJ-02:投影坐标系统,也就是我们平常所说的火星坐标系,Google Map中国、高德和腾讯地图使用,这个是中国自己在WGS84基础上加密而成,目的显而易见。BD09:投影坐标系统,百度地图使用,在GCJ-02基础上二次加密而成。
国内各地图API坐标系统比较
API | 坐标系 |
---|---|
百度地图API | 百度坐标 |
腾讯搜搜地图API | 火星坐标 |
搜狐搜狗地图API | 搜狗坐标 |
阿里云地图API | 火星坐标 |
图吧MapBar地图API | 图吧坐标 |
高德MapABC地图API | 火星坐标 |
灵图51ditu地图API | 火星坐标 |
当然你可以用过坐标转换来提高精度,但是
/miniprogram/dev/api/location/
返回的精度只有五位数,相比其他地图API返回8-10位或者更多,即使转换也不是一个好办法
后台使用的是腾讯地图定位的gps,小程序默认返回的是wgs84,经过转换依然偏差还是很大,解决精度的办法就是
({
type: 'gcj02',
success (res) {
const latitude =
const longitude =
const speed =
const accuracy =
}
})
即使开启高精度 isHighAccuracy: true 依然没什么屁用
gcj02的坐标就是腾讯本身使用的坐标体系,所以在微信接口内部转换的精度损失会很小,经过测试,基本定位精度会显示在0.01KM,基本不影响用户使用
参考
链接:/p/c39a2c72dc65
链接:/p/c39a2c72dc65