Leaflet Map Plugin for Drawing and Editing

A collection of tools for interactive manipulation of (spatial) data layers on leaflet web maps. Tools include editing of existing layers, creation of new layers through drawing of shapes (points, lines, polygons), deletion of shapes as well as cutting holes into existing shapes. Provides control over options to e.g. prevent self-intersection of polygons and lines or to enable/disable snapping to align shapes.

CRANstatus Travis buildstatus

leafpm is a plugin for leaflet to provide map editing and drawing in R with Leaflet.pm. It is based closely off of leaflet.extras addDrawToolbar(). leafpm is intended to supplement leaflet.extras with better support for snapping and holes.


You can install the released version of leafpm from CRAN with:



outer1 = matrix(c(0,0,10,0,10,10,0,10,0,0),ncol=2, byrow=TRUE)
hole1 = matrix(c(1,1,1,2,2,2,2,1,1,1),ncol=2, byrow=TRUE)
hole2 = matrix(c(5,5,5,6,6,6,6,5,5,5),ncol=2, byrow=TRUE)
outer2 = matrix(c(11,0,11,1,12,1,12,0,11,0),ncol=2, byrow=TRUE)
pts1 = list(outer1, hole1, hole2)
pts2 = list(outer2)
pl1 = st_sf(geom = st_sfc(st_polygon(pts1)))
pl2 = st_sf(geom = st_sfc(st_polygon(pts2)))
mpl = st_sf(geom = st_combine(rbind(pl1, pl2)))
  targetGroup = "mpl"

mapedit Integration

leafpm was designed to work as an editor in mapedit, so you can get your edits back into the R session. For instance,

drawFeatures(editor = "leafpm")

Code of Conduct

Please note that the ‘leafpm’ project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


This project has been realized with financial support from the


leafpm 0.1.0

  • Initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.1.0 by Kenton Russell, a year ago


Report a bug at https://github.com/r-spatial/leafpm/issues

Browse source code at https://github.com/cran/leafpm

Authors: Kenton Russell [aut, cre] , Tim Appelhans [aut] , Sumit Kumar [ctb] (Leaflet.pm plugin)

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports dplyr, htmltools, htmlwidgets, jsonlite, leaflet, sf

Suggests testthat

Enhances geojsonio, mapedit, mapview, shiny

Imported by mapedit.

See at CRAN