Plugin that selects feature(s) by drawing an area on the map.
Supports Leaflet 1.0.0+ branches, tested with 1.2.0.
This plugin let the user draw an area, once it is activated, on the map by holding the left mouse button and moving it. As a developer you can get the layers that are within the bounding box of that area. Once you have the instances of the layers you can manipulate them separately.
- easy enable it
- easy disable it
- draw an area around the objects
- get instance(s) of all selected objects or only instances of polygon(s), polyline(s), marker(s), rectangle(s) and circle(s)
- manipulate slected features
Here you can find a demo
npm install leaflet-selectareafeature.
You can then include Leaflet.SelectAreaFeature in your web application by adding the following HTML tags (paths below are relative to your project's root):
Put it after leaflet is loaded. Once your page is loaded you can easily use it by enable it like:
var selectfeature = map.selectAreaFeature.enable();
After the plugin is enabled the user can draw an area by holding the left mouse button and start drawing. You can disable the plugin by:
Than the mouse events for drawing stop working with the map.
The following options are available with SelectAreaFeature (showing you here with the default settings):
|color||The color of the line when drawing. For example 'blue' , '#333333'||'green'||
|weight||The weight of the line||2||
|dashArray||Sets or read the stroke dash pattern of the line||'5, 5, 1, 5'||
The following methods are supported by the plugin:
|getAreaLatLng||Array of latlng||Gets al the latlng of the latest drawn area on the map|
|removeAllArea||Removes all the drawn area from the map|
|removeLastArea||Remove the latest drawn area from the map|
|getFeaturesSelected(layertype)||layertype String||Yes||Array of layers selected of||layertype is one of the following values: 'polyline', 'polygon', 'rectangle', ' marker', 'circle' or 'all'|
Leaflet.SelectAreaFeature is free software, and may be redistributed under the GPL-3.0 license.