Клуб API Карт

Заголовок не указан

lolobrigit
29 июня 2015, 09:05

 

 

//Фильтр
        var shownObjects,
            byType = new ymaps.GeoQueryResult();
            byPay = new ymaps.GeoQueryResult();

        if ($('#First').prop('checked'))
        {byType = geoObjects.search('properties.pointtype rlike "first"');}
       
        if ($('#Second').prop('checked'))
        { byType = geoObjects.search('properties.pointtype rlike "second"').add(byType);}

        if ($('#Third').prop('checked'))
        { byType = geoObjects.search('properties.pointtype rlike "third"').add(byType);}
        shownObjects = byType.addToMap(myMap);
        // Объекты, которые не попали в выборку, нужно убрать с карты.
        geoObjects.remove(shownObjects).removeFromMap(myMap);
        filterByVisibleArea();}
       
// Список в соседней области
                filterByVisibleArea();
                myMap.events.add('boundschange', filterByVisibleArea);
                listView
                    .on({
                         click: function (e) {
                            e.preventDefault();
                            myMap.panTo($(e.currentTarget).data('geoObject').geometry.getCoordinates()); }
                    }, 'li');
                function cleanUp() {
                    listView.empty(); }
                function filterByVisibleArea() {
                    cleanUp();
                    ymaps.geoQuery(myMap.geoObjects).searchIntersect(myMap)
                        .each(function (geoObject) {
                        if (currentmapzoom >= 7){
                            var geoObjectView = $('<li><a href="#">' + geoObject.properties.get('title') + currentmapzoom + '</a></li>');
                            geoObjectView.data({ geoObject: geoObject });
                            listView.append(geoObjectView);} }); }
// фильтр по видимой области.
                function filterByVisibleArea() {
                    cleanUp();
                    ymaps.geoQuery(myMap.geoObjects).searchIntersect(myMap)
                        .each(function (geoObject) {
                        if (currentmapzoom >= 7){
                            var geoObjectView = $('<li><a href="#">' + geoObject.properties.get('title') + currentmapzoom + '</a></li>');

                            geoObjectView.data({ geoObject: geoObject });
                       
                            listView.append(geoObjectView);
                        }
                        });
                }

 
//При этом кластер организован согласно примеру ранее Добавить кластер:

window.geoObjects = ymaps.geoQuery(json);
window.myClusterer = geoObjects.clusterize();
myMap.geoObjects.add(myClusterer);

 

При этом перестает корректно работать фильтр и перестает работать список объектов. Каким образом можно удалять/добавлять точки в кластере и выводить все точки в видимой области в список?

 

Так же вопрос, как передать в "Открыть в Яндекс.Картах" координаты активной метки, для которой открыт балун?