web-dev-qa-db-ja.com

HTML5 Geolocationはどのように機能しますか?

ChromeとFirefoxにはHTML Geolocationが実装されています。

私の質問は次のとおりです。彼らはローカルにデータベースを持っており、プロバイダーから情報を取得し、それを一致させようとしますか?

DBはどこに保存されますか?アクセスできますか?

Update1:​​ジオロケーションの唯一の欠点は、ブラウザがユーザーに許可を求める必要があることであり、これはユーザビリティにとって本当に悪いことです。私はセキュリティの問題を理解していますが、それがどのように一般的なソリューションになるのかまだわかりません。

Update2:FirefoxはGoogle WebServiceを使用して場所を検出しています。今、これは彼らが競争相手であることを考えると非常に奇妙に思えます。また、この振る舞いは私にとって本当に予期していません...私は、各ブラウザが(おそらくオフラインの)ソリューションにあることを期待しました。

Update3:ブラウザーは、実際にワイヤレスネットワークカードを使用するルーターを探りますか?

Update4:最後に、ブラウザはどのような情報をGoogle Webサービスに送信していますか?検出されたSSIDは大丈夫のようです(そして、彼らが物理的な位置に基づいてグーグルによって追跡され、一致する情報をデータベースで検索する場合は理にかなっています)が、グーグルがこれをスキャンしなかった国ではどのようにうまく機能しますか?あなたのブラウザが送信している他の情報はあなたのIPですが、これはあなたの正確な位置を特定するのに十分ではありませんか?

これを実装する可能性のある他のブラウザについて。彼らはどのようにそれを行うべきですか? APIは、古い非推奨のGEAR APIだけがいくつかの手がかりを与えて文書化されていません。したがって、これは実際には公開されていません。

67
danidacar

API仕様自体は、位置情報の実装にとらわれない価値があります。したがって、Mozilla FirefoxとGoogle Chromeの両方がGoogleのロケーションサービスデータベースを介したネットワーク対応ジオロケーションに依存していることは事実ですが、これは標準の要件ではありません。たとえば、iPhoneのMobile Safariは特定の瞬間に最も正確でアクセス可能な位置情報サービスに応じて、WiFi三角測量またはセルサイトジオロケーションではなくGPSを使用する場合があります。

また、将来のブラウザがロケーションプロバイダーの選択肢を提供することを期待できます。ブラウザがサードパーティへのWiFi IDのリストの送信を必要としないジオロケーションテクノロジーをサポートしていれば、ユーザーのプライバシーと機能に良いことに同意します。 GPSセンサーはスマートフォンやラップトップに統合されることが多いため、W3C Geolocation APIにGPSセンシングを使用できるブラウザーが登場するのではないかと思います。また、ブラウザの設定で場所を手動で指定できるデスクトップコンピューター向けの機能があると便利です。これは現在の仕様と互換性があります。

20
npdoty

まず、素晴らしいデモ

Chromeで this を試してください。

使い方

ここ はあなたの答えです。 [Google Chromeが現在地を特定する方法]をクリックします。

そのページから:

Google Chromeが現在地をサイトと共有することを許可すると、ブラウザはローカルネットワーク情報をGoogle位置情報サービスに送信して現在地の推定値を取得します。ブラウザは現在地をGoogle位置情報サービスが位置を推定するために使用するローカルネットワーク情報には、信号強度、ローカルルーターに関する情報、コンピューターのIPアドレスなど、目に見えるWiFiアクセスポイントに関する情報が含まれます。Google位置情報サービスの精度と範囲は異なります場所によって。

Google Chromeは位置情報を保存して簡単に取得できるようにします。この情報は定期的に更新されます。更新の頻度はローカルネットワーク情報の変更に依存します。

また、Google Location Servicesには、Google Street ViewバンがルーターからのWiFi信号と位置を一致させる(または少なくとも sed to )ために収集されたデータから構築されたデータベースが含まれていると思います。

データベースへのアクセス

データベース(Google Location Services)については、 this SOの質問でアクセスできます。

48
Chetan

Firefoxで新しいタブを開き、アドレスabout:configを入力します。警告メッセージを過ぎてgeo.wifi.uriをフィルターボックスに入力すると、Firefoxが現在地を特定するために使用するWebサービスが表示されます。

11
robertc

Firefoxの「仕組み」

場所を認識するWebサイトにアクセスすると、Firefoxは現在地を共有するかどうかを尋ねます。
同意すると、Firefoxは近くのワイヤレスアクセスポイントとコンピューターのIPアドレスに関する情報を収集します。次に、Firefoxはこの情報をデフォルトの位置情報サービスプロバイダーであるGoogle Location Servicesに送信して、現在地の推定値を取得します。その場所の推定値は、要求元のWebサイトと共有されます。
同意しないと言うと、Firefoxは何もしません。

および 「方法Chrome位置を決定する方法」

Google Chromeが現在地をサイトと共有することを許可すると、ブラウザはローカルネットワーク情報をGoogle位置情報サービスに送信して現在地の推定値を取得します。ブラウザは現在地をサイトをリクエストする:あなたは彼らとあなたの位置を共有する前にウェブサイトのプライバシーポリシーを調べるべきです。

8
Nobin Thomas

Update4の最後の質問への私の推測は、おそらくあなたが使用しているデバイスに基づいて、あなたの位置を時々更新しているということです。たとえば、PCのみを使用してWebにアクセスし、近くに既知のWi-Fiネットワークがない場合、場所はIPアドレスによって決定されますが、ネットワークに関する情報は収集されます。後でiPhoneまたは他のデバイスを接続すると同じWi-FiネットワークへのGPSでGPSを使用すると、GoogleはそれらのGPS座標をWi-Fi SSIDまたはIPアドレスに一致させます。そのため、その後、PCのブラウザーが地理位置情報のリクエストを送信するたびに、IPとSSIDが一致するかどうか(また、近隣のSSIDなど、他の多くの要素も一致するかどうか)をチェックし、一致する場合は戻りますGPS搭載デバイスによって以前に決定された場所。もちろんこれは推測に過ぎませんが、GPSを搭載したデバイスをネットワークに接続したことがない場合でも、正確に判断できます。これは、近隣のWi-Fiネットワークが原因である可能性があります。 google。で既に知られています。それは彼らが行う素晴らしい仕事です、確かに:)

更新:
Firefox
Google Chrome

3
Aram

HTML5 Geolocationは、ユーザーの地理的位置を取得するために使用されるアプリケーションプログラミングインターフェイスです。地図または座標を介してクライアントの位置を特定します。HTML5Geolocation APIは、ユーザーの地理的位置を取得するために使用されます。残念ながら、これはユーザーのプライバシーを侵害する可能性があるため、ユーザーが承認しない限り、ポジションは利用できません。 W3Cは、ユーザーまたはクライアント側のデバイスがJavaScriptを使用して地理的位置情報を効率的に取得できるようにする一連のAPIを開発しました。

ジオロケーションは、顧客と対話し、視覚的な指示を与えるときに非常に便利です。これを使用して、クライアントに場所を表示し、Webサイトに表示できます。

続きを読む click-here

0
Srikrushna Pal