我需要我的应用程序执行不同的操作,具体取决于持有电话的人移动的速度。我认为最好的方法是:(在伪代码中)
function mySpeed(){
float speed = location.getSpeed();
if(speed > minSpeed){
// Do this
}else{
// Do that
}
}
在这种情况下,getSpeed()的效果如何?有没有人能想到更好的方式。也许加速度计?
答案 0 :(得分:3)
getSpeed()方法与GPS提供的位置一样准确。根据你所处的位置,这可以是+/-任何方向的步行速度。如果能够做到这一点,更好的方法是在更大的方向上计算速度。获取并保存一个位置,然后观察位置,直到保存位置与当前位置之间的距离为几百米,然后使用距离/时差来计算速度。
我无法想象长时间集成加速度计(你必须做的计算速度)会非常准确,但可能值得一试。