ホームページ >Java >&#&チュートリアル >Android の位置マネージャーを使用して現在の位置を確実に取得する方法
Android の位置情報マネージャーを使用して現在の位置を取得する方法
Android の位置マネージャーを使用して現在の位置を取得するのは難しい場合があります。ただし、ナビゲーションや位置ベースのサービスなどの機能が適切に機能することを確認することが重要です。重要なのは、Location Manager を効果的に構成する方法を理解することにあります。
これに関連して、多くの開発者は、NETWORK プロバイダーを使用して位置座標を取得しようとすると困難に直面します。さまざまなコード スニペットを実装したにもかかわらず、多くの場合、古い座標が得られたり、まったく結果が得られなかったりします。ご質問で提供されたコードを調査することで、課題に取り組み、包括的なソリューションを提供します。
コードを理解する
提供されたコードは、Activity クラス ( MainActivity) と追跡クラス (GPSTracker)。
MainActivity クラスは GPSTracker を初期化し、位置情報を取得し、表示します。
GPSTracker クラスは、GPS 測位とネットワーク測位を処理します。 LocationManager を使用して位置の更新を要求し、緯度と経度を取得するメソッドを提供します。
NETWORK プロバイダーの問題のトラブルシューティング
中心的な問題は GPSTracker クラスにあるようです。潜在的な問題とその修正は次のとおりです:
locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this );
private final LocationListener mLocationListener = new LocationListener() { @Override public void onLocationChanged(final Location location) { // Update your location here } };
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
boolean isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
NETWORK の場所の代替アプローチ
上記のアプローチが利用できない場合うまくいかない場合は、Fused Location Provider を使用して別の方法を試してください。 API:
LocationServices.FusedLocationApi.requestLocationUpdates( mGoogleApiClient, mLocationRequest, mLocationListener, Looper.getMainLooper() );
このメソッドは、複数の位置情報ソースを組み合わせて、可能な限り最高の位置精度を提供します。
これらの変更により、NETWORK プロバイダーがアプリ内で正確な位置情報の更新を提供することを保証できます。
以上がAndroid の位置マネージャーを使用して現在の位置を確実に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。