2010-01-12 75 views
4

如何在iPhone中使用加速计功能计算行走距离?逻辑在iphone中使用加速度计功能行走时计算步数

+1

这不是一个完整的答案,但如果你真的必须使用加速度计这个话,我认为你必须实现一个计步器。它只是一个加速度计,而不是惯性导航系统。 – Nimrod 2010-01-12 06:21:09

+0

任何一个可以帮助示例代码的步骤计数加速度计 – 2011-02-08 06:49:16

回答

1

它可能会更有意义,使用Core Location这一点。

实际上,Bill Dudney和Chris Adamson在第24章“iPhone位置API”iPhone SDK Development中创建了计算步行距离和速度的示例应用程序。

+1

这将是理想的,如果可能的话,但它假定你有一个iPhone,而不是没有GPS的iPod Touch。 – Nimrod 2010-01-12 06:19:31

+1

核心位置可在所有设备上使用,但显然,根据应用程序不同,可能会首选或需要带GPS的设备。 – gerry3 2010-01-12 06:24:20

2

您无法使用加速计来确定距离。

如果我在休息时,加速度计只检测重力加速度。这显然设置步行距离为0

但是如果我以恒定速度行走,并边走边启动您的应用程序,我的加速度也为零,从而再次加速由于重力只检测加速度。情况与上面相同,步行距离为0,这是不正确的。

且不说在处理由于设备的方向加速度的变化的难度。

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

+0

嘿,我得到了逻辑。得到加速度矢量后,我们可以通过设定的某个阈值来检查它。如果它匹配或接近。计数递增,然后我们间接获得步数。然后 步数*步长=移动的距离。 – user247514 2010-01-16 05:11:44

+1

其实你可以。您需要对加速度进行两次积分以获得位置(加速度=>速度=>位置)。我已经使用Wii Remote(!)完成了这个工作,它可以工作,但你需要一个非常受控制的环境。任何颠簸或震动都会使它完全混淆。 – 2010-06-28 18:45:44