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

and*_*dXP 2 java navigation android google-maps haversine

我想计算我已阅读的有关Haversine公式余弦球定律的两点经纬度之间的距离,以计算两点之间的距离,但我的主要动机是获得以米为单位的两点之间的最佳位置差。

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

那么,当设备彼此相邻时,有两种可能的方法来计算两台设备之间的最小距离(以米为单位)

编辑1:我需要计算以公里或英里为单位的距离,这在设备彼此相邻时会有很大差异。我发现Haversine公式余弦的球形法则是计算的最佳方法,但是我需要在这些公式中做更多的工作才能使2个设备之间的差异最小化。这个问题与这个问题无关

Pri*_*han 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);
Run Code Online (Sandbox Code Playgroud)