我尝试每1秒获取一次位置坐标。但是geolocation.watchposition
在setInterval
这是我的代码:
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
方法)。它给我坐标。但是我想每秒
答案 0 :(得分:0)
用户位置更改后,watchPosition方法将自动调用success
回调,因此将无法执行此操作。如果确实需要获取每一秒(您可能不需要,因为用户的位置很少会在1秒钟内发生变化,并且消耗大量电池电量),则可以将setInterval与navigator.geolocation.getCurrentPosition
方法一起使用。