如何将速度步长改为0.1 km / h

时间:2015-08-04 11:21:42

标签: android gps

我创建了一个用于测量速度的简单应用程序。问题是速度从ie更新。 0.0公里/米至0.9公里/小时和1.8公里/小时等。可以做什么,所以步长减少到0.1 km / h。

public void onGPSUpdate(Location location)
{
    location.getLatitude();
    location.getLongitude();
    speed = location.getSpeed();

    String speedString = "" + roundDecimal(convertSpeed(speed),2);
    String unitString = measurementUnitString(measurement_index);

    setSpeedText(R.id.info_message,speedString + " " + unitString);
}

1 个答案:

答案 0 :(得分:0)

由于您的应用程序似乎实时显示速度文本值,因此插值时间要晚。 你必须显示当前的速度值,如果跳跃,这是数字设备的典型状态。

要进行互动,您可能会延迟显示文字。 一个简单的解决方案是延迟1秒,然后用n步进行线性插值。 n =(speedNew - speedOld / 0.1; 这给出了插值中使用的步数。 每步之间的时间延迟= 1 / n秒。

一旦有效,并且由于1s在想要获得当前速度时要延迟很多,所以你可以试着延迟0.5秒。这为interploat提供了时间。 但它变得更加困难。

另一种更先进的解决方案是估计当前速度,每十分之一秒。 您可以测量加速度(m /(s * s))并推断车辆不会改变下一秒的加速度。