leaflet-selectareafeature
v0.1.5
Published
Plugin that selects feature(s) by drawing an area on the map
Downloads
1,303
Maintainers
Readme
Leaflet.SelectAreaFeature
Plugin that selects feature(s) by drawing an area on the map.
Supports Leaflet 1.0.0+ branches, tested with 1.2.0 and 1.9.4.
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.
Features
- 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
- customisable
Example
Here you can find a demo
Usage
Include Leaflet.SelectAreaFeature in your JavaScript project using 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):
<script src="./lib/js/Leaflet.SelectAreaFeature.js"></script>
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:
selectfeature.disable();
Than the mouse events for drawing stop working with the map.
Options
The following options are available with SelectAreaFeature (showing you here with the default settings):
| Property | Description | Default value | Example |
|---------------|-----------------------------------------|---------------|----------------------- |
| color | The color of the line when drawing. For example 'blue' , '#333333'| 'green'|selectfeature.options.color = '#663399' ;
|
| weight | The weight of the line | 2 |selectfeature.options.weight = 1 ;
|
| dashArray | Sets or read the stroke dash pattern of the line | '5, 5, 1, 5' |selectfeature.options.dasArray = '2, 2, 4, 2' ;
|
Methods
The following methods are supported by the plugin:
| Method | Input parameter | Mandatory | Returns | Description | |---------------------------------|-------------------|-----------|----------------------|-----------------------------------------------| | 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' |
License
Leaflet.SelectAreaFeature is free software, and may be redistributed under the GPL-3.0 license.