2
lat = 6.92961234
lng = 79.84796614
lat1 = 6.85620511
lng1 = 79.91251376
Location locationA = new Location("point A");
locationA.setLatitude(lat);
locationA.setLongitude(lng);
Location locationB = new Location("point B");
locationB.setLatitude(lati);
locationB.setLongitude(lngi);
double distancei = locationA.distanceTo(locationB);
String cc = Double.toString(distancei);
float[] results = new float[1];
Location.distanceBetween(lati/1E6, lngi/1E6, lat/1E6, lng/1E6,results);
float s = results[0] * 0.000621371192f;
String a2 = Float.toString(s);
兩種方法給了我不同的答案以及BOTH似有不妥 ..因爲我看了看谷歌地圖和答案它將顯示14公里(約8mils)。但答案顯示爲6點。我不知道它的米/公里/英里。Android的距離是錯誤的
請幫我...謝謝
其中u代碼的長度和緯度的部分代碼/ – Zamani 2012-07-18 07:33:51
來自http://developer.android.com/reference/android/location/Location.html:「的距離之間(...)' 計算兩個位置之間的近似距離*(以米*爲單位),*可選擇它們之間最短路徑的初始和最終方位*。也許你正在看的結果是可選結果之一? – Treb 2012-07-18 07:35:21
在第二行最後一行是什麼樣的轉換,將結果乘以0.000621 ...? – Treb 2012-07-18 07:38:28