web-dev-qa-db-ja.com

Chromeは私の地理的位置をどのように知っていますか?

Chromeは私の位置を検出するのに非常に正確なようです。それはどのようにそれをしますか?ソースコードを教えてもらえますか?

23
gak

ジオロケーションは、以下に基づいて計算できます。

  1. GPS(利用可能な場合)
  2. 利用可能なWi-Fiネットワークと信号強度
  3. 利用可能なセルタワーと信号強度
  4. IPアドレスルックアップ

W3C Geolocaton API および Google Gears API (Chromeの/ W3C Geolocation APIのベース)を参照してください。

Chromiumのジオロケーションソースコード オンラインで表示できます。

55
Matt Austin

現在地は、デバイスで利用可能なさまざまなサービスとハードウェアを使用して取得できます。最も一般的なものは次のとおりです。GPS、wifi情報、セルタワー。または、IPルックアップもありますが、これはあまり正確ではなく、デバイスに特別なことは何も含まれていません。

あなたの場合、あなたのwifiネットワークに関する情報が使用された可能性が最も高いです。 GPSとWifiを搭載した車(Googleストリートビュー車など)によって作成された、wifiネットワークを場所に接続する巨大なデータベースがあります。コンピューターからサーバーへの送信は、HTML5の一部である W3C Geolocation API Specs に従って行われます。

このためのChromeソース? ここ は開始点のエントリポイントです。または、昔ながらのファイルブラウザを好む場合: http://src.chromium.org/svn/trunk/src/chrome/browser/geolocation/

Wi-Fi経由のローカリゼーション用の実装ファイル:

  • wifi_data_provider_mac.cc
  • wifi_data_provider_linux.cc
  • wifi_data_provider_win.cc
8
Thomas

彼らはいくつかのことを調べます:->あなたの場所と信号強度でのワイヤレスネットワークの一意の識別子(SSID)。 -> IPアドレス(パブリックIPアドレス)-> GPS(利用可能な場合)->モバイルネットワークの位置データ(利用可能な場合)

0
Ciprian

pCのブラウザにはgpsはありませんが、外部IPアドレス(通常はルーターの外部IPアドレス)があります。同じルーターの背後にある他のコンポーネントにgpsがある場合、これは場所をそのIPアドレスに固定し、位置情報サービスを介してこの場所をブラウザーに接続します。

0
Erez