我正在使用CLLocation.speed
来提高设备的移动速度,但每次都是0。我试过了
speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])
问题是它偶尔提供错误的速度。
答案 0 :(得分:1)
有一些配置可以帮助你:
CLLocationManager
除非用户移动到当前位置的圆圈外,否则不会向您发送更新。您可以控制圆的半径(使其更小),以便获得更精细的更新。请参阅distanceFilter。
CLLocationManager
具有精确度控制,您希望将其设置为最佳级别。请参阅desiredAccuracy。
您最好的选择就是不断计算这个“速度”并使用弱的低通滤波器来平滑结果。
有关详情,请参阅此问题:iPhone CoreLocation: How to get the most accurate speed。