デバイスの移動速度を取得するために使用CLLocation.speed
していますが、毎回0になります。私は試した
speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])
問題は、たまに間違った速度を出すことです。
デバイスの移動速度を取得するために使用CLLocation.speed
していますが、毎回0になります。私は試した
speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])
問題は、たまに間違った速度を出すことです。
あなたを助ける小さな設定があります:
CLLocationManager
ユーザーが現在の場所で円の外側に移動しない限り、更新は送信されません。円の半径を制御して(小さくして)、より洗練された更新を取得できます。distanceFilterを参照してください。
CLLocationManager
最高レベルに設定したい精度コントロールがあります。desiredAccuracyを参照してください。
最善の策は、この「速度」を継続的に計算し、弱いローパスフィルターを使用して結果を滑らかにすることです。
詳細については、この質問も参照してください。iPhone CoreLocation:最も正確な速度を取得する方法。