ComputeCustomRoutesRequest

ComputeCustomRoutes request message.

JSON representation
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
Fields
origin

object (Waypoint)

Required. Origin waypoint.

destination

object (Waypoint)

Required. Destination waypoint.

intermediates[]

object (Waypoint)

Optional. A set of waypoints along the route (excluding terminal points), for either stopping at or passing by. Up to 25 intermediate waypoints are supported.

travelMode

enum (RouteTravelMode)

Optional. Specifies the mode of transportation. Only DRIVE and 'TWO_WHEELER' are supported.

routingPreference

enum (RoutingPreference)

Optional. Specifies how to compute the route. The server attempts to use the selected routing preference to compute the route. If the routing preference results in an error or an extra long latency, then an error is returned. You can specify this option only when the travelMode is DRIVE or TWO_WHEELER, otherwise the request fails.

polylineQuality

enum (PolylineQuality)

Optional. Specifies your preference for the quality of the polyline.

polylineEncoding

enum (PolylineEncoding)

Optional. Specifies the preferred encoding for the polyline.

departureTime

string (Timestamp format)

Optional. The departure time. If you don't set this value, then this value defaults to the time that you made the request. If you set this value to a time that has already occurred, then the request fails.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

routeModifiers

object (RouteModifiers)

Optional. A set of conditions to satisfy that affect the way routes are calculated.

routeObjective

object (RouteObjective)

Required. A route objective to optimize for.

languageCode

string

Optional. The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see Unicode Locale Identifier. See Language Support for the list of supported languages. When you don't provide this value, the display language is inferred from the location of the route request.

units

enum (Units)

Optional. Specifies the units of measure for the display fields. This includes the instruction field in NavigationInstruction. The units of measure used for the route, leg, step distance, and duration are not affected by this value. If you don't provide this value, then the display units are inferred from the location of the request.

RouteObjective

Encapsulates an objective to optimize for by ComputeCustomRoutes.

JSON representation
{

  // Union field objective can be only one of the following:
  "rateCard": {
    object (RateCard)
  }
  // End of list of possible types for union field objective.
}
Fields
Union field objective. The route objective. objective can be only one of the following:
rateCard

object (RateCard)

The RateCard objective.

RateCard

Encapsulates a RateCard route objective.

JSON representation
{
  "costPerMinute": {
    object (MonetaryCost)
  },
  "costPerKm": {
    object (MonetaryCost)
  },
  "includeTolls": boolean
}
Fields
costPerMinute

object (MonetaryCost)

Optional. Cost per minute.

costPerKm

object (MonetaryCost)

Optional. Cost per kilometer.

includeTolls

boolean

Optional. Whether to include toll cost in the overall cost.

MonetaryCost

Encapsulates the cost used in the rate card.

JSON representation
{
  "value": number
}
Fields
value

number

Required. The cost value in local currency inferred from the request.