ユーザーの緯度経度情報を取得したい。ACCESS_FINE_LOCATION は提供できますか? 「GPS、携帯基地局、Wi-Fi などの位置情報源から正確な位置情報にアクセスすることをアプリに許可します。」
では、「GPS」はどのような種類のデータを提供するのでしょうか? ユーザーの緯度と経度の情報が欲しいだけです。実装方法を教えてください。
どうもありがとうございました。
ユーザーの緯度経度情報を取得したい。ACCESS_FINE_LOCATION は提供できますか? 「GPS、携帯基地局、Wi-Fi などの位置情報源から正確な位置情報にアクセスすることをアプリに許可します。」
では、「GPS」はどのような種類のデータを提供するのでしょうか? ユーザーの緯度と経度の情報が欲しいだけです。実装方法を教えてください。
どうもありがとうございました。
LocationManagerは、システム ロケーション サービスへのアクセスを提供するクラスです。
LocationManager を使用するには、2 つの権限のいずれかが必要です
ACCESS_COARSE_LOCATION または ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
GPSにアクセスできないため、おおよその位置情報を提供し、セルタワーとWi-Fiのみを使用しますが、バッテリーの使用量とパフォーマンスは安価です.
ACCESS_FINE_LOCATION
GPS にアクセスして緯度と経度の情報を提供するため、より正確ですが、より多くのリソースを消費します。
したがって、緯度と経度の情報をより正確に取得したい場合は、ACCESS_FINE_LOCATION
使用許可
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
次に、現在の場所を取得します
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
...
}
@Override
public void onLocationChanged(Location location) {
//Use Location information from here
Log.d("Latitude:" + location.getLatitude() + ", Longitude:" + location.getLongitude());
}
@Override
public void onProviderDisabled(String provider) {
Log.d("Latitude","disable");
}
@Override
public void onProviderEnabled(String provider) {
Log.d("Latitude","enable");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d("Latitude","status");
}