我是绘图的新手,我已经开始按照http://leafletjs.com上的文档和教程创建我的地图了。到目前为止,我已经设法创建了一个地图,添加了很多来自geojson.io的geosjon数据,这些数据在弹出窗口中显示“popupContent”。它有效。
但我无法理解如何创建几个图层来排序所有这些标记。我想要的也是使用“属性”来做到这一点。我有名为“status”的属性,其值为“done”,“new”和“active”。
像这样:
"type": "Feature",
"properties": {
"popupContent": "content",
"marker-color": "#FFFFFF",
"title": "title of project",
"status": "active
这可能吗?要根据“状态”属性创建3个图层?
如果您需要查看html文件,请说明,我可以添加它。
由于
答案 0 :(得分:4)
您可以使用L.geoJson
的{{3}}根据要素属性创建单独的图层。只需指定一个函数,该函数将为每个图层中包含的要素返回true
:
var activeLayer = L.geoJson(yourGeoJson, {
filter: function(feature, layer) {
return (feature.properties.status === "active");
}
}).addTo(map);
var newLayer = L.geoJson(yourGeoJson, {
filter: function(feature, layer) {
return (feature.properties.status === "new");
}
}).addTo(map);
var doneLayer = L.geoJson(yourGeoJson, {
filter: function(feature, layer) {
return (feature.properties.status === "done");
}
}).addTo(map);