#react-native
#react-native
Вопрос:
Я пытаюсь получать координаты местоположения каждые 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
метод. Это дает мне координаты. Но я хочу каждую секунду
Ответ №1:
Метод watchPosition автоматически вызовет success
обратный вызов, как только позиция пользователя изменится, поэтому выполнение этого не сработает. Если вам действительно нужно получать данные каждую секунду (что может вам и не понадобиться, поскольку местоположение пользователя редко меняется за 1 секунду и это потребляет много энергии аккумулятора), вы используете setInterval, используя метод along with navigator.geolocation.getCurrentPosition
.
Комментарии:
1. На самом деле я хочу получать местоположение, когда пользователь меняет позицию. Но я не смог с этим справиться