https://github.com/mikeu/vue2-leaflet-polyline-measure
Leaflet.PolylineMeasure control plugin extension for Vue2Leaflet package
https://github.com/mikeu/vue2-leaflet-polyline-measure
distance measure ruler vue vue2leaflet
Last synced: 6 months ago
JSON representation
Leaflet.PolylineMeasure control plugin extension for Vue2Leaflet package
- Host: GitHub
- URL: https://github.com/mikeu/vue2-leaflet-polyline-measure
- Owner: mikeu
- License: mit
- Created: 2019-04-24T21:51:55.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-11-10T13:25:31.000Z (over 2 years ago)
- Last Synced: 2025-09-13T11:03:45.885Z (10 months ago)
- Topics: distance, measure, ruler, vue, vue2leaflet
- Language: Vue
- Size: 1.72 MB
- Stars: 9
- Watchers: 2
- Forks: 2
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# vue2-leaflet-polyline-measure
This is a [Vue2Leaflet](https://github.com/KoRiGaN/Vue2Leaflet) plugin to provide the
[Leaflet.PolylineMeasure](https://github.com/ppete2/Leaflet.PolylineMeasure) control
on [Leaflet](https://leafletjs.com/) maps in [Vue](https://vuejs.org/) applications.
## Installation
```bash
npm install --save vue2-leaflet-polyline-measure
```
## Local demo
```bash
git clone git@github.com:mikeu/vue2-leaflet-polyline-measure.git
cd vue2-leaflet-polyline-measure
npm install
npm run example
```
You should then be able to visit http://localhost:4000 to see a leaflet map with the polyline
measurement tool. Events fired by the tool will be logged beneath the map as you interact with it.
## Usage
### Adding the component to a map
With the `LControlPolylineMeasure` component loaded into Vue (see below), simply add the
`l-control-poyline-measure` element inside an `l-map`, optionally providing it with an
`options` object to specify any of the
[Leaflet.PolylineMeasure options](https://github.com/ppete2/Leaflet.PolylineMeasure#default-options)
to be set when the control is created, or the
[Leaflet Control position](https://leafletjs.com/reference-1.4.0.html#control-position)
in which to display the control.
For example,
```html
```
#### Polyline measurement events
The polyline measurement control fires events from the map to which it has been added. In Vue, these
can be listened for in the standard fashion, by adding event handlers the the `LMap` control within
which the `LControlPolylineMeasure` is being used:
```html
```
Of course, the `handleToggle`, `handleStart`, etc., methods must be defined within the Vue component
that is calling them.
See the [Events](https://github.com/ppete2/Leaflet.PolylineMeasure#events) section of the
Leaflet.PolylineMeasure documentation for more details about the arguments passed to each event
handler.
### Loading the Vue component
You can either install the control globally within your application at the point where you initially
configure Vue, or import the control only within the components that require it.
#### Option 1: Global install
Where you load and configure your Vue environment,
```js
import Vue from 'vue';
import LControlPolylineMeasure from 'vue2-leaflet-polyline-measure';
// ...
Vue.component('l-control-polyline-measure', LControlPolylineMeasure);
// ...
```
#### Option 2: Local import
In the `` of a Vue component,
```js
import LControlPolylineMeasure from 'vue2-leaflet-polyline-measure';
// ...
export default {
// ...
components: {
LControlPolylineMeasure,
// ...
},
// ...
};
```
## Credit
The majority of the credit for this plugin goes to the author of and contributors to the underlying
[Leaflet.PolylineMeasure control](https://github.com/ppete2/Leaflet.PolylineMeasure), and of course
the plugin wouldn't be possible without Vue, Leaflet, and Vue2Leaflet.
### Plugin author
Michael Underwood
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.