Я метки раскидываю по коллекциям. Сами коллекции помещаю в общую.
На примере из песочницы создаю меню. И вот загвоздка как переместить из одной общей коллекции в другую. Названий коллекций и их состав не знаю генерируются динамически из базы.
вот что получается
var menuItem = $(\'<li><span class="imges">\'+ group.picture +\'</span><a href="javascript:void(0);" class="colect\'+group.colect+\'">\' + group.name + \'</a></li>\'),
// Коллекция для геообъектов группы.
collection = new ymaps.GeoObjectCollection(null, { preset: group.style });
// Добавляем коллекцию на карту.
//map.geoObjects.add(collection);
visible.add(collection);
$("div.obolochka_map").show();
// Добавляем подменю.
menuItem
// Добавляем пункт в меню.
.appendTo(menu)
// По клику удаляем/добавляем коллекцию на карту и скрываем/отображаем подменю.
.find("a")
.click(function(){
//map.geoObjects.removeAll();
$("#main_map li").removeClass("active");
/* var itr, groupr;
itr = visible.getIterator();
while(groupr = itr.getNext()) {
hidden.add(group);
} */
//visible.each(function (itemr) {hidden.add(itemr);});
visible.removeAll();
visible.add(collection);
//map.geoObjects.add(collection);
$(this).parent("li").addClass("active");
showsub();
//показать так чтобы все содержимое коллекции было видно
map.setBounds(map.geoObjects.getBounds());
});
for (var j = 0, m = group.items.length; j < m; j++) {
createSubMenu(group.items[j], collection);
}
ни один ни второй вариант не работает
/* var itr, groupr;
itr = visible.getIterator();
while(groupr = itr.getNext()) {
hidden.add(group);
} */
//visible.each(function (itemr) {hidden.add(itemr);});