2010-01-12 68 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