宣传单:从geojson“属性”创建图层?

时间:2016-05-04 09:32:39

标签: leaflet geojson layer

我是绘图的新手,我已经开始按照http://leafletjs.com上的文档和教程创建我的地图了。到目前为止,我已经设法创建了一个地图,添加了很多来自geoj​​son.io的geosjon数据,这些数据在弹出窗口中显示“popupContent”。它有效。

但我无法理解如何创建几个图层来排序所有这些标记。我想要的也是使用“属性”来做到这一点。我有名为“status”的属性,其值为“done”,“new”和“active”。

像这样:

"type": "Feature",
  "properties": {
    "popupContent": "content",
    "marker-color": "#FFFFFF",
    "title": "title of project",
    "status": "active

这可能吗?要根据“状态”属性创建3个图层?

如果您需要查看html文件,请说明,我可以添加它。

由于

1 个答案:

答案 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);