AI-generated Key Takeaways
-
The Routes API's Compute Route Matrix feature does not support avoiding route features.
-
You can request routes that avoid tolls, highways, ferries, and indoor travel using the
routeModifiers
property. -
While route modifiers bias the results, they may not eliminate the specified features if alternatives are unavailable or significantly increase travel time.
-
You can specify route modifiers in both REST and gRPC requests, using the
avoidTolls
,avoidHighways
,avoidFerries
, andavoidIndoor
fields within therouteModifiers
property.
You specify which route features you prefer to avoid, such as avoiding tolls or highways, by adding route modifiers to a request. The API then attempts to provide a route that does not require those features.
Use the routeModifiers
property in a request, of type
RouteModifiers. You can specify avoidTolls
,
avoidHighways
, avoidFerries
, and avoidIndoor
.
Specifying a route modifier does not necessarily eliminate routes that include the restricted feature. The API uses the modifier to bias the result to more favorable routes. There can be a few reasons why requesting an avoidance option doesn't change your route. For example, the only route from the origin to the destination makes it impossible to avoid a highway or ferry. Or, the alternate route actually lengthens travel time significantly.
The following example demonstrates how to set route modifiers in a computeRoutes method (REST) request body. You can also specify this option to the ComputeRoutes method (gRPC). In this example, you specify to avoid tolls and highways:
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "routeModifiers": { "avoidTolls": true, "avoidHighways": true, } }