我目前正试图通过使用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);
这可能是我问题的根源?