私は、Androidプラットフォームのアプリで一定期間にわたって経過した距離を計算しようとしています。
これを行うにはどうすればよいですか?
現在、私はLocationListenerインターフェイスを実装しています。
私はメソッドをオーバーライドしていますが、私は現在、このような何かやっているある期間に渡って移動距離を計算する最良の方法は何ですか?
をonLocationChanged:だから私は「新しい場所ポイントに古い地点から今までの時間を距離を追加してい
public void onLocationChanged(Location location) {
Log.d("onLocationChanged", "onLocationChanged");
old_location.set(new_location);
new_location.set(location);
totalDistanceElapsed += new_location.distanceTo(old_location);
}
をonLocationChanged "と呼ばれています。 これが正しいですか? 他に何かする必要がありますか? これは正確でしょうか?そうでない場合は、どうすればより正確にすることができますか?ありがとう
それはどれくらいの安心感があるのですか?私にとって、最良の方法は、g回の位置をx回(例えば30秒)記録して距離を計算することです。状況に応じて変化する可能性があります...別の方法は、速度に基づいてサンプル時間を計算することです。つまり、スピードが速ければサンプルレートが向上します。 – ykatchou
良い質問。 1つのプロパティtotalDistanceElapsedには、移動しないときに増加しないプロパティが必要です。正確な場所がわからないので、電話が動いていないところでtotalDistanceElapsedが増加しないことを確認するテストをお勧めします。実際に増加している場合は、許容範囲を下回る場合にイベントを破棄する10mの許容値を追加することができます。 –
ありがとうございました "どこに電話が動いていないかテストする"方法がわかりません もう一度お寄せください。ありがとうございました – dewijones92