无法正常获得速度值 - 投射不起作用

时间:2016-07-25 13:31:56

标签: android

我目前正试图通过使用GooglePlayServices来获得个人的速度。

我设法连接到服务并获取有关位置的更新,但问题在于计算相关人员的速度 - 也就是说,我无法将时间和距离分开。 / p>

我之前发过这个帖子,有人建议长时间投票会解决问题。它很快被标记为重复,所以我没有继续讨论,但我想说它不起作用。

以下是我目前的代码。

    float Distance = OldLocation.distanceTo(location);
    //Getting Difference in seconds
    long TimeDiff = location.getTime()-OldLocation.getTime();
    float SecondDiff = TimeUnit.MILLISECONDS.toSeconds(TimeDiff);
    //Finally working out speed (m/s)
    if (SecondDiff == 0) {
        SecondDiff = 1;
    }
    float Speed = ((long)Distance/SecondDiff);

速度继续导致0,而不是正确的值。我已经投了很长时间,但拒绝了。

我也尝试过:

float Speed = ((long)Distance/(long)SecondDiff);

float Speed = (long)(Distance/SecondDiff);

这可能是我问题的根源?

1 个答案:

答案 0 :(得分:0)

为什么不通过getSpeed()方法从每个位置对象获取速度,例如:

float speed = location.getSpeed();