mp_map | R Documentation |
Download a static map from the Maps Static API, given map center and zoom level.
mp_map(
center,
zoom = 10L,
maptype = c("roadmap", "satellite", "terrain", "hybrid"),
size = c(640L, 640L),
scale = 2L,
style = NULL,
key,
quiet = FALSE
)
center |
Character of length 1 of the form |
zoom |
Zoom level, a positive integer or zero. The appropriate range is
|
maptype |
Map type, one of: |
size |
Numeric of length 2, the width and height of the map in pixels. The default is the maximum size allowed (640x640). The final dimensions of the image are affected by 'scale'. |
scale |
Integer, factor to multiply 'size' and determine the final image size. Allowed values are 1 and 2, defaults to 2. |
style |
List of named character vector(s) specifying style directives. The full style reference is available at https://developers.google.com/maps/documentation/maps-static/style-reference, see examples below. |
key |
Google APIs key |
quiet |
Logical; suppress printing URL for Google Maps API call (e.g. to hide API key) |
A stars
raster with the requested map, in Web Mercator CRS (EPSG:3857).
https://developers.google.com/maps/documentation/maps-static/overview
## Not run:
library(stars)
key = readLines("~/key")
# Using coordinates
r = mp_map("31.253205,34.791914", 14, key = key)
plot(r)
# Using 'sfc' point - WGS84
pnt = st_point(c(34.791914, 31.253205))
pnt = st_sfc(pnt, crs = 4326)
r = mp_map(pnt, 14, key = key)
plot(r)
# Using 'sfc' point - UTM
pnt = st_point(c(34.791914, 31.253205))
pnt = st_sfc(pnt, crs = 4326)
pnt = st_transform(pnt, 32636)
r = mp_map(pnt, 14, key = key)
plot(r)
# Using 'sfc' polygon
pnt = st_point(c(34.791914, 31.253205))
pnt = st_sfc(pnt, crs = 4326)
pol = st_buffer(pnt, 0.01)
r = mp_map(pol, 14, key = key)
plot(r)
# 'ggplot2'
library(ggplot2)
cols = attr(r[[1]], "colors")
ggplot() +
geom_stars(data = r, aes(x = x, y = y, fill = color)) +
scale_fill_manual(values = cols, guide = FALSE) +
coord_sf()
# 'ggplot2' - map types
r1 = mp_map(pnt, 14, maptype = "roadmap", key = key)
r2 = mp_map(pnt, 14, maptype = "satellite", key = key)
r3 = mp_map(pnt, 14, maptype = "terrain", key = key)
r4 = mp_map(pnt, 14, maptype = "hybrid", key = key)
cols1 = attr(r1[[1]], "colors")
cols2 = attr(r2[[1]], "colors")
cols3 = attr(r3[[1]], "colors")
cols4 = attr(r4[[1]], "colors")
theme1 = theme(
axis.text = element_blank(),
axis.title = element_blank(),
axis.ticks = element_blank()
)
g1 = ggplot() +
geom_stars(data = r1, aes(x = x, y = y, fill = color)) +
scale_fill_manual(values = cols1, guide = FALSE) +
coord_sf() +
ggtitle("roadmap") +
theme1
g2 = ggplot() +
geom_stars(data = r2, aes(x = x, y = y, fill = color)) +
scale_fill_manual(values = cols2, guide = FALSE) +
coord_sf() +
ggtitle("satellite") +
theme1
g3 = ggplot() +
geom_stars(data = r3, aes(x = x, y = y, fill = color)) +
scale_fill_manual(values = cols3, guide = FALSE) +
coord_sf() +
ggtitle("terrain") +
theme1
g4 = ggplot() +
geom_stars(data = r4, aes(x = x, y = y, fill = color)) +
scale_fill_manual(values = cols4, guide = FALSE) +
coord_sf() +
ggtitle("hybrid") +
theme1
g1 + g2 + g3 + g4
# styled maps
nl = list(
c(feature = 'all', element = 'labels', visibility = 'off')
)
nb = list(
c(feature = 'poi.business', visibility = 'off'),
c(feature = 'poi.medical', visibility = 'off')
)
r_nl = mp_map(pnt, 14, key = key, style = nl)
plot(r_nl)
r_nb = mp_map(pnt, 14, key = key, style = nb)
plot(r_nb)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.