在我的应用程序中,我使用Location类的getSpeed()方法来恢复设备的速度。它以米/秒为单位提供速度。要将此值转换为km / hr,我将其乘以3.6。但我的速度错了。恩。 580当它以40km / hr的速度移动时。这是我的代码:
public void onLocationChanged(Location location)
{
float mps = location.getSpeed();
float kmh = (float) (mps*3.6);
speed = Float.toString(kmh);
Toast.makeText(context,"speed :"+speed,TOAST.LENGTH_LONG).show();
}
答案 0 :(得分:1)
我正在使用以下代码来获取当前速度,这对我有用。
public static final int HOUR_MULTIPLIER = 3600;
public static final Double UNIT_MULTIPLIERS[] = { 0.001, 0.000621371192 };
public static final int INDEX_MILES = 1;
localspeed = loc.getSpeed() * 1.0;
localspeed = ((localspeed * HOUR_MULTIPLIER) * UNIT_MULTIPLIERS[INDEX_MILES]);
的教程