2

場所の変化を監視するバックグラウンドで実行されるサービスがあり、地図上に「ルート」をプロットします。

問題は、地図上のルートを見ると、一定時間 (数分間) 停止した場所で、自分の場所がその場所を飛び回っていて静止していないことが示されているため、ルートが悪く見えることです。

これを止める方法はありますか?

位置情報更新間の最小距離を変更しようとしましたが、何もしないようです

locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);

    String provider = locationManager.getBestProvider(criteria, true);

    if(provider == null){
        provider = LocationManager.NETWORK_PROVIDER;
    }
    locationManager.requestLocationUpdates(provider,25000,50, this);
4

1 に答える 1

2

問題はコードにあるのではなく、サテライトと GPS の精度にあります。正確な位置を示すことはできません。したがって、次のようなものを作成する必要があります(場所が5メートル未満に変更された場合は通知しないでください)。

アップデート

また、 を使用しlocation.getSpeed();てデバイスの移動速度を取得できるため、変更された場所が信頼できるかどうかを定義できます。サテライトまたは GPS の精度にわずかな不具合がある場合、デバイスはおそらく時速 3480834 km で移動するでしょう。

于 2013-05-10T18:16:07.143 に答える