我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
有一个精度控制,您希望将其设置为最佳水平。请参阅期望的准确度。
你最好的选择就是不断地计算这个“速度”并使用一个弱低通滤波器来平滑结果。
另请参阅此问题以获取更多信息:iPhone CoreLocation:如何获得最准确的速度。