Когда вы запрашиваете у браузера разрешение на доступ к текущей позиции, каков наилучший способ определить, проигнорировал ли пользователь приглашение браузера или выбрал опцию «Не сейчас»?
Тайм-аут не срабатывает в этом случае.
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
currentLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
callback();
}, function() {
currentLocation = default_location;
callback();
},{timeout: 5000});
}
Решение, которое я использую сейчас, заключается в использовании местоположения по умолчанию для currentLocation и обновлении страницы / просмотра в любое время, когда один из обратных вызовов запускается из-за того, что пользователь отвечает на запрос браузера.