0
A
回答
1
查看下面的代碼,由我完成,其工作良好。在這個很多代碼與你的東西相關,因爲我已經做了完全相同的要求。所以你可以使用下面給出的所有代碼。如果你覺得它沒有問題,那就不要使用它。
@Override
public void onLocationChanged(Location location) {
try {
if (location != null) {
if (current_lat != null && current_lat > 0) {
latitude = current_lat;
}
if (current_long != null && current_long > 0) {
longitude = current_long;
}
current_lat = location.getLatitude();
current_long = location.getLongitude();
distanceBetweenTwoPoint = getDistance(latitude, longitude, current_lat, current_long);
if ((current_lat > 0 && current_long > 0) && distanceBetweenTwoPoint > IjoomerApplicationConfiguration.track_DistanceBetweenPoints_IN_METERS) {
if (location.hasSpeed()) {
speedInKm = location.getSpeed() * 3.6;
} else {
speedInKm = 0.0;
}
row = new HashMap<String, String>();
row.put(TRACKID, IN_TRACKID + "");
row.put(LATITUDE, current_lat.toString());
row.put(LONGITUDE, current_long.toString());
row.put(SPEED, speedInKm + "");
row.put(TIMESTAMP, System.currentTimeMillis() + "");
row.put(STATUS, status);
distance = distance + (distanceBetweenTwoPoint/1000);
row.put(DISTANCE, "" + distance);
dataProvider.InsertRow("TrackDetail", row);
row.put(LASTKNOWNLATITUDE, latitude.toString());
row.put(LASTKNOWNLONGITUDE, longitude.toString());
int seconds = (int) ((System.currentTimeMillis() - trackStartTime)/1000) % 60;
int minutes = (int) (((System.currentTimeMillis() - trackStartTime)/(1000 * 60)) % 60);
int hours = (int) (((System.currentTimeMillis() - trackStartTime)/(1000 * 60 * 60)) % 24);
row.put(DURATION, String.valueOf(hours) + " : " + String.valueOf(minutes) + " : " + String.valueOf(seconds));
setNotification(speedInKm, String.valueOf(hours) + " : " + String.valueOf(minutes) + " : " + String.valueOf(seconds));
if (status.equalsIgnoreCase("1")) {
builder.append("|" + current_lat + "," + current_long);
trackDuration = String.valueOf(hours) + " : " + String.valueOf(minutes) + " : " + String.valueOf(seconds);
if (speedInKm > maxSpeed) {
maxSpeed = speedInKm;
}
totalSpeed = totalSpeed + speedInKm;
++totalTrackPoint;
sendBrodcastToActivity();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
2
速度:行駛距離的行駛時間劃分。
所以計算當前速度,計算你需要通過該距離的時間,這是時間差了(由Location.distanceTo())和除法的最後兩個位置之間的距離 - 地點的郵票。
或者,只需使用Location.getSpeed()
相關問題
- 1. 什麼是計算Android當前速度的好方法?
- 2. 有沒有什麼方法可以看到Android的當前功耗率?
- 3. 有沒有一種方法可以在Android中獲得沒有GPS的速度?
- 4. Android Scroller:當前速度計算
- 5. 有沒有什麼方法可以計算jQuery數組中出現的次數?
- 6. 有什麼方法可以計算java中的指令數
- 7. 有什麼方法可以確定觸摸動作的速度
- 8. 有沒有什麼辦法來獲得或計算ScrollView的速度?
- 9. 有沒有什麼方法可以加速monkeyrunner腳本的執行?
- 10. 有沒有一種方法可以偵聽Android中音頻的速度/ bpm?
- 11. 有什麼方法可以計算目錄的inode?
- 12. 有什麼方法可以恢復Jenkins當前的版本?
- 13. 有什麼方法可以在Google Maps v3中最大化InfoWindow
- 14. 有沒有什麼方法可以選擇塊中當前多行堆棧中的最後一個元素?
- 15. 有沒有什麼辦法可以提高amazon aws上的sshfs速度?
- 16. 有沒有什麼方法可以使用'unset'作爲方法?
- 17. 計算Android中當前的移動連接速度?
- 18. 有什麼方法可以訪問Google Maps磁貼的GeoJSON?
- 19. 有沒有什麼方法可以在Windows中模擬LD_LIBRARY_PATH?
- 20. 提供簡單的方法來獲得當前的速度(執行速度計)
- 21. 有沒有什麼辦法可以在Swift中引用當前模塊?
- 22. 有沒有什麼方法可以重用java 8中的Stream?
- 23. 訪問VBA:有什麼方法可以獲得計算機規格?
- 24. 有什麼方法可以加速jquery/javascript中的img交換?
- 25. 當我運行watir-webdriver時,有沒有什麼好的方法來加快IE的運行速度
- 26. 有沒有什麼方法可以訪問Android的WebView中的DOM結構?
- 27. 有沒有什麼辦法可以獲得「當前函數」的返回類型
- 28. 有沒有什麼辦法可以檢測IE8當前活動的窗口?
- 29. 有沒有什麼方法可以找到horizontalScrollVIew中當前可見的選項卡?
- 30. 有沒有什麼辦法可以水平進度條在android中