getLocation:fail 频繁调用会增加电量损耗的解决办法

在微信小程序中,我们使用wx.getLocation api来获取经纬度的时候,会进行报错提示:

getLocation:fail 频繁调用会增加电量损耗,可考虑使用 wx.onLocationChange 监听地理位置变化

在这里,官方文档已经给出了提示:
getLocation:fail 频繁调用会增加电量损耗的解决办法_第1张图片
从基础库2.17.0版本开始,将会对getLocation 接口进行频率限制,包括在开发版本体验版本中,30s内调用除第一次后,剩余返回fail。但是在正式版本中将不会走fail块,剩余会返回与第一次定位相同的信息。此处带来的限制是在30s内只会触发一次来限制频率,所以不需要太担心,并不会影响业务逻辑(经测试,在最新的版本库,开发环境下,如果不采取bindtap的方式来调用,只是在onshow里面调用,不会调用失败,线上没有测试过。)
若需要实时的来监听,那么则不采取wx.getLocation,需要使用 wx.onLocationChange。用法如下:
注册wx.onLocationChange方法:这里使用了节流方法,因为经纬度实时的,改变时刻都在触发,这里改为每过5s去将经纬度存在guiji数组。

 wx.onLocationChange((res) => {
      //每次当位置变化的时候触发
      if (!_this.flag) {
        //只有f

你可能感兴趣的:(小程序,微信)