2015-01-27 7 views
0

Im пытается вызвать мои файлы geojson, которые были преобразованы в кластер через фильтр, но он не работает. Я применяю предупреждение к фильтру «san pedro», и он работает, но кластер был настроен на активный , вcluster filter geojson mapbox

var marcadores = L.mapbox.featureLayer('geojson/todos.geojson').on('ready', function(e) { 
     var clusterGroup1 = new L.MarkerClusterGroup(); 

     e.target.eachLayer(function(layer1) { 
      clusterGroup1.addLayer(layer1); 
     }); 
    mapa.addLayer(clusterGroup1);  
    }); 


    $('.menu-ui a').on('click', function() { 
     var filter = $(this).data('filter'); 
     alert(filter); 
     $(this).addClass('active').siblings().removeClass('active'); 
     marcadores.setFilter(function(f) { 
     alert(filter === 'sanpedro'); 
      return (filter === 'all') ? true : f.properties[filter] === true; 
     }); 
     return false; 
    }); 

ответ

2

Фильтр не будет обновлять группу кластера слой. Вы тоже должны его обновить.

var marcadores = L.mapbox.featureLayer('geojson/todos.geojson'); 
var clusterGroup1 = new L.MarkerClusterGroup(); 
mapa.addLayer(clusterGroup1); 
marcadores.on('ready', function(e) { 
    clusterGroup1.clearLayers(); 
    e.target.eachLayer(function(layer1) { 
     clusterGroup1.addLayer(layer1); 
    }); 
}); 


$('.menu-ui a').on('click', function() { 
    var filter = $(this).data('filter'); 
    alert(filter); 
    $(this).addClass('active').siblings().removeClass('active'); 
    marcadores.setFilter(function(f) { 
    alert(filter === 'sanpedro'); 
     return (filter === 'all') ? true : f.properties[filter] === true; 
    }); 
    marcadores.fireEvent('ready'); 
    return false; 
}); 
Смежные вопросы