我尝试了很多代码,其中没有一个有效。我试过这个:
//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");
}
}
任何人都可以说为什么它不起作用或者写信给我如何正确地获得速度。
答案 0 :(得分:0)
function(id_result){}
仅返回使用getSpeed()
设置的值(在您的情况下始终为0)。
如果您希望获得或多或少的准确速度,有两种方法:
如果您不想使用GPS(通常是个好主意),您应该选择选项1.但是数字2并不是很复杂。只需存储两个GPS点,延迟为setSpeed(int)
。比你的速度快(根据T
:
speed = distance/time
因为speed = sqrt((point2.x - point1.x) ^ 2 + (point2.y - point1.y) ^ 2) / T
是distance
和point1
之间的距离。