我有一个坐标为的数组,并希望将它们相加以确定总距离(不仅仅是从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));
}
如何完成循环?
感谢。
答案 0 :(得分:0)
有几种方法,我会这样做:
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;
}