我有({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
循环时遇到问题,这会将正确的值传递给计算距离的方法。
答案 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()
可以是计算您提到的两个位置之间距离的方法。