A draggable polyline to use with react-leaflet. This may be useful if you need to edit a polyline provided by a driving directions api (such as google maps javascript api DirectionsService).
Example with ordered new waypoints
Basic example with no ordering
Example using google maps directions
npm i -S react-leaflet-draggable-polyline
DraggablePolyline uses React context API. It needs to be nested inside a react-leaflet Map.
import DraggablePolyline from 'react-leaflet-draggable-polyline';
<DraggablePolyline
positions={[[43.60, 1.44], [43.61, 1.30]]}
/>
For a fully working example, please check out this one.
This component extends all react-leaflet polyline properties.
| Name | Type | Default | Description |
|---|---|---|---|
| positions | array[array[float]] or array[array[array[float]]] | The polyline positions formatted as [lat, lng] arrays. If an array of positions is provided, every new waypoint will be reordered according to the positions array it has been dragged from |
|
| waypoints | array[array[float]] | [] | The waypoints formatted as [lat, lng] arrays |
| onWaypointsChange | function(waypoints, index) | The callback that fires after every change in waypoints array. The index parameter represent the index of the changed waypoint. |
|
| onWaypointAdd | function(waypoint) | The callback that fires after a waypoint has been added. | |
| onWaypointRemove | function(waypoint, index) | The callback that fires after a waypoint has been removed. The index parameter represent the index of the removed waypoint. |
|
| onWaypointMove | function(waypoint, index) | The callback that fires after a waypoint has been moved. The index parameter represent the index of the moved waypoint. |
|
| mouseOverWaypointIcon | leaflet icon | The icon that shows on polyline mouseover | |
| draggableWaypointIcon | leaflet icon | The draggable waypoints icon | |
| weight | number | 10 | The weight of the polyline. It needs to be large enough to enable touch events on a mobile device. |
To build the examples locally, run:
npm install
npm start
Then open localhost:8000 in a browser.
NOTE: The source code for the component is in src. A transpiled CommonJS version (generated with Babel) is available in lib for use with node.js, browserify and webpack. A UMD bundle is also built to dist, which can be included without the need for any build system.
To build, watch and serve the examples (which will also watch the component source), run npm start. If you just want to watch changes to src and rebuild lib, run npm run watch (this is useful if you are working with npm link).
MIT

