Q:微信网页调用jssdk内的getLocation方法和客户端内封装的高德获取定位获取到的当前定位不一致,计算出的远近排序不一致。
A:getLocation方法,type用gcj02、isHighAccuracy用true获取到的定位误差小很多,排序已一致。
高德坐标属于gcj02,一直在纠结微信接口里获取到的是什么坐标,其实是两种可选。网上大多也是高德与百度的转换公式。
=============================
文档参考:
地球上同一个地理位置的经纬度,在不同的坐标系中,会有少许偏移,国内目前常见的坐标系主要分为三种:
地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。
火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。
百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。
AMap.convertFrom() 参数type用于说明是哪个服务商的坐标,可选值有:
gps:GPS原始坐标;
baidu:百度经纬度;
mapbar:图吧经纬度
https://lbs.amap.com/api/javascript-api/guide/transform/convertfrom
https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html