Доброго времени суток!
Использую Stable API 2.0
Создаю карту:
myMap = new ymaps.Map('myMap', {
center: center,
zoom: 13,
type: 'yandex#publicMap'
});
myMap.controls.add('zoomControl', {
left: 20,
top: 20
});
myMap.behaviors.enable('scrollZoom');
loadAll();
function loadAll() {
var clusterIcons = [{
href: '/assets/cluster.png',
size: [53, 52],
// Отступ, чтобы центр картинки совпадал с центром кластера.
offset: [-27, -27]
}],
clusterer = new ymaps.Clusterer({
clusterIcons: clusterIcons
}),
geoObjects = [];
$.getJSON("/transport_units/all.json", function (data) {
for(var i = 0, len = data.length; i < len; i++) {
geoObjects[i] = new ymaps.Placemark(
[data[i].lat, data[i].lng], {}, {
iconImageHref: data[i].icon,
iconImageSize: [32, 32],
iconImageOffset: [-32, -32]
});
}
clusterer.add(geoObjects);
myMap.geoObjects.add(clusterer);
});
// setTimeout("actualise()", 5000);
}
Вопрос
Функция setTimeout("actualise()", 5000)
Раз в пять секунд получает список элементов, с измененными координатами, соответственно количество элементов в этом списке отличается от количества изначально загруженных элементов, т.к. некоторые объекты изменили свои координаты, а другие по иным причинам попали теперь в этот список
Задача состоит в том чтобы в составе загруженных на карту элементов идентифицировать необходимый мне и изменить его местоположение, соответственно если его в списке загруженных не оказалось, добавить его на карту.
Для обеспечения идентификации элемента через индекс я пробовал загружать в массив элементы следующим образом
geoObjects[data[i].id] = new ymaps.Placemark(
на что валится такая ошибка
TypeError: t is undefined - combin...s2_0_36 (line 1)
Пробовал явно преобразовать полученное значение data[i].id в int
parseInt(data[i].id)
аналогичная ситуация, соответственно если если индекс инкрементится по единице с нуля элементы загружаются на карту, но я не могу их идентифицировать чтобы изменить их местоположение.
В составе json ответа такой массив
[{"id":1,"entity":"Горвод
Каким же образом мне идетнифицировать элемент в массиве geoObjects?
Надеюсь достаточно разъяснил вопрос 8)