Learn R Programming

tmap (version 1.6)

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, ...)

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
...
arguments passed on to print.tmap

Value

leaflet object

See Also

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")

## Not run: 
# # alternative
# eiffelTower <- geocode_OSM("Eiffel Tower", as.SPDF = TRUE)
# 
# map1 + 
# tm_shape(eiffelTower) +
# 	tm_markers()
# ## End(Not run)

Run the code above in your browser using DataLab