通过微信小程序定位获得当前位置的功能需求很多人会用到,未来应用的场景肯定也是越来越多,但是微信小程序获取定位getLocation()有个比较顽固、随机出现但常见的问题,就是定位不准确/不及时的问题,相信我不是第一个遇到的,也不会是最后一个,而且这个问题时不时出现、影响体验。
例如扫码签到同时上送地址的应用场景,我明明已经到B地点了,但是上送的地址却还是原来的A地点(很多人说可能是误差,其实不是,我们遇到太多次了,特别是上下班这种短时间内区域跨度比较大的情况下经常出现),猜测可能是定位被微信缓存了没有真正通过GPS硬件获得实时地址的缘故?
因为遇到的比较多了,我们使用iphone8(普遍性)做过多次试验均出现此问题:
①我在B地点扫码签到发现上送地点是A;
②打开百度/高德地图检查定位是不是不准,点击“定位/重新定位”使得地址正确的在B或B附近;
③重新扫码签到,发现上送的地点还是A;
证明:getLocation()获得的地址被缓存了/没有通过GPS硬件获得实时地址
关键问题是A和B地点的误差范围比较大,大到超出5km的情况都出现过(已经在围栏误差范围外了),地球/火星坐标系等等参数已经试过无数次了在生产复杂环境下还是没有得到解决。
希望官方对获取定位的API能有优化,建议微信小程序获取定位改为直接调用GPS硬件以获得更加精确地址。
如果使用方法不对也请指正,谢谢。
微信小程序开发问题解答
微信小程序开发者回答:
遇到同样问题
微信小程序开发者回答:
反馈已收到,我们排查一下。帮忙确认几个问题:
1. 这个问题在 Android 有验证过吗?
2. 两次测试期间,微信小程序是否有重启?微信是否有重启?
微信小程序开发者回答:
1、安卓上也有遇到此问题,但是苹果居多;
2、两次测试期间微信没有重启,微信小程序也没有重启;【下次遇到了我让用户帮我微信小程序重启前+后再测试一下看看】
微信小程序开发者回答:
从逻辑看会有缓存,但是缓存不会导致这样的问题,详细问题需要等用户重现后配合上传日志我们来分析。等你能重现这个问题后在这里回复一下,我再联系你要日志。
本文网址:http://www.91bianli.com/weixinxiaochengxu/50982.html