@asymmetrik/ngx-leaflet-filter
v2.4.0
Published
Angular 2 component for the Leaflet Filter plugin
Downloads
884
Keywords
Readme
@asymmetrik/ngx-leaflet-filter
Leaflet Filter package for Angular 2+ Provides Angular 2+ integration with the Filter plugin for Leaflet
Table of Contents
Install
Install the package and its peer dependencies via npm:
npm install font-awesome
npm install leaflet
npm install leaflet-draw
npm install @asymmetrik/ngx-leaflet
npm install @asymmetrik/ngx-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
Usage
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;"
leafletFilter
[leafletOptions]="options"
[leafletFilterOptions]="filterOptions"
[(leafletFilterState)]="filterState"
(leafletFilterStateChange)="eventHandler('filterChanged', $event)">
API
leafletFilter
Attribute directive that activates the Leaflet filter plugin.
leafletFilterOptions
Input binding for Filter control options.
The Filter Control options extend the standard control options.
Example:
var filterOptions = {
position: 'topright',
filter: {
rectangle: {},
polygon: {},
circle: {},
},
featureGroup: 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();
featureGroup.addTo(map);
var options = {
featureGroup: featureGroup
};
position
Determines the position on the map where the control will be placed.
Possible values: 'topright' | 'topleft' | 'bottomleft' | 'bottomright'
filter
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: {}
}
};
leafletFilterState
Binds the current filter state. Can be one of a circle, rectangle, polygon, or null if there is no active filter.
Contribute
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.
License
See LICENSE in repository for details.
Credits
Leaflet Is an awesome mapping package. Leaflet Draw Is an awesome extension to Leaflet that lets you draw shapes all over your maps.