Extract distance or duration matrix from a Google Maps Distance Matrix API response
Extract distance or duration matrix from a Google Maps Distance Matrix API response
mp_get_matrix( doc, value = c("distance_m","distance_text","duration_s","duration_text","duration_in_traffic_s","duration_in_traffic_text"))
Arguments
doc: XML document with Google Maps Distance Matrix API response
value: Value to extract, one of: "distance_m" (the default), "distance_text", "duration_s", "duration_text", "duration_in_traffic_s", "duration_in_traffic_text"
Returns
A matrix, where rows represent origins and columns represent destinations. Matrix values are according to selected value, or NA if the API returned zero results
Note
The "duration_in_traffic_s" and "duration_in_traffic_text" options are only applicable when the API response contains these fields, i.e., when using mp_matrix with mode="driving", with departure_time specified, and API key key provided
Examples
library(xml2)doc = as_xml_document(response_matrix)mp_get_matrix(doc, value ="distance_m")mp_get_matrix(doc, value ="distance_text")mp_get_matrix(doc, value ="duration_s")mp_get_matrix(doc, value ="duration_text")## Not run:# Text file with API keykey = readLines("~/key")locations = c("Tel-Aviv","Jerusalem","Neve Shalom")# Driving timesdoc = mp_matrix( origins = locations, destinations = locations, mode ="driving", departure_time = Sys.time()+ as.difftime(10, units ="mins"), key = key
)mp_get_matrix(doc, value ="distance_m")mp_get_matrix(doc, value ="distance_text")mp_get_matrix(doc, value ="duration_s")mp_get_matrix(doc, value ="duration_text")mp_get_matrix(doc, value ="duration_in_traffic_s")mp_get_matrix(doc, value ="duration_in_traffic_text")# Public transport timesdoc = mp_matrix( origins = locations, destinations = locations, mode ="transit", key = key
)mp_get_matrix(doc, value ="distance_m")mp_get_matrix(doc, value ="distance_text")mp_get_matrix(doc, value ="duration_s")mp_get_matrix(doc, value ="duration_text")## End(Not run)