Androidでモバイルデバイスの緯度と経度を取得するにはどうすればいいですか? 質問する

Androidでモバイルデバイスの緯度と経度を取得するにはどうすればいいですか? 質問する

位置情報ツールを使用して、Android のモバイル デバイスの現在の緯度と経度を取得するにはどうすればよいですか?

ベストアンサー1

使用LocationManager

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();

の呼び出しはブロックしません。つまり、現在利用可能なポジションがない場合はgetLastKnownLocation()戻ります。そのため、nullLocationListenerrequestLocationUpdates()方法代わりに、位置情報の非同期更新が提供されます。

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        longitude = location.getLongitude();
        latitude = location.getLatitude();
    }
}

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);

申請書には、ACCESS_FINE_LOCATION許可GPSを使用する場合。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

また、ACCESS_COARSE_LOCATION許可GPSが利用できない場合は、getBestProvider()方法

おすすめ記事