收藏
回答

wx.offLocationChange不起作用吗?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug offLocationChange 微信安卓客户端 7.0.13 2.11.0

https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChange.html

在停止的时候我是这样调用的:

但是wx.offLocationChange中没有打印内容,

再次启动的时候定位监听的时候,出现数据重复



回答关注问题邀请回答
收藏

3 个回答

  • 俊达
    俊达
    06-01

    我也遇到题主同样的问题。

    经过研究,发现是微信文档中对函数的说明写法有问题。

    onLocationChange 应该是对“实时地理位置变化事件的回调函数”进行注册,只需要运行一次。

    我的解决办法:

    在 app.js 的 onLaunch 方法中,调用 

    wx.onLocationChange(function(res){
      console.log(res)
    })
    

    对位置变更事件进行注册。

    然后,在需要使用位置信息的页面中:

    onLoad function (options) {
      // 启动位置跟踪
      wx.startLocationUpdate({
        success: (res) => {
          console.log(res)
        },
        fail: (err) => {
          console.log(err)
        }
      })
    }
    
    onUnload: function () {
      // 停止位置跟踪
      wx.stopLocationUpdate({
        success: (res) => {
          console.log("onUnload stopLocationUpdate success", res)
        },
        fail: (err) => {
          console.log("onUnload stopLocationUpdate fail", err)
        }
      })
    }
    
    06-01
    有用 1
    回复
  • 于建波
    于建波
    04-22

    机型:iphone 6,微信版本号:7.0.12,系统版本号(?基础版本库):2.10.4

    代码片段:https://developers.weixin.qq.com/s/jjg4yNm37lgk

    关键代码:

    测试结果:

    wx.offLocationChange的输出


    04-22
    有用
    回复 11
    • 于建波
      于建波
      04-22
      注销stopLocationUpdate后还是不会执行offLocationChange
      04-22
      回复
    • °C
      °C
      04-26回复于建波
      你好,问题解决了吗
      04-26
      回复
    • 于建波
      于建波
      04-26回复°C
      还没有
      04-26
      回复
    • °C
      °C
      04-27回复于建波
      1、我发现调用一次wx.startLocationUpdateBackground、wx.onLocationChange后,
      2、然后使用wx.stopLocationUpdate、wx.offLocationChange停止监听位置变化后,
      3、在重新开wx.startLocationUpdateBackground,wx.onLocationChange
      4、但是第一次的wx.onLocationChange会继续监听,所以会出现多次调用,就会数据重复,也就是wx.offLocationChange没起作用。
      不知道的是官方的bug,还是使用方法不对,反正试了好多次都不行

      所以我觉得可以换个办法:
      只有第一次调用开启wx.onLocationChange,然后只操作wx.startLocationUpdateBackground,wx.stopLocationUpdate
      这样数据不会重复了
      04-27
      1
      回复
    • 于建波
      于建波
      04-27回复°C
      好的,谢谢啊,我试试
      04-27
      回复
    查看更多(6)
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    04-15

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    04-15
    有用
    回复 9
    查看更多(4)
登录 后发表内容
问题标签