Я использовал сценарий несколько раз раньше, хотя недавно я не смог заставить его работать. Когда я пытаюсь запустить его, я получаю ошибку Location information is unavailable.
Геолокация на веб-странице не работает
Я не уверен, почему. Я проверил примечания обновления браузеров и т. Д., Чтобы увидеть, была ли эта функция удалена, и я не могу найти ссылку на это.
Если у кого-то есть представление о том, что я делаю неправильно, я был бы очень признателен, если вы в состоянии указать мне в правильном направлении.
Заранее благодарен!
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
</script>
</body>
</html>
Вы пробовали, если геолокация работает вообще на этом устройстве в этом браузере? Таким образом, вы можете узнать, является ли это вашим кодом или браузером. Попробуйте демоверсию геолокации. – Syntac
есть много причин. Вам нужно убедиться, что вы находитесь на 'https' или' localhost', а не 'http'. Также проверьте настройки вашего интернет-соединения и браузера, чтобы проверить, запрещен ли доступ к местоположению по умолчанию – Anirudha