2015-09-01 4 views
34

По какой-то причине вдруг при вызове navigator.geolocation.getCurrentPosition() я получаю эту ошибку:Chrome navigator.geolocation.getCurrentPosition ошибка() 403

Network location provider at 'https://www.googleapis.com/' : Returned error code 403.

Он работал отлично вчера! Может ли быть что-нибудь с их серверами?

+0

Я испытываю те же проблемы в Chrome и Firefox, но, похоже, работает в IE. Пробовал это на коллеге и получал те же результаты. –

+0

Случается для меня тоже. Я подозреваю, что google изменил что-то в своей политике определения геоданных по небезопасным http –

+0

Такая же проблема здесь. Все хорошо вчера 31 августа 2015 года. –

ответ

14

Кажется, что это резервное копирование сейчас. Но прежде чем я понял, что это работает, я использовал другой способ, чтобы получить данные о местоположении, как это рекомендовано другим пользователем на 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/

+1

Это кажется ненадежным, я показываюсь в richardson texas, что для меня новость, так как я нахожусь в SF. Извините за то, что вы неловко. –

+0

Это просто просматривает текущий IP-адрес в больших таблицах geoIP - особенно на мобильных устройствах, это не самый лучший способ (IP-адреса GSM - это пулы IP-адресов, а GPS гораздо точнее) – CodeBrauer

1

Это происходит для меня тоже на idoco.github.io/map-chat

Я подозреваю, что это связанно с изменением Google строганым для Deprecating Powerful Features on Insecure Origins, кажется, что некоторые изменения были сделаны в последние несколько дней в этом хроме Issue 520765: Deprecation and removal of powerful features on insecure origins

Может вам проверить свой сайт на https, чтобы подтвердить это?

В то же время я нашел это использование апи как обходной путь на 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); 
    }) 
+0

localhost определен как защищенный здесь: [Предпочитает безопасное происхождение для новых мощных возможностей] (https://sites.google.com/a/chromium .org/dev/Home/chromium-security/prefer-secure-originins-for-powerful-new-features), но все равно не работает ... – hooke

+0

Пробовал и Http: // и Https: // для внутренних и внешние сайты без изменений результатов (Fails в Chrome/FF работает в IE. Пробовал это в скрипачке со стандартной http: // головой, и это сработало. –

+1

Мы используем https, и это все еще происходит – mllm

6

Это не 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/

У меня были люди во всем мире, сообщающие ту же проблему.

0

Я была такая же проблема, вы должны проверить ваш developer dashboard и убедитесь, что ваш ключ API не имеет ограничений использования или предупреждений.

 Смежные вопросы

  • Нет связанных вопросов^_^