Android では、緯度と経度を含むモバイル デバイスの現在位置を取得することが一般的な要件です。これを実現するために、LocationManager API にはいくつかのオプションが用意されています。
簡単な方法の 1 つは、LocationManager の getLastKnownLocation() メソッドを使用することです。このメソッドは、GPS などの特定の位置情報プロバイダーの最新の既知の位置を取得します。
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); if (location != null) { double longitude = location.getLongitude(); double latitude = location.getLatitude(); }
継続的に位置情報を更新するには、requestLocationUpdates() メソッドを使用する必要があります。 。このメソッドは引数として LocationListener を受け取り、位置が変更されたときにコールバックを提供します。
private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { double longitude = location.getLongitude(); double latitude = location.getLatitude(); } }; lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
GPS またはその他の位置情報サービスを使用するには、Android アプリケーションに ACCESS_FINE_LOCATION 権限が必要です。 。この権限は AndroidManifest.xml ファイルで宣言する必要があります。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
GPS 機能を備えていない可能性があるデバイスの場合、ACCESS_COARSE_LOCATION 権限を追加して、ネットワークベースの位置情報プロバイダー。さらに、 getBestProvider() メソッドを使用して、現在の状況に基づいて最適な位置情報プロバイダーを選択できます。
以上がAndroid で LocationManager を使用して緯度と経度を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。