速度突然从零跳到无穷大

时间:2016-07-23 11:11:39

标签: android location

我目前正试图计算使用应用程序的人的速度。

我认为位置更新有问题,因为当我静坐时,它会检测到速度为零或大约为0,然后由于某种原因突然跳到无穷大(是的,应用程序显示' Infinity&# 39;),然后回到0。

我认为它与尝试除以零有关,但我不确定为什么。

这是我的代码:onConnected:

public void onConnected(Bundle connectionHint) {

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
        LocationServices.FusedLocationApi.requestLocationUpdates(mLocationClient, mLocationRequest, this);
        OldLocation = LocationServices.FusedLocationApi.getLastLocation(mLocationClient);
    }
}

public void onLocationChanged(Location location) {

    int ExceedInstance = PhoneBelt.getExceedInstance();

    int ExceedingLimitInteger = PhoneBelt.getExceedInt();

    float Distance = OldLocation.distanceTo(location);

    long TimeDiff = location.getTime()-OldLocation.getTime();

    long SecondDiff = TimeDiff/1000 % 6;

    float Speed = Distance/SecondDiff;
}

为什么速度突然随机跳转到无限?

1 个答案:

答案 0 :(得分:2)

我认为,它可能会导致,因为长的SecondDiff可以是0.最后,距离将被除以0,这将导致速度=无穷大。