Я пытаюсь использовать геолокацию, предоставляемую браузером.Геолокация поддерживается, но не работает
Это мой код
console.log("Before Geolocation");
if(navigator.geolocation) {
console.log("Geolocation Supported");
navigator.geolocation.getCurrentPosition(function(position) {
console.log("Within function");
geoloc = position.coords.latitude + "," + position.coords.longitude;
console.log(geoloc);
},
function(){
console.log("error");
},
{
timeout: 10000
}
);
}
else {
console.log("geolocation not supported");
}
if (geoloc != '') {
addition = geoloc;
}
else {
addition = "DEFAULT LOCATION";
}
console.log(addition);
Моя проблема, когда им выполнение кода, выход консоли на хром говорит:
Before Geolocation
Geolocation Supported
DEFAULT LOCATION
Похоже, что призыв:
navigator.geolocation.getCurrentPosition(function(position) {
, похоже, не выполнен, так как ни успех, ни функция отказа ничего не делают. (Что можно было проверить на консоли)
В чем могут быть причины, по которым функция не срабатывает, но поддерживается геолокация?
Какова ваша среда тестирования? Вы тестируете локально? –
Нет на сервере – Tom
Это SSL (https)? Chrome не разрешает доступ к API геолокации на сайтах без SSL. –