web-dev-qa-db-ja.com

GoogleのジオロケーションエラーChrome

私は知っています、 この問題 は過去にすでに報告されています。

しかし、それは2015年に解決されました。今では2017年に戻っています!

エラー( Geolocation Position Error、Code 2 )はChrome(バージョン56.0.2924.87(64ビット))に表示されます:

' https://www.googleapis.com/ 'のネットワークロケーションプロバイダー:エラーコード403が返されました。

エラーコード2

注意:ChromeジオロケーションにはHTTPSが必要です!

function getCoords() {
  return new Promise(function(resolve, reject) {
    if (navigator.permissions) {
      navigator.permissions.query({
        name: 'geolocation'
      }).then(function(permission) {
        switch (permission.state) {
          case 'granted':
            navigator.geolocation.getCurrentPosition(function(pos) {
              resolve(pos.coords);
            }, function(error) {
              console.error('Error Code: ' + error.code + ' - ' + error.message);
            });
            break;
          case 'Prompt':
            console.info('Check Geolocation Promt.');
            navigator.geolocation.getCurrentPosition(function(pos) {
              resolve(pos.coords);
            }, function(error) {
              console.error('Error Code: ' + error.code + ' - ' + error.message);
            });
            break;
          case 'denied':
          default:
            resolve(null);
            break;
        }
      });
    } else {
      reject(new DOMError('NotImplemented', 'Permission API is not supported'));
    }
  });
}

function locate() {
  if (typeof Promise !== "undefined" && Promise.toString().indexOf("[native code]") !== -1) {
    getCoords().then(function(coords) {
      if (coords !== null) {
        console.log(coords);
        document.getElementById('coords').value = coords.latitude + ', ' + coords.longitude;
      } else {
        console.warn('No coords returned :/');
      }
    });
  } else {
    console.warn('This browser doesn\'t support geolocation.');
  }
}
<button onclick="javascript:locate()">Locate me</button>
<input type="text" id="coords" readonly/>

このGoogleMaps APIの例でも、問題は同じようです。 https://developers.google.com/maps/documentation/javascript/examples/map-geolocation

10
Sebastian

これは私にも起こりました。30分かけて解決策を見つけてから再起動してみました

3

件名にGoogleChromeが含まれていることは知っていますが、このエラーは次のとおりです。

Network location provider at 'https://www.googleapis.com/' : No response received.

chromiumバージョン70.0.3538.67(Developer Build)(64ビット)(macOS、High Sierra)でも発生します。

多分これ https://bugs.chromium.org/p/chromium/issues/detail?id=820945&can=2&start=0&num=100&q=geolocation&colspec=ID が関連しています。

1
Cezary Tomczyk

私の職場の誰もが現在、私たち自身のコードとGoogle MapsAPIの例の両方でこの問題を経験しています。

定期的にGoogleのネットワークロケーションプロバイダーサービスが利用できないため、他の手段(GPSまたはセルタワーの三角測量)からロケーションを特定できないすべてのデバイスが失敗するようです。

正直なところ、これは本当に薄っぺらな実装のようです-Chrome用のフォールバックネットワークロケーションプロバイダーがないのはなぜですか?

1
wyqydsyq

問題は解決したようです。私は何も変更しません。 これは企業の代理問題だと思います。

0
Sebastian