У меня есть фрагмент кода, который проверяет наличие GeoLocation API.Если это доступно, я пытаюсь получить текущую позицию.Но в зависимости от браузера код работает по-разному:
- в IE, successCallback вызывается с каждым F5 refres
- в FF, я получаю successCallback или errorCallback с кодом ошибки = 2 (POSITION_UNAVAILABLE)
- в Chrome я получаю успешный ответ или ... ничего.Я жду и жду, и ничего ...
На самом деле мне нужно, чтобы successCallback вызывался каким-то непротиворечивым образом ... Есть ли изменения для его достижения?
Фрагмент кода:
function successCallback(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert("Your location is: " + latitude + "," + longitude);
}
function errorCallback(error) {
console.log(error);
}
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(successCallback, errorCallback, { maximumAge: 0 });
alert("geolocation is enabled");
} else {
alert("geolocation is NOT enabled");
}
Краткое примечание 1:
alert("geolocation is enabled");
вызывается каждый раз.
Краткое примечание 2:
настройка:
maximumAge: 1
работает лучше.Теперь Chrome и IE каждый раз вызывают successCallback.Меня пугает только FF, он случайно вызывает callback.