Angular 2 component for the Leaflet Filter plugin


502.2.15 years ago5 years agoMinified + gzip package size for @asymmetrik/angular2-leaflet-filter in KB



Build Status

IMPORTANT NOTE: This package has been renamed to @asymmetrik/ngx-leaflet-filter

Leaflet Filter package for Angular 2 Provides Angular 2 integration with the Filter plugin for Leaflet

Table of Contents


Install the package and its peer dependencies via npm:

npm install font-awesome
npm install leaflet
npm install leaflet-draw
npm install @asymmetrik/angular2-leaflet
npm install @asymmetrik/angular2-leaflet-filter

If you want to run the demo, clone the repository, perform an npm install, gulp dev and then go to http://localhost:9000/src/demo/index.html


This component extends the Angular 2 Leaflet component by adding directives for activating and configuring the Filter plugin for Leaflet.

Use the leaflet-filter attribute directive in conjunction with the leaflet attribute directive to activate a map and enable the filter control.

<div leaflet style="height: 400px;"
     (leafletFilterStateChange)="eventHandler('filterChanged', $event)">



Attribute directive that activates the Leaflet filter plugin.


Input binding for Filter control options.

The Filter Control options extend the standard control options.


var filterOptions = {
    position: 'topright',
    filter: {
        rectangle: {},
        polygon: {},
        circle: {},
    featureGroup: featureGroup


You may choose to provide your own featureGroup layer to the plugin. This is the layer in which the plugin will place all drawn filter shapes. If you specify the featureGroup, it's your job to make sure it's added to the map. If you don't specify a featureGroup, the component will create one for you.

var featureGroup = L.featureGroup();

var options = {
    featureGroup: featureGroup


Determines the position on the map where the control will be placed.

Possible values: 'topright' | 'topleft' | 'bottomleft' | 'bottomright'


Used to configure the various filter types.

Possible properties: circle | rectangle | polygon

If you omit the filter object entirely, all filter types will be enabled by default.

// All filter types enabled
var filterOptions = {
    position: 'topright'

Alternatively, if you only specify a subset of the filter types, only those specified will be enabled.

// Only circle and rectangle are enabled
var filterOptions = {
    position: 'topright',
    filter: {
        circle: {},
        rectangle: {}


Binds the current filter state. Can be one of a circle, rectangle, polygon, or null if there is no active filter.


PRs accepted. If you are part of Asymmetrik, please make contributions on feature branches off of the develop branch. If you are outside of Asymmetrik, please fork our repo to make contributions.


See LICENSE in repository for details.


Leaflet Is an awesome mapping package. Leaflet Draw Is an awesome extension to Leaflet that lets you draw shapes all over your maps.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.