Skip to content

Leaflet/Leaflet.Editable

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
February 11, 2017 10:22
September 25, 2019 08:56
August 1, 2014 15:05
September 10, 2016 07:43
September 5, 2018 22:11
July 12, 2018 13:31
April 5, 2017 15:13
September 5, 2018 22:11

Build Status

Leaflet.Editable

Make geometries editable in Leaflet.

This is not a plug and play UI, and will not be. This is a minimal, lightweight, and fully extendable API to control editing of geometries. So you can easily build your own UI with your own needs and choices.

See the demo UI, an more examples below. This is also the drawing engine behind uMap.

Design keys:

  • only the core needs
  • no UI, instead hooks everywhere needed
  • everything programmatically controllable
  • MultiPolygon/MultiPolyline support
  • Polygons' holes support
  • touch support
  • tests

Install

You need Leaflet >= 1.0.0, and then include src/Leaflet.Editable.js.

Path dragging

If you want path dragging, you need to also include Path.Drag.js.

Quick start

Allow Leaflet.Editable in the map options:

var map = L.map('map', {editable: true});

Then, to start editing an existing feature, call the enableEdit method on it:

var polyline = L.polyline([[43.1, 1.2], [43.2, 1.3],[43.3, 1.2]]).addTo(map);
polyline.enableEdit();

If you want to draw a new line:

map.editTools.startPolyline();  // map.editTools has been created
                                // by passing editable: true option to the map

If you want to continue an existing line:

polyline.editor.continueForward();
// or
polyline.editor.continueBackward();

Examples

API

See the reference

Licence

Leaflet.Editable is released under the WTFPL licence.