web-dev-qa-db-ja.com

Chrome navigator.geolocation.getCurrentPosition()error 403

何らかの理由でnavigator.geolocation.getCurrentPosition()を呼び出すと突然このエラーが発生します:

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

昨日は完璧に機能していました!サーバーに何かありますか?

34
mllm

現在バックアップされているようです。しかし、機能していることに気付く前に、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/

14
Amin

これは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/

世界中の人々に同じ問題を報告してもらいました。

6
SahAssar

これは私にとっても idoco.github.io/map-chat で起こります

これは、Googleが計画している変更に関連していると思われます 安全でないオリジンでの強力な機能の廃止 このクロムで過去数日間にいくつかの変更が行われたようです 問題520765:廃止と削除安全でないオリジンの強力な機能の

Httpsでサイトをテストして確認できますか?

その間、私は this repo の回避策としてこのAPIの使用法を見つけました。

  $.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);
  })
1
Ido.Co

同じ問題が発生しました。 開発者ダッシュボード を確認し、APIキーに使用制限や警告がないことを確認する必要があります。

0
Carlos_E.