在iphone中使用加速度计function来计算步数的逻辑

如何在iPhone中使用加速度计function来计算行走距离?

您不能使用加速计来确定距离。

如果我处于rest状态,则加速度计仅检测由于重力引起的加速度。 这显然将步行距离设置为0。

但是,如果我以恒定速度行走,并在行走时启动应用程序,则我的加速度也为零,因此加速度计仅会再次检测由于重力而引起的加速度。 情况与上面相同,步行距离为0,这是不正确的。

更不用说处理由于设备的定向引起的加速度变化的困难。

需要核心位置来计算任何与距离有关的东西。 您可以使用加速计来实现计步器,但只能计算步数,而不能计算距离。

这可能会更有意义的使用核心位置 。

实际上,Bill Dudney和Chris Adamson在iPhone SDK开发的第24章“iPhone Location API”中创build了一个计算步行距离和速度的示例应用程序。