Nothing
library(leaflet.extras)
#' ### Add shapes with measurements enabled
fName <- "https://rawgit.com/benbalter/dc-maps/master/maps/ward-2012.geojson"
geoJson <- readr::read_file(fName)
leaflet() %>% addTiles() %>% setView(-77.0369, 38.9072, 11) %>%
addBootstrapDependency() %>%
enableMeasurePath() %>%
addGeoJSONChoropleth(
geoJson,
valueProperty = "AREASQMI",
scale = c("white", "red"), mode = "q", steps = 4, padding = c(0.2, 0),
labelProperty = "NAME",
popupProperty = propstoHTMLTable(
props = c("NAME", "AREASQMI", "REP_NAME", "WEB_URL", "REP_PHONE", "REP_EMAIL", "REP_OFFICE"),
table.attrs = list(class = "table table-striped table-bordered"), drop.na = T),
color = "#ffffff", weight = 1, fillOpacity = 0.7,
highlightOptions = highlightOptions(
weight = 2, color = "#000000",
fillOpacity = 1, opacity = 1,
bringToFront = TRUE, sendToBack = TRUE),
pathOptions = pathOptions(
showMeasurements = TRUE,
measurementOptions = measurePathOptions(imperial = TRUE,
showOnHover = TRUE,
showArea = TRUE)))
#' ### Dynamically show/hide measurements (toolbar-buttons)
leaflet() %>% addTiles() %>% setView(-77.0369, 38.9072, 11) %>%
addBootstrapDependency() %>%
addGeoJSONChoropleth(
geoJson,
valueProperty = "AREASQMI",
scale = c("white", "red"), mode = "q", steps = 4, padding = c(0.2, 0),
labelProperty = "NAME",
popupProperty = propstoHTMLTable(
props = c("NAME", "AREASQMI", "REP_NAME", "WEB_URL", "REP_PHONE", "REP_EMAIL", "REP_OFFICE"),
table.attrs = list(class = "table table-striped table-bordered"), drop.na = T),
color = "#ffffff", weight = 1, fillOpacity = 0.7,
highlightOptions = highlightOptions(
weight = 2, color = "#000000",
fillOpacity = 1, opacity = 1,
bringToFront = TRUE, sendToBack = TRUE)) %>%
addMeasurePathToolbar(options = measurePathOptions(imperial = TRUE,
showDistances = TRUE))
#' ### With Draw
#' You can update the measurements after editing by clicking on the refresh button of the measure path toolbar.
library(rbgm)
library(sf)
set.seed(2)
## pick one of the available model files
fs <- sample(bgmfiles::bgmfiles(), 1)
## read the model, and convert to Spatial (box for polygons, face for boundary lines)
model <- boxSpatial(bgmfile(fs))
## most of the BGM models will be in a local map projection
model <- st_as_sf(model)
st_crs(model) <- 32718
model <- st_transform(model, 4326)
#+ fig.width=10, fig.height=8
leaflet() %>% addTiles() %>%
addPolygons(data = model, group = "model") %>%
addDrawToolbar(targetGroup = "model",
editOptions = editToolbarOptions(
selectedPathOptions = selectedPathOptions())) %>%
addLayersControl(overlayGroups = c("model"), options =
layersControlOptions(collapsed = FALSE)) %>%
addMeasurePathToolbar(options =
measurePathOptions(imperial = TRUE,
minPixelDistance = 100,
showDistances = FALSE))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.