这是一个一般性问题,旨在就计算用户运行或游泳时的速度/配速/速度所需的模式寻求建议。
具体来说,我希望能够在与配套手机断开连接的情况下,通过 watch OS 进行计算。
借助 Watch 3/Watch OS 10.0 的 GPS 功能,最好的方法是:
- 启动位置管理器
- 计算定位点之间的距离和时间...
- 计算平均速度?
或者有更好的选择吗?
这里有一篇好文章https://www.bignerdranch.com/blog/watchkit-2-hardware-bits-the-accelerometer/建议使用 CoreMotion 来提高设备速度。然而,在我看来,这更像是“设备速度”,而不一定是用户的距离速度。
如有任何建议或经验,我们将不胜感激。
谢谢。
最佳答案
您链接到的文章适用于 WatchOS 2,而不是 Watch 2。运动跟踪非常好,但要获得准确的设备速度,您仍然需要使用 GPS。
如果您不需要进行任何其他与位置相关的计算,并且不需要实时数据(编辑,您可以使用 HKAnchoredObjectQuery
。这对大多数情况来说已经足够了)然后你不需要启动位置管理器,只需要一个 HKWorkoutSession。这将默认使用 GPS 或运动数据(当时更准确/可用)并为您管理一切。锻炼结束后,您可以查询距离样本并据此计算配速。
如果您需要实时运动数据,那么您概述的步骤是正确的,但是您应该先检查用户是否在户外。如果用户在室内或 GPS 信号较弱,请切换到使用运动数据(如果使用 HealthKit,请务必适当设置 HKMetadataKeyIndoorWorkout
)。
关于ios - HealthKit Watchos - 计算速度或 'Pace',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39757716/