私のアプリケーションでは、ユーザーの現在の場所を特定したいと考えています。ただし、この点に関していくつか質問があります。
さまざまな位置情報プロバイダーがありますが、最も正確なのはどれですか? GPSプロバイダーまたはネットワーク プロバイダー?
これらの利用可能なプロバイダーはどの程度異なりますか? それらはどのように機能しますか?
私のアプリケーションに GPS 機能を実装する方法について、いくつかのコード スニペットまたはチュートリアルを教えてください。
私のアプリケーションでは、ユーザーの現在の場所を特定したいと考えています。ただし、この点に関していくつか質問があります。
さまざまな位置情報プロバイダーがありますが、最も正確なのはどれですか? GPSプロバイダーまたはネットワーク プロバイダー?
これらの利用可能なプロバイダーはどの程度異なりますか? それらはどのように機能しますか?
私のアプリケーションに GPS 機能を実装する方法について、いくつかのコード スニペットまたはチュートリアルを教えてください。
Androidには3つのロケーションプロバイダーがあります。
彼らです:
gps –>(GPS、AGPS): GPSロケーションプロバイダーの名前。このプロバイダーは、衛星を使用して場所を決定します。条件によっては、このプロバイダーがロケーションフィックスを返すまでに時間がかかる場合があります。権限android.permission.ACCESS_FINE_LOCATIONが必要です。
ネットワーク–>(AGPS、CellID、WiFi MACID):ネットワークロケーションプロバイダーの名前。このプロバイダーは、セルタワーとWiFiアクセスポイントの可用性に基づいて場所を決定します。結果は、ネットワークルックアップによって取得されます。権限android.permission.ACCESS_COARSE_LOCATIONまたはandroid.permission.ACCESS_FINE_LOCATIONのいずれかが必要です。
パッシブ–>(CellID、WiFi MACID):実際にロケーション修正を開始せずにロケーションを受信するための特別なロケーションプロバイダー。このプロバイダーは、他のアプリケーションやサービスが実際に自分で場所を要求することなく、場所の更新を要求したときに、受動的に場所の更新を受信するために使用できます。このプロバイダーは、他のプロバイダーによって生成された場所を返します。android.permission.ACCESS_FINE_LOCATION権限が必要ですが、GPSが有効になっていない場合、このプロバイダーは大まかな修正のみを返す可能性があります。これはAndroidがこれらのロケーションプロバイダーと呼んでいるものですが、これを機能させるための基盤となるテクノロジーは、特定のハードウェアと電話会社が提供する機能(ネットワークサービス)のセットにマッピングされています。
最善の方法は、最初に「ネットワーク」または「パッシブ」プロバイダーを使用し、次に「gps」にフォールバックし、タスクに応じてプロバイダーを切り替えることです。これはすべてのケースをカバーし、最小公分母サービス(最悪の場合)と優れたサービス(最良の場合)を提供します。
記事リファレンス:Androidロケーションプロバイダー-gps、network、passive By Nazmul Idris
コードリファレンス:https ://stackoverflow.com/a/3145655/28557
- - - - - - - - - - - -アップデート - - - - - - - - - - - -
今Androidは融合ロケーションプロバイダーを持っています
Fused Location Providerは、基盤となるロケーションテクノロジーをインテリジェントに管理し、ニーズに応じて最適なロケーションを提供します。これにより、アプリがユーザーの現在地を取得する方法が簡素化され、精度が向上し、消費電力が削減されます。
融合ロケーションプロバイダーは、ロケーションを取得する3つの方法を提供します
参照:
公式サイト:http ://developer.android.com/google/play-services/location.html
融合ロケーションプロバイダーの例:GIT:https ://github.com/kpbird/fused-location-provider-example
http://blog.lemberg.co.uk/fused-location-provider
-------------------------------------------------- ------
通常、GPS はネットワークよりも正確ですが、GPS が利用できない場合もあるため、2 つを切り替える必要がある場合があります。
良い出発点は、android dev サイトを確認することです。ユーザーの場所を特定するためのセクションがあり、必要なすべてのコード サンプルが含まれています。
http://developer.android.com/guide/topics/location/obtaining-user-location.html