Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including leaflet.geojsonfilter with all npm packages installed. Try it out:

var leafletGeojsonfilter = require("leaflet.geojsonfilter")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

leaflet.geojsonfilter v0.1.1

This extension of leaflet is inspired by mapbox setfilter function.

#L.geojsonFilter

This extension of leaflet is inspired by mapbox featureLayer.setFilter function.

When you use setFilter function in L.geoJson, the origin geoJson will not be stored. After changing the filter, markers will becomes less. Therefore I wants to save the geoJson alternatively.

Installation

From npm repo

npm install leafletgeojsonfilter --save

From CDN

https://cdn.rawgit.com/brandonxiang/leaflet.geoJsonFilter/develop/src/L.geoJsonFilter.js

Version

0.0.1 L.geoJsonFilter is a extension of L.GeoJSON, so you should call L.geoJsonFilter

0.1.0 setFilter is included in L.GeoJSON, so you can call 'L.geoJson'

Usage

marker.setFilter(function(f){
    return f.properties.number === 2;
});

DEMO

0.0.1 DEMO

0.1.0 DEMO

LICENSE

MIT

##进阶插件编写geojsonFilter


github源码在此,记得点星: https://github.com/brandonxiang/leaflet.geoJsonFilter

灵感来源自mapbox的featureLayer.setFilter功能。

当然L.geoJson也有setfilter的功能,但是它原始的geojson并不会进行存储,在改变filter后,markers会越来越少。这是由于它并没有存储原型数据,我参考了mapbox.js的featurelayer源码。将输入数据以私有变量的形式存储起来,替换filter时再进行加载。这样,就可以不用mapbox.js的情况下使用setfilter。

###原理

原理很简单,先将geojson存起来。当setfilter完成后重新加载。

###使用方法

marker.setFilter(function(f){
   return f.properties.number === 2;
});

###例子

0.0.1 DEMO

0.1.0 DEMO

转载,请表明出处。总目录Awesome GIS

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free