Здесь у меня есть bigArray, в котором у меня есть объекты. Каждый объект имеет элементы top, left, lat, lng.Доступ к объектам в массиве
bigArray [Object, Object, Object, Object, Object, Object, Object, Object, Object]
0: Object
lat: 33.543
leftPosition: 54
lng: 56.345
topPosition: -3
__proto__: Object
1: Object
lat: 32.4534
leftPosition: 197
lng: 45.634345
topPosition: 57
__proto__: Object
2: Object
lat: 34.6434
leftPosition: 245
lng: -102.324234
topPosition: -3
__proto__: Object
3: Object
lat: 23.3423
leftPosition: 330
lng: 57.5343
topPosition: 57
__proto__: Object
4: Object
5: Object
6: Object
7: Object
// N number of array etc... ...: Object
length: 9
__proto__: Array[0]
Теперь у меня есть эта функция, которая вычислить км расстояние, основанное на широты и LNG Разногласия между двумя местами:
var loc1 = { lat: 42.672708, lon: 23.32147800000007 };
var loc2 = {lat:42.670242, lon:23.315002999999933};
function arc_distance(loc1, loc2) {
var rad = Math.PI/180,
earth_radius = 6371.009, // close enough
lat1 = loc1.lat * rad,
lat2 = loc2.lat * rad,
dlon = Math.abs(loc1.lon - loc2.lon) * rad,
M = Math;
return earth_radius * M.acos(
(M.sin(lat1) * M.sin(lat2)) + (M.cos(lat1) * M.cos(lat2) * M.cos(dlon))
);
}
alert (arc_distance(loc1,loc2));
, но теперь у меня есть проблема, как рассчитать расстояние Разногласия между всеми объектами? так object[0]---distance---object[1]---distance---object[2]---distance---object[N]
, где N число объектов в bigArray
Так как я могу доступ ко object[0].lat.lng , object[1].lat.lng , object[2].lat.lng
и на основе моего функции вычисления расстояния Разногласия между объектом и расстоянием добавить объект так Объект будет object{top,left,lat,lng, DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION}
BigArray [я] .lat, BigArray [я] .lng и т.д .; bigArray [i] .distance = arc_distance (bigArray [i] .lat, bigArray [i] .lng)? Я не уверен, что понимаю вашу проблему. – zozo
Слово «объект» появляется на этой странице 40 раз. –
Вы не знаете, как петля? – epascarello