单次定位
调用方法如下,该api存在严重bug,触发条件不明,小程序置于后台或锁屏后有概率触发,表现为多次调用后,获取的坐标卡死在某一点不动,或者出现大幅度跳跃,在某一固定点和当前位置之间来回挑动。该bug在iOS和android平台均有出现,而且该bug能跨小程序出现,即在小程序A触发后,小程序B内调用同一api就会触发bug,重启微信程序可解决,估计是微信的问题。因此该api适合单次低频率调用。
wx.getLocation({
type:'gcj02', // 使用国标坐标系
isHighAccuracy: true, // 高精度定位,会调用gps获取高精度坐标
success: (res) => {} // 定位成功的回调函数
})
持续定位
持续定位需要多个API配合使用
- wx.onLocationChange(function callback) 注册位置更新时触发的回调函数
- wx.offLocationChange(function callback) 注销回调函数
- wx.startLocationUpdate(Object object) 开始监听位置变化
- wx.stopLocationUpdate(Object object) 停止监听
经测试,这一套api没有bug,能满足持续定位的要求,即使在wx.getLocation
已不能正常工作时,它也能正常工作。但频繁调用startLocationUpdate
和stopLocationUpdate
似乎也会造成定位数据异常,因此需要遵守调用顺序:
wx.startLocationUpdate
开启监听wx.onLocationChange
注册监听函数- 暂时不需要监听时,使用
wx.offLocationChange
注销监听函数,此后再也不需要监听时,再使用wx.stopLocationUpdate
。
相关文档
developers.weixin.qq.com/miniprogram…
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!