1

デバイスの移動速度を取得するために使用CLLocation.speedしていますが、毎回0になります。私は試した

speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])

問題は、たまに間違った速度を出すことです。

4

1 に答える 1

1

あなたを助ける小さな設定があります:

  1. CLLocationManagerユーザーが現在の場所で円の外側に移動しない限り、更新は送信されません。円の半径を制御して(小さくして)、より洗練された更新を取得できます。distanceFilterを参照してください。

  2. CLLocationManager最高レベルに設定したい精度コントロールがあります。desiredAccuracyを参照してください。

最善の策は、この「速度」を継続的に計算し、弱いローパスフィルターを使用して結果を滑らかにすることです。

詳細については、この質問も参照してください。iPhone CoreLocation:最も正確な速度を取得する方法

于 2009-11-11T05:16:15.720 に答える