Create a leaflet widget from a tmap object. An interactive map (see tmap_mode
) is an automatically generated leaflet widget. With this function, this leaflet widget is obtained, which can then be changed or extended by using leaflet's own methods.
Arguments
- x
tmap object. A tmap object is created with
qtm
or by stackingtmap-element
s.- mode
the mode of tmap, which is set to
"view"
in order to obtain the leaflet object. Seetmap_mode
for details.- show
should the leaflet map be shown?
FALSE
by default- add.titles
add titles to leaflet object
- in.shiny
is the leaflet output going to be used in shiny? If so, two features are not supported and therefore disabled: facets and colored backgrounds.
- ...
arguments passed on to
print.tmap
Value
leaflet
object
See also
tmapOutput
for tmap in Shiny, tmap_mode
, tm_view
, print.tmap
Examples
# world choropleth/bubble map of the world
data(World, metro)
metro$growth <- (metro$pop2020 - metro$pop2010) / (metro$pop2010 * 10) * 100
map1 <- tm_shape(metro) +
tm_bubbles("pop2010", col = "growth",
border.col = "black", border.alpha = .5,
style="fixed", breaks=c(-Inf, seq(0, 6, by=2), Inf),
palette="-RdYlBu", contrast=1,
title.size="Metro population",
title.col="Growth rate (%)", id="name") +
tm_layout(legend.bg.color = "grey90", legend.bg.alpha=.5, legend.frame=TRUE)
lf <- tmap_leaflet(map1)
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> old-style crs object detected; please recreate object with a recent sf::st_crs()
#> Variable(s) "growth" contains positive and negative values, so midpoint is set to 0. Set midpoint = NA to show the full spectrum of the color palette.
#> Legend for symbol sizes not available in view mode.
# show leaflet widget
lf
# add marker
require(leaflet)
#> Loading required package: leaflet
lf %>% leaflet::addMarkers(2.2945, 48.8582, popup = "Eiffel tower")
if (FALSE) {
# alternative
eiffelTower <- geocode_OSM("Eiffel Tower, Paris", as.SPDF = TRUE)
map1 +
tm_shape(eiffelTower) +
tm_markers()
}