Клуб API Карт

Как динамически обновлять метки в яндекс картах.

Пост в архиве.

Всем привет. Вопрос следующий. Есть яндекс карта, на ней расставлены метки. Так же на страничке присутсвуют checkbox - ы. При выборе чекбокса нужно изменить набор меток на карте, очень не хочется обновлять всю карту, хотелосьбы просто обновить набор меток на карте. Как это можно сделать? вчера целый день пытался сделать это. Знаний в Java script мало, с API яндекс карт тоже только вчера познакомился. Знаю что можно удалить все метки на карте, сформировать новый набор и загрузить их на карту, но не могу в отдельную функции получить уже инициализированную на страничке карту. Просьба давать ответы "для чайника". Все спасибо, за внимание. 

11 комментариев

посмотрите эту статью

похоже то что надо, неподскажите, как можно посмотреть, как это реализовано? 

Вы можете посмотреть на исходный код страницы

ага пасиб, уже разобрался.

Код посмотрел, но к сожалению не понял как работает. Там есть функция 

function addMenuItem(group, map) {}

и туда приходит группа меток и сама карта. а вот откуда вызывается эта функция и откуда берутся метки и карта не понятно ((.

наврал мальца, понятно откуда конкретно эта функция вызывается, непонятно вот это. 

// Загрузка YMapsML-файла
 ymaps.geoXml.load("/maps/doc/ymapsml/1.x/examples/xml/menufromymapsml.xml")
 .then(function (res) {
 res.geoObjects.each(function (item) {
 addMenuItem(item, myMap);
 });
 },
 function (error) { // Вызывается в случае неудачной загрузки YMapsML-файла
 alert("При загрузке YMapsML-файла произошла ошибка: " + error);
 }); 

а что конкретно не понятно?

ymaps.geoXml.load("/maps/doc/ymapsml/1.x/examples/xml/menufromymapsml.xml") 

у них какие то "свои настройки" не совсем понимаю что тут подгружается, скорее всего 4 коллекции геообъектов. После загрузки начинается обход результата загрузки и вызывается функция в которую отправляется набор, и карта. не понятно откуда взялась карта. 

 

 не понятно откуда взялась карта.

карта взялась из замыкания

ничего не получается. Я канечно понимаю это прям несусветная наглость с моей стороны, но может быть кто нить сможет сделать простенький пример с двумя чекбоксами которые будут изменять набор меток, без загрузки информации из xml и тому подобных мест. Лучше функцию  в которой будут передаваться координаты или адрес. 

нужно сделать карту тиров. checkbox - ы это параметры типа (округ, метро, тип тира). При изменении значения чекбокса должен измениться набор меток на карте. На данный момент я вызываю функцию jquery которая изменяет область документа по "id" и выводит список доступных тиров.