2014-02-23 137 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); 
相關問題