1

CLLocation.speed用来获得设备移动的速度,但我每次都得到 0。我试过

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

问题是它偶尔会给出错误的速度。

4

1 回答 1

1

有一个小配置可以帮助您:

  1. CLLocationManager除非用户在当前位置移动到圆圈外,否则不会向您发送更新。您可以控制圆的半径(使其更小),以便获得更精细的更新。见distanceFilter

  2. CLLocationManager有一个精度控制,您希望将其设置为最佳水平。请参阅期望的准确度。

你最好的选择就是不断地计算这个“速度”并使用一个弱低通滤波器来平滑结果。

另请参阅此问题以获取更多信息:iPhone CoreLocation:如何获得最准确的速度

于 2009-11-11T05:16:15.720 回答