這裏是找到兩個位置之間的距離的完整方法,只需要兩個lats longs作爲參數,它將返回字符串中的距離。
public static String distFrom(double current_lat, double current_long, double latst, double longst) {
double earthRadius = 3958.75;
double dLat = Math.toRadians(latst-current_lat);
double dLng = Math.toRadians(longst-current_long);
double a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(Math.toRadians(lat)) * Math.cos(Math.toRadians(latst)) * Math.sin(dLng/2) * Math.sin(dLng/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
double dist = earthRadius * c;
double meterConversion = 1.609344; //Kilometer
//for two digits float value:
String s = String.format("%.2f", (dist * meterConversion));
return s;
}
返回距離是千米可以將其進一步隱蔽到英里
可以查找[haversine公式(https://en.wikipedia.org/wiki/Haversine_formula)來計算兩點之間的實際距離。然後檢查是否添加了「result =
KarelG
hii @David你有沒有找到任何好的解決方案,我喜歡你的問題,我想要這樣的東西..你能詳細解釋你的問題,還有一些代碼!? –