如何利用iPhone中的加速度计功能在步行时计算距离?
如何利用iPhone中的加速度计功能在步行时计算距离?
您无法使用加速度计来确定距离。
如果我静止不动,加速度计仅会检测到由于重力引起的加速度。这显然将步行距离设置为0。
但如果我以恒定的速度行走,并在行走时启动您的应用程序,则我的加速度也为零,因此加速度计再次仅检测到由于重力引起的加速度。情况与上述相同,步行距离为0,这是不正确的。
更不用说处理设备方向变化引起的加速度变化的困难了。
您需要使用核心位置技术来计算任何与距离有关的内容。您可以使用加速度计来实现计步器,但那只能计算步数,而不能计算距离。
这个问题最好使用核心定位来解决。
实际上,在Bill Dudney和Chris Adamson的《iPhone SDK Development》第24章“iPhone定位API”中创建了一个计算步行距离和速度的示例应用程序(iPhone SDK开发)。