На сколько быстро можно получать данные гео позиции на сайте и как?
Добрый день, хотелось бы узнать на сколько максимально быстро можно получать данные гео позиции на сайте (раз в секунду например или быстрее)?
И какой способ будет самым быстрым и эффективным?
Насколько быстро и точно зависит от ОС и девайсов, то есть в мобилке вы можете надеятся на gps или A-GPS или на wifi.
gps как самый точный но и тормознутый предполагает холодный старт за 30-40 секунд, горячий за примерно 5 сек. Штатный режим ок 10 герц (10 отсчетов за секунду).
что значит в штатном режиме вы можете поподробнее рассказать? Просто мне нужно как можно быстрее получать данные так как сейчас в лучшем случае раз в 5 секунд но этого далеко не достаточно. Если есть хоть какая-то возможность максимально разогнать получение данных очень хотелось бы об этом узнать.
Штатный режим это когда прошел холодный или горячий старт и датчик выплевывает данные на максимальной скорости. Но тут один момент, ОС может и в слип отправить устройство.
Как я вижу использование высокой точности и не освобождение хэндлера вам поможет
var id, target, options;
function success(pos) {
var crd = pos.coords;
if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
console.log("Congratulations, you reached the target");
navigator.geolocation.clearWatch(id); // закомментируйте тут и поправьте цикл
}
}
function error(err) {
console.warn("ERROR(" + err.code + "): " + err.message);
}
target = {
latitude: 0,
longitude: 0
};
options = {
enableHighAccuracy: true, // используем высокую точность
timeout: 5000,
maximumAge: 0
};
id = navigator.geolocation.watchPosition(success, error, options);
другой вариант если у вас контроллируемое окружение, напишите свой сервис например REST который слушает железный датчик и отдает реальные данные. Тогда сможете приблизится к реальной скорости датчика