用于在数组中添加坐标的循环结构

Loop structure for adding up coordinates in an array

我有一个包含坐标的数组,我想将它们相加以确定总距离(不仅仅是从 A 点到 B 点)。

我的数组结构为 latitude1、longitude1、latitude2、longitude2 等等。

我必须编写代码才能实际计算出距离(如下所示),但不知道如何执行获取坐标所需的循环。

 function distance(lat1, lon1, lat2, lon2) {
   var R = 6371;
   var a = 
      0.5 - Math.cos((lat2 - lat1) * Math.PI / 180)/2 + 
      Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) * 
      (1 - Math.cos((lon2 - lon1) * Math.PI / 180))/2;

   return R * 2 * Math.asin(Math.sqrt(a));
 }

循环应该怎么做?

谢谢。

有几种方法,我会这样做:

int sum(int[] array) {
 int sum = 0;
 for(int i = 0; i < array.size(); i++) {
  sum += distance(array[i], array[i+1], array[i+2], array[i+3]);
  i +=4;
 }
 return sum;
}