library(ggmap)
## fake: don't have my API key any more, data is stored
load("tdata/googlemaps.rda")
ggplot
extensions## specify lat/long bounding box
mapzone <- c(left = -135, bottom = 25.75, right = -62, top = 75)
s_map <- get_stamenmap(mapzone, zoom = 5, maptype = "toner-lite")
## maptype: "terrain", "terrain-background", "terrain-labels", "terrain-lines",
## "toner" + etc., "watercolor", ...
class(s_map)
## [1] "ggmap" "raster"
ggmap(s_map)
Need to sign up for an API key and enable various APIs: go here and follow all the instructions (get an API key, enable maps services, give them credit card info …)
register_google(key=Sys.getenv("GOOGLEMAPS_KEY"))
hamilton_map <- get_googlemap(center=c(lon=-79.91, lat=43.26),
zoom=13, size=c(640,640),
scale=2,maptype='terrain')
## maptype: 'satellite','roadmap','hybrid'
print(hamilton_map)
## 1280x1280 terrain map image from Google Maps.
## See ?ggmap to plot it.
class(hamilton_map)
## [1] "ggmap" "raster"
ggmap(hamilton_map)
#zoom must be whole number, so a bit finnicky
#mcmaster satellite map
mcmaster_map <- get_googlemap(center=c(lon=-79.9192, lat=43.2609),
zoom=15, maptype = 'satellite')
ggmap(mcmaster_map)
#you can get as close as the database permits
fireball_map <- get_googlemap(center=c(lon=-79.92, lat=43.2609), zoom=19, maptype = 'satellite')
ggmap(fireball_map)
fb_mapzone <- c(left = -79.921, bottom = 43.2603, right = -79.919, top = 43.2615)
## max zoom
s_map2 <- get_stamenmap(fb_mapzone, zoom = 18, maptype = "watercolor")
ggmap(s_map2)
Oh well …
## need "geocoding API" enabled
london_map <- get_googlemap("london england", zoom = 12)
## Las Vegas!
## https://en.wikipedia.org/wiki/New_York-New_York_Hotel_and_Casino
nyny_map <- get_googlemap("newyork newyork", zoom = 12)
to1_map <- get_googlemap('toronto canada', zoom=12,maptype='satellite')
## certain zooms work: zoom=12 does, 13 doesn't, 14 doesn't, 15 does
to2_map <- get_googlemap('toronto canada', zoom=15, maptype='hybrid')