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, } }