我环顾四周,看到很多关于如何显示/隐藏图层的信息。这很酷,但由于我可以为geoJSON功能添加任意属性,我希望能够相应地过滤它们。
例如,如果我有1,2和2的功能。 3具有这些属性
我如何根据尺寸过滤它们?还是颜色或味道?
答案 0 :(得分:4)
http://leafletjs.com/examples/geojson.html
是的,你可以,只需添加一个过滤功能,如:
L.geoJson(someFeatures, {
filter: function(feature, layer) {
return feature.properties.show_on_map;
}
}).addTo(map);
或者,如果您想要动态更新,那么在其他SO问题中有一个很好的答案: Leaflet: Update GeoJson filter?
答案 1 :(得分:0)
我已在Leaflet.tagFilterButton添加了按标记过滤标记的插件。
如果您为标记添加tags
选项,则可以按标记/类别对其进行过滤。例如:
L.geoJson(jsonObject, {
pointToLayer: function(feature, latlng) {
L.marker(latlng, {
tags: ['small', 'red', 'sweet']
});
}
}).addTo( map );
L.control.tagFilterButton({
data: ['small', 'red', 'sweet']
}).addTo( map );