这是一个普遍的问题,寻求在跑步或游泳时计算用户速度/速度/速度所需模式的建议。
具体来说,我希望能够从手表操作系统计算出来,与配套手机断开连接。
使用Watch 3 / Watch OS 10.0的GPS功能,最好的方法是:
还是有更好的选择吗?
这里有一篇很好的文章https://www.bignerdranch.com/blog/watchkit-2-hardware-bits-the-accelerometer/建议使用CoreMotion来提高设备速度。但是,在我看来,这更像是设备速度'而不一定是用户的距离速度。
非常感谢任何建议或经验。
感谢。
答案 0 :(得分:2)
您链接的文章适用于WatchOS 2,而非Watch 2.动作跟踪非常好,但要获得准确的设备速度,您仍需要使用GPS。
如果您不需要进行任何其他与位置相关的计算,并且不需要实时数据(编辑,您可以获得{{1}附近的实时数据这对于大多数情况来说已经足够了)然后您不需要启动位置管理器,只需要HKWorkoutSession。这将默认使用GPS或运动数据(当时更准确/可用)并为您管理一切。当训练结束时,您可以查询距离样本并从中计算速度。
如果您需要实时动态数据,那么您概述的步骤是正确的,但您应该检查用户是否在户外。如果用户在室内或GPS信号较弱,请切换到使用运动数据(如果使用HealthKit,请务必正确设置HKAnchoredObjectQuery
。)