本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
微信小程序定位API踩坑记录
sz199511 · 1640浏览 · 发布于2021-01-29 +关注

单次定位


调用方法如下,该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似乎也会造成定位数据异常,因此需要遵守调用顺序:

  1. wx.startLocationUpdate开启监听

  2. wx.onLocationChange注册监听函数

  3. 暂时不需要监听时,使用wx.offLocationChange注销监听函数,此后再也不需要监听时,再使用wx.stopLocationUpdate。


相关推荐

PHP实现部分字符隐藏

沙雕mars · 1322浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 906浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 966浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 960浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1084浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
不积跬步无以至千里,不积小流无以成江海!
分类专栏
小鸟云服务器
扫码进入手机网页