2016-03-04 51 views
2

我正在開發一個用於檢測用戶當前動作的項目,我使用CMMotionActivityManager進行這些動作,包括「固定」,「行走」,「汽車」,「跑步」。 現在有一個要求,我需要知道人們停放汽車時的位置。但事情是,我只需要最後停車時的位置。如何消除停車標誌的影響。 因爲人們開車時總是停下來。iOS CMMotionActivity Manager,汽車停車時如何檢測停車標誌?

如果汽車停了下來,然後狀態將是「固定的,1,散步,0,運行,0,汽車,1,騎自行車,0」

如果汽車在汽車運動中,狀態:'靜止,0,走路,0,跑步,0,汽車,1,騎車,0'

如果汽車處於靜止運動:'靜止,1,行走,0,跑步,0,汽車,0,騎自行車,0'

這是代碼的一部分:

 if (activity.automotive && activity.stationary) { 
    //stop signs status 
    } 
    if (activity.automotive && !activity.stationary) { 
    //automotive      
    }   
    if (!activity.automotive && activity.stationary && activity.confidence == CMMotionActivityConfidenceHigh) { 
    //stationary with a high confidence 
    } 

但是系統不能那麼敏感,它不能確定用戶是停下來停車,還是停下來。 既然它不夠靈敏,我不知道如何提高檢測的準確性,如果人們最終停下車。

回答

0

汽車停放時發出信號的方法可以基於用戶的下一個動作。讓汽車真實和固定的真實會告訴你,車輛已停止。隨後的行動將告訴你他們接下來做什麼。在停車標誌的情況下,下一個動作是開走,所以汽車將是真實且固定的假。在停車的情況下,用戶可以離開汽車並步行,所以這將是汽車虛假和行走的真實情況。