Ответ 1
После поиска ответа, я думаю, что что-то не так с Google
Я попробовал его с сайтом developers.google
Safari: работает
Google Chrome: не удалось
Я использую Geolocation.watchPosition()
и я получаю следующую ошибку при обратном вызове
Поставщик сетевых расположений по адресу https://www.googleapis.com/: вернул код ошибки 403.
Похоже, это происходит только в браузере Chrome для настольных ПК. Firefox вроде бы в порядке. Это также только начало происходить сегодня, я никогда раньше не сталкивался с этой ошибкой в своем веб-приложении, использующем Geolocation.watchPosition()
.
Обновление: ошибка https://bugs.chromium.org/p/chromium/issues/detail?id=753242
После поиска ответа, я думаю, что что-то не так с Google
Я попробовал его с сайтом developers.google
Safari: работает
Google Chrome: не удалось
Это действительно проблема с хромом, чтобы обойти ее, вы должны проверить свою панель разработчиков и убедиться, что ваш ключ API не имеет предупреждения.
Кроме того, вы должны убедиться, что на этапе разработки установлены правильные ограничения использования:
Этот ключ неограничен. Чтобы предотвратить несанкционированное использование и кражу квот, ограничьте свой ключ. Ограничение ключа позволяет указать, какие веб-сайты, IP-адреса или приложения могут использовать этот ключ.
Более подробную информацию можно найти здесь.
В настоящее время может возникнуть проблема с API-интерфейсом google. Вчера я также использовал API-интерфейс google map, и он не работал так, как должно быть. И затем я начал использовать этот бесплатный плагин, и он работал у меня как шарм. http://www.geoplugin.com/
Это случилось со мной тоже. Мне пришлось включить службы определения местоположения на моем Mac.
Это может быть ответ, который вы ищете. 403 означает, что вы достигли своего дневного лимита при использовании googleapis, я получаю ту же проблему во всех моих программах Google.
Источник: https://developers.google.com/maps/documentation/geolocation/intro
У меня была такая же проблема, когда он не работал в Chrome. И вот я нашел эту ссылку https://www.reddit.com/r/webdev/comments/3j8ipj/anyone_else_had_issues_with_the_html5_geolocation/
По словам одного из пользователей Reddit, вам нужно установить для enableHighAccuracy значение true. Код выглядит примерно так:
//Get current location
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
position => {
console.log(position.coords);
},
error => {
console.log("Error: ", error)
},{ enableHighAccuracy: true });
}
Надеюсь, что это поможет.
В моем случае я сбросил разрешение на местоположение в Ask (по умолчанию) в Chrome, а после перезагрузки Allow the location and boom... все заработало.