2014-02-23 100 views
3

我四处张望,我看到很多关于如何显示/隐藏图层的信息。这很酷,但因为我可以添加任意属性geoJSON功能,我希望能够相应地过滤它们。Leaflet.js:是否可以通过属性过滤geoJSON功能?

例如,如果我有特征1,2 & 3具有这些性质

  1. 小|红色|甜美
  2. large |绿色|酸味
  3. 小|红色|热

我该如何过滤它们的大小?或者通过颜色或味道?

+0

你在做什么geoJSON功能?创建标记? – kielni

+0

是的,我有日托中心的标记,他们每个都有大约6个属性。我发现我可以将它们添加到图层并切换图层,但这似乎有点多余。我宁愿只显示/隐藏基于其属性的标记。那可能吗? – doub1ejack

+0

你可以发布你的代码,显示你如何创建你的标记?您可以将geoJSON属性设置为类,然后使用jQuery按类隐藏/显示,但很难在没有看到代码的情况下更具体。 – kielni

回答

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); 
相关问题