2017-03-02 21 views
10

私は、this problemが既に過去に報告されていることを知っています。Google Chromeのジオロケーションエラー

しかし、それは2015年に解決したが今では2017年に戻ってです! 'https://www.googleapis.com/' に

ネットワーク位置プロバイダ:

エラー(Geolocation Position Error, Code 2)は、クロム(バージョン56.0.2924.87(64ビット))に表示されて返さ エラーコード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/>

問題は、このGoogleマップのAPIの例では同じであるように思わ:https://developers.google.com/maps/documentation/javascript/examples/map-geolocation

+0

私の答えを確認するhttps://stackoverflow.com/questions/32328133/in-new-chrome-44-0-2403-157-geolocations-doesnt-works/45319972#45319972 –

答えて

0

問題が解決しているようです。私は何も変えない。私はそれが企業の代理問題だと思う。

3

これはあまりにも私に起こった、私の職場で

+0

同様の修正が私のために働いた。私はタブを閉じてそれを再び開きました。複数のドメインは(別のタブで)機能しませんでした。これはmacOS Sierra –

+0

でChrome 58でしたが、Chromeをアップデートして再起動するのが唯一の方法です。 –

1

誰もが、現在、私たち自身のコードとGoogle Maps APIの例の両方で、この問題が発生している再起動してみてくださいだけにして解決策を見つけようと30 minzを過ごしました。

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

正に、これは実際には難しい実装のようです - なぜクロムのためのフォールバックネットワークロケーションプロバイダはありませんか?

関連する問題