如何计算两个纬度和经度之间的距离

时间:2016-09-19 07:50:59

标签: java android google-maps navigation haversine

我想计算2点纬度和经度之间的距离,我读过 Haversine公式余球的球面法,用于计算两点之间的距离,但我的主要是动机是在米中获得2点之间的最佳位置差异。

例如两个设备彼此相邻并且Android设备正在向服务器发送位置,因此我们需要获取每个设备的位置并计算这两个设备之间的最小距离。当设备彼此相邻时,位置的差异应该是2-3米

当设备彼此相邻时,有多少可能的方法来计算两个设备之间的最小距离

编辑1:我需要计算以kms或英里为单位的距离,这是设备彼此相邻时的最大差异。 Haversine公式余弦球面法是我找到的最佳计算方法,但我需要在这些公式中做更多以获得2个设备之间的最小差异。不在Android设备上。此问题与This Question

无关

1 个答案:

答案 0 :(得分:5)

您可以计算两个纬度和经度的距离

Location loc1 = new Location("");

loc1.setLatitude(lat1);
loc1.setLongitude(lon1);

Location loc2 = new Location("");
loc2.setLatitude(lat2);
loc2.setLongitude(lon2);

float distanceInMeters = loc1.distanceTo(loc2);