为什么navigator.geolocation.watchposition在setInterval()中不起作用



我尝试每1秒获得位置坐标。但是geolocation.watchpositionsetInterval

中不起作用

这是我的代码:

componentDidMount(){
  const intervalId = BackgroundTimer.setInterval(() => {
          navigator.geolocation.watchPosition((position) => {
        console.log(position.coords.latitude);
        var lat = parseFloat(position.coords.latitude);
        var lng = parseFloat(position.coords.longitude);
          console.log("lat :",lat);
          console.log("lng :",lng);
    });
  }, 1000);
  BackgroundTimer.clearInterval(intervalId);
}

如果我删除BackgroundTimer.setInterval方法。它给了我坐标。但是我想要每秒

一旦用户的位置发生变化,手表方法将自动调用success回调,因此这样做不起作用。如果您确实需要每秒获取每一秒钟(您可能不需要它,因为用户的位置很少会在1秒内改变并且会消耗大量电池功率),则将使用SetInterval与navigator.geolocation.getCurrentPosition方法一起使用。

相关内容

  • 没有找到相关文章

最新更新