function distance(lat1, lon1, lat2, lon2, unit) {
if ((lat1 == lat2) && (lon1 == lon2)) {
return 0;
}
else {
var radlat1 = Math.PI * lat1/180;
var radlat2 = Math.PI * lat2/180;
var theta = lon1-lon2;
var radtheta = Math.PI * theta/180;
var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
if (dist > 1) {
dist = 1;
}
dist = Math.acos(dist);
dist = dist * 180/Math.PI;
dist = dist * 60 * 1.1515;
if (unit=="K") { dist = dist * 1.609344 }
if (unit=="N") { dist = dist * 0.8684 }
return dist;
}
}
console.log(distance(lat1, lon1, lat2, lon2, "K"));
Мой массив: [0… 99] 0: {поставщик: "слитый", locationProvider: 1, время: 1582829443960, широта: 45.9605221, долгота: 13.6437692,…} 1: {поставщик: " fused ", locationProvider: 1, время: 1582829453971, широта: 45.9605234, долгота: 13.6437679,…} 2: {поставщик:" fused ", locationProvider: 1, время: 1582829472537, широта: 45.9605234, долгота: 13.6437679,…} 3: {поставщик: "плавленый", locationProvider: 1, время: 1582829502534, широта: 45.960517, долгота: 13.6437747,…} 4: {поставщик: "плавленый", locationProvider: 1, время: 1582829503566, широта: 45.960517, долгота: 13.6437747, …} 5: {provider: "fused", locationProvider: 1, время: 1582829893219, широта: 45.9605249, долгота:
Мне нужно получить первое расстояние между первыми двумя разными координатами, затем из второй и вычислить, сколько рассчитать имеет каждую координату.
var distanceChange = currentUpdate.deltaDistMetres;
distanceTotal += distanceChange;
$("#test").html("Total distance " + distanceChange + " m");