Get directions from the Google Maps Directions API
Get directions from the Google Maps Directions API
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"), key, quiet = FALSE )
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: |
key |
Google APIs key |
quiet |
Logical; suppress printing URL for Google Maps API call (e.g. to hide API key) |
XML document with Google Maps Directions API response
Use function mp_get_routes
to extract sf
line layer where each feature is a route
Use function mp_get_segments
to extract sf
line layer where each feature is a route segment
# 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.