2013-05-27 94 views
0

在我的應用程序中,我正在使用Location類的getSpeed()方法重新搜索設備的速度。它以米/秒爲單位給出速度。爲了將這個值轉換成公里/小時,我將它乘以3.6。但是我的速度錯了。恩。 580時速40公里/小時。這是我的代碼:使用GPS尋找速度

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

有一些錯誤的GPS或位置的對象傳遞 - 很顯然你不是以每秒161米旅行。 – Cornholio

+0

我檢查了一切。一切似乎都很好 – user2310041

回答

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]); 

你可以從link1找到的教程和 link2