收藏
回答

onLocationChange 安卓(红米)移动位置后经纬度没有发生变化 移动距离在30米以内?

wx.onLocationChange((data) => {

      //获取当前时间

      var currentTime = new Date().getTime();

      //获取上次保存的位置信息

      var oldLocation = wx.getStorageSync('oldLocation')

      //获取上次执行的时间

      var oldTime = wx.getStorageSync('oldTime')

      //将经纬度拼接

      var newLocation = data.longitude + ' ' + data.latitude

      console.log(data)

      //判断当前的位置是否和上次位置不一致

      if (oldLocation != newLocation) {

        //缓存当前最新位置

        wx.setStorageSync('oldLocation', newLocation)

        //缓存当前执行的时间

        wx.setStorageSync('oldTime', currentTime)

        // 如果本次执行时间距离上次时间超过3s,将位置信息上传后台

        if (currentTime - oldTime > 3000) {

          Taro.showToast({

            title: '上传',

            icon: 'success',

            duration: 2000

          })

        } else {

          Taro.showToast({

            title: '不上传',

            icon: 'success',

            duration: 2000

          })

        }

      }

    })

回答关注问题邀请回答
收藏
登录 后发表内容