0

以下に貼り付けたのは、ユーザーから座標を取得するための私のクラスです。しかし、緯度と経度が null になることがあります。十分なネットワークがないか、建物の中にいるなどの理由があることはわかっていますが、奇妙なことに、その瞬間に Google マップまたは他の地図アプリにアクセスすると、「地理位置情報」が表示されます。私」ボタンは完全に機能します。

他の人が見逃していないものは何ですか?

public class LocationActivity extends BaseActivity {

private LocationManager locationManager = null;

LocationListener onLocationChange=new LocationListener() 
{
    public void onLocationChanged(Location loc) {
        LocalSession.lat = loc.getLatitude();
        LocalSession.lng = loc.getLongitude();
    }

    public void onProviderDisabled(String provider) {}

    public void onProviderEnabled(String provider) {}

    public void onStatusChanged(String provider, int status, Bundle extras) {}
};

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
}

@Override
public void onPause() {
    super.onPause();
    locationManager.removeUpdates(onLocationChange);
}

@Override
public void onDestroy() {
    super.onDestroy();
    locationManager.removeUpdates(onLocationChange);
}

@Override
public void onResume() {
    super.onResume();
    try {
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,10000.0f,onLocationChange);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,10000.0f,onLocationChange);
    } catch (Exception e) {
    }
}

}

4

3 に答える 3

0

私の提案は、NETWORK_PROVIDER と GPS_PROVIDER の両方を同時に使用し、両方の結果をカルマン フィルターに入力することです。使用される情報が多いほど良い。カルマン フィルター手法は、GPS とネットワーク プロバイダーの両方の精度推定値が信頼できる場合に優れています。

于 2013-05-17T10:27:01.167 に答える