cluster filter geojson mapbox

时间:2015-01-27 19:13:21

标签: filter mapbox markerclusterer

我试图通过过滤器调用我的geojson文件转换为集群,但它不起作用。我向过滤器应用警报" san pedro"并且它可以工作,但集群已设置为活动状态。 在

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;
    });

1 个答案:

答案 0 :(得分: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;
});