另一个明显的选择是使用加速计尝试计算速度,但API中没有任何帮助您这样做的内容。根据我的研究,应该可以做到这一点,但似乎非常复杂和容易出错。从加速度到速度的转换本来就很棘手,再加上iPhone加速度计数据可能会产生“噪声”。我熟悉演示使用低/高通滤波等的SDK示例--但我还没有看到任何很好的示例显示如何计算速度。
有人有任何实际经验可以分享吗?代码将是很棒的,但我只想知道是否有人已成功完成此操作(对于长寿命的应用程序)以及他们采取的方法。
编辑:我有一个使用LocationManager API的工作原型。它运行良好,但更新周期远非测量速度的实时测量的理想选择。根据情况,有时需要花费4-5秒钟才能更新。以给定速度巡航往往可以正常工作,但加速/减速往往从用户交互的角度严重滞后。此外,我需要将速度输入到我正在进行的其他计算中,精度并不是我所需要的。
根据我看到的其他应用程序(非常少),例如gMeter,它声称不使用GPS但可以准确计算速度,这似乎是可能的。我真的很惊讶,我找不到任何参考资料或演示此功能的示例代码。我知道这很复杂,但肯定有一些东西存在。