1

我正在开发一个用于检测用户当前动作的项目,我使用 CMMotionActivityManager 来处理这些动作,包括“静止”、“步行”、“汽车”、“跑步”。现在有一个要求,我需要知道人们停车时的位置。但问题是,我只需要人们最后停车时的位置。如何消除停车标志的影响。因为人们在开车时总是停下来。

如果汽车停止,则状态将为'stationary,1,walking,0,running,0,automotive,1,cycling,0'

如果汽车在汽车运动中,状态:'stationary,0,walking,0,running,0,automotive,1,cycling,0'

如果汽车处于静止状态:'stationary,1,walking,0,running,0,automotive,0,cycling,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
    }

但是系统不能那么敏感,它无法确定用户是因为停车标志而停车还是最终停车。由于它不够灵敏,我不知道如何提高检测人是否最终停车的准确性。

4

1 回答 1

0

一种在汽车停车时发出信号的方法可以基于用户的下一步操作。让汽车为真和静止为真将告诉您车辆已停止。随后的操作将告诉您他们接下来要做什么。在停车标志的情况下,下一个动作是开车离开,这样汽车就会是真实的,而静止的则是虚假的。在停车的情况下,用户可能会离开汽车并步行移动,因此这将是汽车假和步行。

于 2016-07-26T12:00:59.263 回答