Extract *route segments* from a Google Maps Directions API response

mp_get_segments(doc)

Arguments

doc

XML document with Google Maps Directions API response

Value

Line layer (class sf) representing route segments

Examples


library(xml2)

doc = as_xml_document(response_directions_driving)
seg = mp_get_segments(doc)
plot(seg)
#> Warning: plotting the first 10 out of 12 attributes; use max.plot = 12 to plot all


doc = as_xml_document(response_directions_transit)
seg = mp_get_segments(doc)
plot(seg)
#> Warning: plotting the first 10 out of 12 attributes; use max.plot = 12 to plot all


if (FALSE) {

# Text file with API key
key = readLines("~/key")

# Transit example
doc = mp_directions(
  origin = c(34.81127, 31.89277),
  destination = c(34.781107, 32.085003),
  mode = "transit",
  alternatives = TRUE,
  key = key
)
seg = mp_get_segments(doc)
plot(seg)

# Using waypoints
doc = mp_directions(
  origin = c(34.81127, 31.89277),
  waypoints = rbind(c(35.01582, 31.90020), c(34.84246, 31.85356)),
  destination = c(34.781107, 32.085003),
  alternatives = TRUE,
  key = key
)
seg = mp_get_segments(doc)
plot(seg)

}