收藏
回答

wx.onLocationChange 多次执行问题?

第一步:我在页面中写定时执行代码,每10秒执行一次

wx.startLocationUpdateBackground

第二步:我在wx.onLocationChange成功事件中关闭后台实时位置获取

wx.stopLocationUpdate

现在,正常打开页面,是能达到我的目标:每10秒从后台得一次数据,只执行一次wx.onLocationChange


但是,我在小程序里,点右上角,点回到首页,我每点一次,wx.onLocationChange 就会多加一次,比如我点了5次,那么,当每次wx.startLocationUpdateBackground 执行后 wx.onLocationChange成功事件会执行5次,我只想要一次就行,不清楚为什么会这样,请教大家,感谢

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

9 个回答

  • 𠃊N
    𠃊N
    2020-12-14

    stopLocationUpdate 可以正常关闭 startLocationUpdateBackground

    但似乎无法完全关闭 onLocationChange,我觉得可能是bug。。。目前通过一个flag 防止重复onLocationChange,问题得以解决

    2020-12-14
    有用 3
    回复
  • 罗凯
    罗凯
    2022-08-16

    在调用完wx.stopLocationUpdate停止监听实时位置变化后,再次调用wx.startLocationUpdate后wx.onLocationChange无需重新调用也会继续运作,多次调用后反而将收到多条位置变化消息,所以只能控制wx.onLocationChange调用一次


    2022-08-16
    有用 1
    回复
  • 叶
    2020-02-14

    是的,明明退出时stopLocationUpdate关掉了,再进来wx.onLocationChange 增加一次执行

    2020-02-14
    有用 1
    回复 1
    • 小小罗
      小小罗
      2020-09-30
      我也是啊,而且,比如两个页面都有这个监听,你关了一个页面,去另一个页面,这个时候,第一个页面也会接收到
      2020-09-30
      回复
  • 我的帆船缺阵风🥕
    我的帆船缺阵风🥕
    2019-11-18

    我也遇到了同样的问题,请问您解决了吗

    2019-11-18
    有用 1
    回复 2
    • 2019-11-18
      没有呢
      2019-11-18
      回复
    • 我的帆船缺阵风🥕
      我的帆船缺阵风🥕
      2019-11-21回复
      我把onlocationChange 改成了wx.getLocation的方法
      2019-11-21
      回复
  • 遥枫
    遥枫
    2022-05-25

    有解决方案了吗

    2022-05-25
    有用
    回复
  • w
    w
    2021-10-19

    没人解决吗

    2021-10-19
    有用
    回复
  • CdC
    CdC
    2020-07-22

    点击按钮后刚开始就wx.onLocationChange就执行了4次

    2020-07-22
    有用
    回复
  • 2020-07-08

    一样的问题,真不知道应该怎么做,微信官方应该是bug,调用stopLocationUpdate offLocationChange 都无效


    2020-07-08
    有用
    回复
  • 俊达
    俊达
    2020-06-01

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

    2020-06-01
    有用
    回复
登录 后发表内容
问题标签