获取设备移动的速度

Posted

技术标签:

【中文标题】获取设备移动的速度【英文标题】:getting the speed at which device is moving 【发布时间】:2009-11-11 05:00:40 【问题描述】:

我正在使用CLLocation.speed 来,但我每次都得到 0。我试过了

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

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

【问题讨论】:

【参考方案1】:

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

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

    CLLocationManager 有一个精度控制,您希望将其设置为最佳水平。见desiredAccuracy。

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

有关更多信息,另请参阅此问题:iPhone CoreLocation: How to get the most accurate speed。

【讨论】:

以上是关于获取设备移动的速度的主要内容,如果未能解决你的问题,请参考以下文章

Matlab从移动设备获取加速度数据对步数进行计数

如何使用 CMDeviceMotion 检测我的设备运行速度?

Android:使用加速度计的速度计算不正确

Swift:CoreMotion 设备不移动,但记录加速度

实时音频流到移动设备 - 动态播放速度

如何在移动设备上更改 HTML5 视频的播放速度?