2012-02-22 2 views
4

モバイルウェブサイトのユーザーの場所を(できるだけ正確に)追跡する方法はありますか?モバイルウェブサイトのユーザーの場所を確認する

私は、誰かを見つける最善の方法はGPS経由であることを認識していますが、それがモバイルウェブサイトから可能かどうかはわかりません。また、デバイスのIPアドレスを使ってユーザーの場所を大雑把に追跡できることも知っていますが、これが最善の方法であるかどうかはわかりません。

例としてGoogle Mapsを見ると、Google Mapsウェブサイトは、iPhoneまたはAndroidデバイスを使用して、現在地をほぼ正確に追跡できます。これは、これらのサイトがデバイスのGPS機能を有効にしているか、これを達成するために何か他のことが起こっているからですか?

私が作成しようとしているウェブサイトは、スマートフォンデバイス(Android/iPhone/Blackberry/Windows Phoneなど)で動作することが理想的ですが、スマートフォン以外のデバイスでも動作することができます現在の場所を照会するためのGPS技術が組み込まれています。

誰もがこれを達成できる最良の方法を提案できますか? GeoLocationなどの既存の位置情報ライブラリが広く推奨されていますが、これらはGPS技術が利用可能でないデバイスと互換性がありますか?

ありがとうございます。

+0

携帯電話が登録されている場所を確認することはできますか?または電話機の現在の位置? (また、私はWIFIを使用していないと仮定します) – rcs20

+0

理想的には、ユーザーが現在ページアクセス時に位置している場所。 Webリクエストは3GやWiFiを介して行われる可能性がありますが、主に3Gだと思います。 – Jonk268

答えて

9

HTML5ジオロケーションAPIは、サポートするデバイスで使用できます。利用可能な最も正確な場所、つまりA-GPSまたはWi-Fiロケーションが返されます。

たとえばtutorial on how to use geolocationをJavaScriptで表示します。

基本的には、ジオロケーションサポートのためにテストし、位置を要求:

if (navigator.geolocation) { // device can return its location 
    navigator.geolocation.getCurrentPosition(function(position) { 
     console.log(position.coords.latitude); 
     console.log(position.coords.longitude); 
    } 
} 

彼らは彼らの現在の場所かどうかを共有したい場合は、このコードは、ユーザーにプロンプ​​トが表示されますことを、注意してください。

+0

フィードバックいただきありがとうございます。このAPIは間違いなく良好に見えますが、非GPSベースの場所を非常にうまく検出しないことに少し心配しています。理解できますが、非GPS電話で実行されているこのAPIがデスクトップマシンよりもうまく機能するかどうかは疑問です。 – Jonk268

+0

場所の正確性は保証されていません。一般的に、電話機は、それ自体を見つけることができるあらゆる手段を使用しますが、デスクトップマシンのIPアドレスは、最高で都市レベルの場所を提供します。 Geolocation APIを使用すると、返された位置の精度を 'position.coords.accuracy'で読み取ることができます –

+0

ああ大丈夫です。 GPSデバイスがいつ存在しないのかを伝える方法はありますか?その場合、おそらくページに「自分の場所を見つける」ボタンは表示されません。 – Jonk268

関連する問題