2016-03-04 55 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

汽车停放时发出信号的方法可以基于用户的下一个动作。让汽车真实和固定的真实会告诉你,车辆已停止。随后的行动将告诉你他们接下来做什么。在停车标志的情况下,下一个动作是开走,所以汽车将是真实且固定的假。在停车的情况下,用户可以离开汽车并步行,所以这将是汽车虚假和行走的真实情况。