Я использую код для определения географического местоположения на моем сайте. например https://subdomain.domain.com/pwa
<script type = "text/javascript">
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert("Latitude : " + latitude + " Longitude: " + longitude);
}
function errorHandler(err) {
if(err.code == 1) {
alert("Error: Access is denied!");
} else if( err.code == 2) {
alert("Error: Position is unavailable!");
}
}
function getLocation() {
if(navigator.geolocation) {
// timeout at 60000 milliseconds (60 seconds)
var options = {timeout:60000};
navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);
} else {
alert("Sorry, browser does not support geolocation!");
}
}
</script>
<form>
<input type = "button" onclick = "getLocation();" value = "Get Location"/>
</form>
Я добавил код выше в geoWatch. html. когда я захожу на страницу и нажимаю - получить местоположение. Мне предлагается разрешить геолокацию, которую я принимаю, и я вижу то же самое в настройках веб-сайта, геолокация разрешена.
, но сразу после нажатия на кнопку принять уведомление о разрешении - я получаю предупреждение об ошибке - Ошибка: доступ запрещен. Я помню, он работал нормально, что и где я испортил, не могу понять, что пошло не так, поэтому я взял этот пример кода и поместил его как в папку pwa, так и в root сайта для тестирования, если какой-либо другой код конфликтует, но это не помогло.
Дополнительное примечание: я установил chrome канарейка и там он (тот же код) работает нормально.
Редактировать: Четный Chrome Канарейка работала только с первой попытки. любая последующая попытка получить ту же ошибку. но браузер Samsung Mobile работает нормально даже после нескольких попыток.