進(jìn)階插件編寫geojsonFilter
github源碼在此,記得點(diǎn)星:
https://github.com/brandonxiang/leaflet.geoJsonFilter
靈感來源自mapbox的setfilter功能脓豪。
當(dāng)然L.geoJson也有setfilter的功能苫费,但是它原始的geojson并不會進(jìn)行存儲涩馆,在改變filter后铡买,markers會越來越少叶骨。這是由于它并沒有存儲原型數(shù)據(jù)确丢,我參考了mapbox.js的featurelayer源碼绷耍。將輸入數(shù)據(jù)以私有變量的形式存儲起來,替換filter時再進(jìn)行加載鲜侥。這樣褂始,就可以不用mapbox.js的情況下使用setfilter。
原理
原理很簡單描函,先將geojson存起來崎苗。當(dāng)setfilter完成后重新加載。
使用方法
marker.setFilter(function(f){
return f.properties.number === 2;
});
例子
DEMO http://brandonxiang.github.io/leaflet.geoJsonFilter/
轉(zhuǎn)載舀寓,請表明出處胆数。總目錄Awesome GIS