editFeatures(x,...)## S3 method for class 'sf'editFeatures( x, map =NULL, mergeOrder = c("add","edit","delete"), record =FALSE, viewer = shiny::paneViewer(), crs =4326, label =NULL, title ="Edit Map", editor = c("leaflet.extras","leafpm"), editorOptions = list(),...)## S3 method for class 'Spatial'editFeatures(x,...)
Arguments
x: features to edit
...: other arguments
map: a background leaflet or mapview map to be used for editing. If NULL a blank mapview canvas will be provided.
mergeOrder: vector or character arguments to specify the order of merge operations. By default, merges will proceed in the order of add, edit, delete.
record: logical to record all edits for future playback.
viewer: function for the viewer. See Shiny viewer. NOTE: when using browserViewer(browser = getOption("browser")) to open the app in the default browser, the browser window will automatically close when closing the app (by pressing "done" or "cancel") in most browsers. Firefox is an exception. See Details for instructions on how to enable this behaviour in Firefox.
crs: see st_crs.
label: character vector or formula for the content that will appear in label/tooltip.
title: string to customize the title of the UI window. The default is "Edit Map".
editor: character either "leaflet.extras" or "leafpm"
editorOptions: list of options suitable for passing to either leaflet.extras::addDrawToolbar or leafpm::addPmToolbar.
Details
When setting viewer = browserViewer(browser = getOption("browser")) and the systems default browser is Firefox, the browser window will likely not automatically close when the app is closed (by pressing "done" or "cancel"). To enable automatic closing of tabs/windows in Firefox try the following:
input "about:config " to your firefox address bar and hit enter
make sure your "dom.allow_scripts_to_close_windows" is true
Examples
## Not run:library(mapedit)library(mapview)lf <- mapview()# draw some polygons that we will select laterdrawing <- lf %>% editMap()# little easier now with sfmapview(drawing$finished)# especially easy with selectFeaturesselectFeatures(drawing$finished)# use @bhaskarvk USA Albers with leaflet code# https://bhaskarvk.github.io/leaflet/examples/proj4Leaflet.html#devtools::install_github("hrbrmstr/albersusa")library(albersusa)library(sf)library(leaflet)library(mapedit)spdf <- usa_sf()pal <- colorNumeric( palette ="Blues", domain = spdf$pop_2014
)bounds <- c(-125,24,-75,45)(lf <- leaflet( options= leafletOptions( worldCopyJump =FALSE, crs=leafletCRS( crsClass="L.Proj.CRS", code='EPSG:2163', proj4def=paste0('+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 ','+b=6370997 +units=m +no_defs'), resolutions = c(65536,32768,16384,8192,4096,2048,1024,512,256,128))))%>% fitBounds(bounds[1], bounds[2], bounds[3], bounds[4])%>% setMaxBounds(bounds[1], bounds[2], bounds[3], bounds[4])%>% mapview::addFeatures( data=spdf, weight =1, color ="#000000",# adding group necessary for identification layerId =~iso_3166_2, fillColor=~pal(pop_2014), fillOpacity=0.7, label=~stringr::str_c(name,' ', format(pop_2014, big.mark=",")), labelOptions= labelOptions(direction ='auto')))# test out selectMap with albers exampleselectMap( lf, styleFalse = list(weight =1), styleTrue = list(weight =4))## End(Not run)