このコードを使用して、「LocationManager」によってロケーション リスナーを作成しました。
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 100, mListenerNetwork);
そしてリスナー:
LocationListener mListenerNetwork = new LocationListener() {
public void onLocationChanged(Location location) {
// New Location by LocationManager
}
public void onProviderDisabled(String provider) { }
public void onProviderEnabled(String provider) { }
public void onStatusChanged(String provider, int status, Bundle extras) { }
}
そして、私はグーグルマップAPIによるリスナーを持っています:
getMap().setOnMyLocationChangeListener(this);
そしてリスナー:
public void onMyLocationChange(Location location) {
// New Location by GoogleMaps
}
アプリケーションをデバッグしたところ、リスナー内の場所が異なっていることに気付きました! それ以上に、位置の精度が大きく異なります。Google マップの精度は、LocationManager の精度の半分です (少ないほど良い)。
場所がこんなに違うのはなぜ?