【问题标题】:What's the difference between distance from CLLocationManager and CMPedometerCLLocationManager 和 CMPedometer 的距离有什么区别
【发布时间】:2015-10-28 00:05:52
【问题描述】:

我正在根据http://www.raywenderlich.com/97944/make-app-like-runkeeper-swift-part-1 上的在线教程编写一个正在运行的应用程序。 在本教程中,用户从开始运行的距离是使用 CLLocation 中的“distanceFromLocation”方法从两个最新记录的位置计算得出的。然而,在 CMPedometer 中还有一个可以直接检索的距离数据。那么我应该使用哪一个?为什么?

谢谢

【问题讨论】:

  • 请注意,CMPedometer 依赖于Apple M7/8/9 chip(在 iPhone5S 和更高版本的设备上可用)但效率更高,因为它使用专用硬件来收集和处理传感器数据。也许“混合”解决方案值得研究。

标签: ios ios9 core-location


【解决方案1】:

CMPedometer 依靠现代 iPhone 中内置的运动跟踪芯片来测量设备所有者的步数和行进距离。它能够使用运动数据估计所走的步数,并使用步数和估计的步长推断用户行进的距离。如果距离估计足以满足您的目的,那么CMPedometer 是一种简单、高效的跟踪行驶距离的解决方案。

另一方面,如果您希望报告的距离尽可能准确,您应该使用CLLocation 并计算用户在锻炼时经过的每个位置之间的距离。这需要更复杂的代码和准确的 GPS 信号。作为一项额外的好处,您将能够使用位置数据,例如,绘制用户在锻炼时跑步的位置的地图。

【讨论】:

    猜你喜欢
    • 2019-07-03
    • 2016-08-15
    • 2016-06-24
    • 2016-05-19
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    相关资源
    最近更新 更多