2011-09-24 11 views
13

HTML5の地理位置情報からあなたの現在地を共有できるのはなぜですか?地理位置情報を使用する主な目的は、IPアドレスのある場所を取得できることです。これらの2つの方法に違いはありますか?なぜHTML5のジオロケーションですか?

ジオロケーションにはユーザーの許可が必要なため、すべてのブラウザで動作しないため、質問しています。

+0

を。 IPアドレスを指定したISPの場所を指定するのが最善の方法です。私はかつて英国からのIPアドレスを持っていた米国の会社で働いていました... –

+1

@ John Saunders - 公正であるためには、IPアドレス自体が間違った場所にあるのではなく、IPロケーションデータベースが最新の状態に保たれていないということです。 – Spudley

+2

なぜですか? 「IPロケーションデータベース」は決して存在しておらず、決して特定のIPアドレスを使用するコンピュータのロケーションのデータベースではありません。これは、IPアドレスを与えたインターネットサービスプロバイダの場所のデータベース以上のものではありません。せいぜい、ISPがIPアドレスを使用する場所を保持することができます。私の場合、実際にはルーティングはロンドンで行われていたので、米国のパケットはすべてイギリスを経由しました! –

答えて

11

HTML5 GeoLocationは、と多くの場合、IPベースのGeoLocationよりも正確です。

IPベースのGeoLocationは、ISPに関連付けられているデータベースによって異なります。これは、ISPが非常に広いエリアにサービスを提供し、動的IPアドレスを提供している場合にはうまく機能しません。今日のある町の住所は明日100マイル離れているかもしれません。さらに、これらのデータベースは通常、頻繁に更新されません。あなたのISPがIPのブロックを売り払ったり、新しい町に移したりすると、データベースは間違いなくあなたが別の場所にいると思うかもしれません。

HTML5ロケーションでは、ブラウザが提供するサービスを使用して現在地を把握しています。お使いのコンピュータにGPSが搭載されている場合(モバイルデバイスやノートパソコンなど)、は正確にになります。これにより、ナビゲーションやロケーションコンポーネントを持つWebアプリケーションの方がはるかに便利になります。 GPSが搭載されていないデバイスの場合、インターネットに接続するときにコンピュータが通過するルーターをトレースするなど、近くの既知のワイヤレス信号やその他の要因に基づいて非常に良い近似を提供することがあります。正確な実装は、コンピュータ、使用可能なハードウェア、ブラウザがどのように処理を選択するかによって異なります。

たとえば、IPベースの位置情報サービスをチェックすると、私が住んでいるのと同じ一般的なエリアにある特定の大都市にいると言われますが、実際には約50マイル離れています。 HTML5ロケーションベースのサービスを使用して私がどこにいるか把握すると、約20分だけオフになりますブロック

ロケーションデータが必要なWebアプリケーションを開発する場合は、可能であれば、HTML5 GeoLocationを使用してを使用してください。フォールバックを設定して、の場合、 HTML5の位置に問題が発生した場合は、代わりにGeoIPソリューションを使用できます。このようにして、サポートされているブラウザやデバイスで最適な精度を得ることができますが、HTML5データが利用できない場合でもソリューションが提供されます。

あなたがgeolocation-javascript project from Google Codeを使用した場合は、次のコードを使用することができます:あなたはIPアドレスを使用して_accurate_場所を取得することはできません

//determine if device has geo location capabilities 
if(geo_position_js.init()){ 
    geo_position_js.getCurrentPosition(success_callback,error_callback); 
} 
else{ 
    // use an AJAX request to look up the location based on IP address 
} 
+1

'error_callback'はAjaxリクエストを作成するかもしれないので、単に' else'ブロックで 'error_callback()'を呼び出すことができます。 –

+0

@ alpha123良い点は、それを行うより効率的な方法でしょう。 – nhinkle

8

Geolocationはlotより正確ですが、両方とも偽装することはできますが、より正確です。

IPアドレスはあなたに国と一般の地域を与えます。

地理位置はあなたに与える:(これを測定することができるデバイスにしていると仮定すると、ほとんどのタブレットやスマートフォン缶)

  • 地理座標(緯度と経度)
  • を高速
  • 高度(この北から時計回りに)、デバイスに依存している
  • 度(再度、デバイスを仮定すると、これを支持する)

http://diveintohtml5.ep.io/geolocation.htmlには、ジオロケーションとHTML5ジオロケーションAPIに関する優れた情報があります。 Here's W3Cの候補者の勧告。

2

表示される主な違いは、精度です。 IPアドレスは誰かがどこにいるのかという非常に一般的な考えを与えるだけです...ジオロケーションは正確にどこにいるかを教えてくれます。ジオロケーションの詳細については、hereをご覧ください。正確さのデモが見つかります。here

1

HTML5ジオロケーションは、クライアント(ブラウザ)にマシンの位置情報を提供する可能性を与えます。これは、潜在的にIP位置よりも正確なオーダです。たとえば、クライアントには実際のGPSハードウェアがインストールされているか、GSMまたはWiFiスポットで位置を三角測量することができます。一方、IPによる位置は非常に荒く、必ずしも正確で誤っているとは限りません。

2

IPアドレスを使用してユーザーの所在地を取得することは、それほど正確ではありません。 IPアドレスの場所は、ほとんどの場合、実際のサーバーの場所に基づいており、要求することができます。多くの場合、これは実際のユーザーの場所から離れているため、基本領域のみを提供します。

HTML5ジオロケーションは、より正確ですが、ユーザーの情報は場所を特定するために使用され、他のいくつかのものとともにスピードが速くなることもあります。これは利用可能な場合はデバイスのGPSに基づいており、そうでない場合はユーザーが入力した情報に基づいています。明らかにこれはより正確です。どちらの方法も偽装することができます。

2

住所をIPアドレスで取得するだけでは、漠然とした場所になることはほとんどありません(場所やISPによっては町よりも精度が高くなることはほとんどなく、しばしばそれよりはるかに正確ではありません)。

また、VPNを使用して私の会社のネットワークに接続すると、私はオフィスのIPアドレスを持っているので自分のオフィスにいると表示されますが、実際には接続できます世界のどこでも。

HTML5のジオロケーションははるかに正確です - あなたのデバイスにGPSレシーバーがある場合、それは完全に正確ですが、それがなくても、人口の多いエリアでは20mの精度で位置を取得できます。ローカル無線ネットワーク信号をマッピングすることにより、より少ない。そして、あなたがどのように接続しているかは関係ありません。常に正確です。

HTML5のジオロケーションは非常に正確であるため、プライバシーリスクとみなされます。そのため、サイトでは、あなたのコロケーションデータを使用する前に許可を与える必要があります。また、すべてのブラウザまたは機械が、ゲル化データを提供することができるわけではない。したがって、ウェブサイトは提供していないユーザーに対処できなければならず、提供されていることに頼ることはできません。

IPアドレスの場所には、公開されているIPロケーションマッピングデータを使用してサーバーが場所のマッピングを行うため、この種の制限はありません。エンドユーザは自分のIPアドレスを与えることを避けることができないため、IPアドレスを使用しているWebサイトのマッピングを妨げることはできません。

したがって、2つは完全に異なります。

関連する問題