Сценарий ниже запускается при загрузке страницы и просит пользователя использовать их местоположение.Я просто добавил небольшой кусочек кода из примера документации , чтобы проверить код ошибки - Код ошибки 1 предназначен для разрешения, которому отказано ..
Существует несколькопричины, по которым в доступе может быть отказано , например, здесь во фрагментах кода был возвращен код ошибки 1, но из-за переполнения стека, запрещающего использование функции геолокации политикой, аналогично JSFiddle.
Вместо этого вы можете использовать сообщение об ошибке, которое представляется более точным.В разных браузерах сообщения об ошибках немного различаются:
- «Географическое положение пользователя отклонено» (Safari и Chrome)
- «Запрос геолокации пользователя запрещено» (Firefox).
Вместо этого вы можете использовать следующую проверку сообщения об ошибке, а не код:
if ( err.message == "User denied Geolocation" || err.message == "User denied geolocation prompt" ) {
// Your code goes here
}
Пример Javascript
Пожалуйста, посмотрите здесь
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Your current position is:');
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
}
function error(err) {
// Check for permission denied error
if (err.code == 1) {
alert("Permission denied to use location");
// Add your code here
}
console.warn(`ERROR(${err.code}): ${err.message}`);
}
navigator.geolocation.getCurrentPosition(success, error, options);