Мое приложение HTML5 использует Google Maps и отслеживает пользователя с помощью navigator.geolocation.watchPosition, показывая его местоположение с маркером на карте.
У меня также есть кнопка переключения.Если пользователь нажимает кнопку «Выкл.», Я бы хотел прекратить отслеживать его с помощью watchPosition.
Пока это мой код:
$("#loc-label").click(function(){
if ($('#loc').is(':checked')) {
navigator.geolocation.clearWatch(watchId);
position_marker = null;
} else {
watchId = navigator.geolocation.watchPosition(geolocationWorked, geolocationFailed, {enableHighAccuracy:true, maximumAge:30000, timeout:27000});
}
});
Однако, с этим кодом, когда пользователь переключает местоположение, он получает запрос браузера (по крайней мере, в Firefox), запрашивающийих, если они хотят поделиться своим местоположением.
Есть ли способ обойти это?В идеале я хотел бы только подсказать их один раз.
Очевидно, я мог бы просто скрыть маркер (но на самом деле продолжать отслеживать его местоположение), когда пользователь отключается.Однако это не идеально, поскольку я использую высокую точность (например, GPS, если она доступна), и я бы предпочел дать пользователю возможность действительно отключать геолокацию.
Спасибо!