如何在Android App中获得速度

时间:2016-10-10 19:20:25

标签: android

我尝试了很多代码,其中没有一个有效。我试过这个:

//This is in another void
Location location = new Location(LocationManager.GPS_PROVIDER);
                    location.setSpeed(0);
                    Greitis(location);

//This is in CountDownTimer which has onTick every 1 second
public void Greitis(Location location) {
        if (location.hasSpeed()) {
            speed.setText(location.getSpeed() * 3.6 + " Km/h");
        }
    }

任何人都可以说为什么它不起作用或者写信给我如何正确地获得速度。

1 个答案:

答案 0 :(得分:0)

function(id_result){}仅返回使用getSpeed()设置的值(在您的情况下始终为0)。

如果您希望获得或多或少的准确速度,有两种方法:

  1. 使用加速度计
  2. 自己计算速度
  3. 如果您不想使用GPS(通常是个好主意),您应该选择选项1.但是数字2并不是很复杂。只需存储两个GPS点,延迟为setSpeed(int)。比你的速度快(根据T

    speed = distance/time

    因为speed = sqrt((point2.x - point1.x) ^ 2 + (point2.y - point1.y) ^ 2) / T distancepoint1之间的距离。