Клуб API Карт

Перенос вложенных колеекций из одной в другую

tgarl
24 июня 2015, 16:15

 

 Я метки раскидываю по коллекциям. Сами коллекции помещаю в общую.

На примере из песочницы создаю меню. И вот загвоздка как переместить из одной общей коллекции в другую. Названий коллекций и их состав не знаю генерируются динамически из базы.

вот что получается

 // Пункт меню.
                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);});

 

 



1 комментарий
Подписаться на комментарии к посту

var item;

while(item = myCollection.get(0)) {

    myAnotherCollection.add(item);

}