我有两个位置坐标(纬度和经度(。我想找出它们之间的距离,但输出错误。
这是代码
public static String distanceBetweenTwoPoint(double lng1, double lat1, double lng2, double lat2) {
Location loc1 = new Location("Point A");
loc1.setLatitude(lat1);
loc1.setLongitude(lng1);
Location loc2 = new Location("Point B");
loc2.setLongitude(lng2);
loc2.setLatitude(lat2);
float distanceInMeter = loc1.distanceTo(loc2);
float distanceInKM = distanceInMeter / 1000;
Log.v(TAG, "Distance in Meter: " + distanceInMeter + " | Distance in KM: " + distanceInKM);
return String.valueOf(distanceInKM);
}
正确的输出应该等于1.806 KM
错误的输出=4771.8936 KM
您传递给该函数的值是什么?也许问题出在顺序上。也许loc2.distanceTo(loc1)
会反过来给你距离,这似乎是个问题。