mp_directions {mapsapi} | R Documentation |
Get directions from the Google Maps Directions API
Description
Get directions from the Google Maps Directions API
Usage
mp_directions(
origin,
waypoints = NULL,
destination,
mode = c("driving", "transit", "walking", "bicycling"),
arrival_time = NULL,
departure_time = NULL,
alternatives = FALSE,
avoid = c(NA, "tolls", "highways", "ferries", "indoor"),
region = NULL,
traffic_model = c("best_guess", "pessimistic", "optimistic"),
transit_mode = c("bus", "subway", "train", "tram"),
transit_routing_preference = c(NA, "less_walking", "fewer_transfers"),
language = NULL,
key,
quiet = FALSE
)
Arguments
origin |
Origin, as
|
waypoints |
Waypoints, in one of the same formats as for
|
destination |
Destination, in one of the same formats as for |
mode |
Travel mode, one of: |
arrival_time |
The desired time of arrival for transit directions, as |
departure_time |
The desired time of departure, as |
alternatives |
Whether to return more than one alternative ( |
avoid |
|
region |
The region code, specified as a ccTLD ("top-level domain") two-character value (e.g. |
traffic_model |
The traffic model, one of: |
transit_mode |
Transit preferred mode, one or more of: |
transit_routing_preference |
Transit route preference. |
language |
The language in which to return directions. See https://developers.google.com/maps/faq#languagesupport for list of language codes. |
key |
Google APIs key |
quiet |
Logical; suppress printing URL for Google Maps API call (e.g. to hide API key) |
Value
XML document with Google Maps Directions API response
Note
Use function
mp_get_routes
to extractsf
line layer where each feature is a routeUse function
mp_get_segments
to extractsf
line layer where each feature is a route segment
References
https://developers.google.com/maps/documentation/directions/overview
Examples
# Built-in reponse example
library(xml2)
doc = as_xml_document(response_directions_driving)
r = mp_get_routes(doc)
seg = mp_get_segments(doc)
## Not run:
# Text file with API key
key = readLines("~/key")
# Using 'numeric' input
doc = mp_directions(
origin = c(34.81127, 31.89277),
destination = c(34.781107, 32.085003),
alternatives = TRUE,
key = key
)
# Using 'character' and 'sf' input
library(sf)
doc = mp_directions(
origin = "Beer-Sheva",
destination = c(34.781107, 32.085003) |> st_point() |> st_sfc(crs = 4326),
alternatives = TRUE,
key = key
)
# Comparing traffic models
doc = mp_directions(
origin = "Beer-Sheva",
destination = "Tel Aviv",
departure_time = Sys.time() + as.difftime(1, units = "hours"),
traffic_model = "best_guess",
key = key
)
mp_get_routes(doc)$duration_in_traffic_text
doc = mp_directions(
origin = "Beer-Sheva",
destination = "Tel Aviv",
departure_time = Sys.time() + as.difftime(1, units = "hours"),
traffic_model = "optimistic",
key = key
)
mp_get_routes(doc)$duration_in_traffic_text
doc = mp_directions(
origin = "Beer-Sheva",
destination = "Tel Aviv",
departure_time = Sys.time() + as.difftime(1, units = "hours"),
traffic_model = "pessimistic",
key = key
)
mp_get_routes(doc)$duration_in_traffic_text
## End(Not run)