计算Lat / Long列表之间的距离

时间:2013-03-13 00:33:39

标签: android for-loop geolocation

我有({list})List<List<Double>>形式的[[1,2], [3,4], [5,6], [7,8], ...]。这些基本上是纬度和经度的列表,我想计算它们之间的距离。我有距离计算方法,它接收(Lat1, Lon1, Lat2, Lon2)

即在第一次迭代中从上面的列表中获取(1,2,3,4)并计算距离。在下一次迭代中,我需要传递(3,4,5,6)等等。然后我可以添加所有迭代的距离来计算总距离。

所以我编写了这个方法,它接受4个值。我在开发for循环时遇到问题,这会将正确的值传递给计算距离的方法。

1 个答案:

答案 0 :(得分:1)

您可以尝试:

List<List<Double>> locations = ...
double totalDistance = 0;
for (int i = 0; i + 1 < locations.size(); i++) {
    List<Double> a = locations.get(i);
    List<Double> b = locations.get(i + 1);
    totalDistance += calcDistance(a, b);
}

calcDistance()可以是计算您提到的两个位置之间距离的方法。