mp_map {mapsapi} | R Documentation |
Get static map from the Maps Static API
Description
Download a static map from the Maps Static API, given map center and zoom level.
Usage
mp_map(
center,
zoom = 10L,
maptype = c("roadmap", "satellite", "terrain", "hybrid"),
size = c(640L, 640L),
scale = 2L,
style = NULL,
key,
quiet = FALSE
)
Arguments
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) |
Value
A stars
raster with the requested map, in Web Mercator CRS (EPSG:3857).
References
https://developers.google.com/maps/documentation/maps-static/overview
Examples
## 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)