Ошибка Chrome navigator.geolocation.getCurrentPosition() 403
По какой-то причине при вызове navigator.geolocation.getCurrentPosition()
я получаю эту ошибку:
Network location provider at 'https://www.googleapis.com/' : Returned error code 403.
Он работал отлично вчера! Может ли быть что-нибудь со своими серверами?
Ответы
Ответ 1
Кажется, он сейчас резерв. Но прежде чем я понял, что он работает, я использовал другой способ получить данные о местоположении, как рекомендовал другой пользователь на reddit.com
var latLong;
$.getJSON("http://ipinfo.io", function(ipinfo){
console.log("Found location ["+ipinfo.loc+"] by ipinfo.io");
latLong = ipinfo.loc.split(",");
});
Источник: https://www.reddit.com/r/webdev/comments/3j8ipj/anyone_else_had_issues_with_the_html5_geolocation/
Ответ 2
Это не проблема HTTPS, даже собственные примеры Google не работают, см. https://developers.google.com/maps/documentation/javascript/examples/map-geolocation
Я открыл поток на reddit и узнал больше и связался здесь: https://www.reddit.com/r/webdev/comments/3j8ipj/anyone_else_had_issues_with_the_html5_geolocation/
У меня были люди со всего мира, сообщающие ту же проблему.
Ответ 3
Это происходит и для меня также на idoco.github.io/map-chat
Я подозреваю, что это связано с изменениями google, планируемыми для Устаревшие мощные функции в Insecure Origins, кажется, что некоторые изменения были сделаны в последнем несколько дней в этом хроме Проблема 520765: устаревание и удаление мощных функций на небезопасном происхождении
Вы можете проверить свой сайт на https, чтобы подтвердить это?
В то время я нашел это использование api в качестве обходного пути this repo:
$.getJSON("http://ipinfo.io", function(doc){
var latlong = doc.loc.split(",")
setUserLocation(parseFloat(latlong[0]), parseFloat(latlong[1]));
getLocation(parseFloat(latlong[0]), parseFloat(latlong[1])).then(function(res){
userLocationName = res
})
initialiseEventBus();
map.panTo(userLocation);
}, function(err) {
setUserLocation(Math.random()*50, Math.random()*60);
userLocationName = "unknown.na"
initialiseEventBus();
map.panTo(userLocation);
})
Ответ 4
У меня была такая же проблема, вы должны проверить свою панель разработчиков и убедиться, что ваш ключ API не имеет ограничений или предупреждений об использовании.