Learn R Programming

tmap (version 3.3-3)

tmap_leaflet: Create a leaflet widget from a tmap object

Description

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.

Usage

tmap_leaflet(
  x,
  mode = "view",
  show = FALSE,
  add.titles = TRUE,
  in.shiny = FALSE,
  ...
)

Value

leaflet object

Arguments

x

tmap object. A tmap object is created with qtm or by stacking tmap-elements.

mode

the mode of tmap, which is set to "view" in order to obtain the leaflet object. See tmap_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

See Also

tmapOutput for tmap in Shiny, tmap_mode, tm_view, print.tmap

Examples

Run this code
# 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)

# show leaflet widget
lf

# add marker
require(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()
}

Run the code above in your browser using DataLab