在A点,通过wx.getLocation获取位置后,移动到另外一个位置B,再次wx.getLocation(),获取到的位置是A附近的位置,用wx.openLocation()打开地图,过一会儿(有时几秒、有时几十秒)后,又直接移到正确位置上去了;相应的getLocatoin的数据也成正确的了
整体感觉:位置移动后,getLocation返回的数据不对,要等一会儿,或者用openLocation打开一次地图再等一会儿,再次调用才返回正确的数据
备注:
(1)A点和B点相差3公里以上,开车移动,出现此问题的概率比较大,自己测试了5次,有3次不对,客户反馈错误率90%
(2)如果有几十米或一二百米误差,都能接受,现在误差是几公里
(3)静止不动,getLocation可以返回正常的数据,误差几十米到一二百米不等,可以接受
(4)测试手机:小米5s、iPhone7Plus
问下,wx.getLocation(),如何能保证每次获取的都是当前位置的信息?而且是第一次调用时
有小误差可以接受
wx.getLocation({ type: 'gcj02' , success: function (res) { var latitude = res.latitude var longitude = res.longitude wx.openLocation({ latitude: latitude, longitude: longitude, scale: 28 }) } }) |
多次调用之间的时间间隔有多少?
有时几秒,有时几十秒,不一定。过一会儿一般能正确
第二次获取的时候,前面的获取结束了吗?
结束了,success回调后
请问安卓机器上wx.getLocation会返回上次缓存的位置吗?
我这边做的导航小程序有位置更新不及时问题。
我这边也有这个问题,从A点出发然后走到B点 大致十分钟出头,到达B点再次调用时返回的还是A点附近的经纬度
顶一下
同样的问题。
我个人猜测的原因是:每次wx.getLocation都是先读取缓存的上次位置信息,返回结果,然后再按照某种机制后台获取当前的位置信息,更新缓存。
反正我没搞懂其中的真正的机制,所以一般会在app.js,无用地调用一次wx.getLocation,返回结果不做任何处理,目前看来好象有点用处。
good,我先试下
兄弟你的问题解决了吗?怎么解决的啊
顶一下
顶一下
再顶一下