Route

Encapsula um trajeto, que consiste em uma série de segmentos de estrada conectados que se unem a pontos de passagem iniciais, finais e intermediários.

Representação JSON
{
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ]
}
Campos
legs[]

object (RouteLeg)

Uma coleção de trechos (segmentos de caminho entre pontos de referência) que compõem a rota. Cada trecho corresponde à viagem entre dois waypoints que não são via. Por exemplo, uma rota sem pontos de referência intermediários tem apenas um trecho. Uma rota que inclui um ponto de passagem intermediário que não é via tem dois trechos. Uma rota que inclui um ponto de passagem intermediário via tem um trecho. A ordem das etapas corresponde à ordem dos waypoints de origin a intermediates a destination.

distanceMeters

integer

A distância percorrida da rota, em metros.

duration

string (Duration format)

O tempo necessário para navegar no trajeto. Se você definir routingPreference como TRAFFIC_UNAWARE, esse valor será o mesmo que staticDuration. Se você definir routingPreference como TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de trânsito.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

staticDuration

string (Duration format)

A duração da viagem pela rota sem considerar as condições de trânsito.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

polyline

object (Polyline)

A polilinha de trajeto geral. Essa polilinha é a polilinha combinada de todas as legs.

description

string

Uma descrição do trajeto.

warnings[]

string

Uma matriz de avisos a serem mostrados durante a exibição do trajeto.

viewport

object (Viewport)

Caixa delimitadora da porta de visualização da polilinha.

travelAdvisory

object (RouteTravelAdvisory)

Informações adicionais sobre a rota.

optimizedIntermediateWaypointIndex[]

integer

Se ComputeRoutesRequest.optimize_waypoint_order for definido como verdadeiro, este campo conterá a ordem otimizada dos waypoints intermediários. Caso contrário, este campo ficará vazio. Por exemplo, suponha que a entrada seja Origem: LA; Intermediários: Dallas, Bangor, Phoenix; Destino: Nova York; e a ordem otimizada do waypoint intermediário: Phoenix, Dallas, Bangor. Nesse caso, o campo contém os valores [2, 0, 1]. O índice começa com 0 para o primeiro ponto de passagem intermediário.

RouteLeg

Agrupa um segmento entre waypoints diferentes de via.

Representação JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}
Campos
distanceMeters

integer

A distância de viagem do trecho do trajeto, em metros.

duration

string (Duration format)

O tempo necessário para navegar no trecho. Se o route_preference for definido como TRAFFIC_UNAWARE, esse valor será igual a staticDuration. Se o route_preference for TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de tráfego.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

staticDuration

string (Duration format)

A duração do percurso ao longo do trecho, calculada sem considerar as condições de trânsito.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

polyline

object (Polyline)

A poligonal geral para esta etapa. Isso inclui a polilinha de cada step.

startLocation

object (Location)

O local de início deste trecho. Isso pode ser diferente do origin fornecido. Por exemplo, quando o origin fornecido não está perto de uma via, ele é um ponto na via.

endLocation

object (Location)

O local de término deste trecho. Isso pode ser diferente do destination fornecido. Por exemplo, quando o destination fornecido não está perto de uma via, ele é um ponto na via.

steps[]

object (RouteLegStep)

Uma matriz de etapas denotando segmentos neste trecho. Cada etapa representa uma instrução de navegação.

travelAdvisory

object (RouteLegTravelAdvisory)

Agrupa as informações adicionais sobre as quais o usuário precisa ser informado, como possível restrição à zona de trânsito etc. em um trecho do trajeto.

Polilinha

Encapsula uma polilinha codificada.

Representação JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
Campos
Campo de união polyline_type. Encapsula o tipo de polilinha. O padrão é "encoded_polyline". polyline_type pode ser apenas de um dos tipos a seguir:
encodedPolyline

string

A codificação de string da polilinha usando o algoritmo de codificação de polilinha.

geoJsonLinestring

object (Struct format)

Especifica uma poligonal usando o formato de linha GeoJSON.

RouteLegStep

Encapsula um segmento de uma RouteLeg. Uma etapa corresponde a uma única instrução de navegação. Os trechos do trajeto são compostos por degraus.

Representação JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  }
}
Campos
distanceMeters

integer

A distância percorrida nessa etapa, em metros. Em algumas circunstâncias, esse campo pode não ter um valor.

staticDuration

string (Duration format)

A duração da viagem por esta etapa sem levar em consideração as condições de trânsito. Em algumas circunstâncias, este campo pode não ter um valor.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

polyline

object (Polyline)

A polilinha associada a esta etapa.

startLocation

object (Location)

O local de início desta etapa.

endLocation

object (Location)

O local final desta etapa.

navigationInstruction

object (NavigationInstruction)

Instruções de navegação.

travelAdvisory

object (RouteLegStepTravelAdvisory)

Encapsula as informações adicionais sobre as quais o usuário precisa ser informado, como possíveis restrições de zona de trânsito em uma etapa do trajeto.

RouteLegStepTravelAdvisory

Encapsula as informações adicionais sobre as quais o usuário precisa ser informado, como possíveis restrições de zona de trânsito em uma etapa do trajeto.

Representação JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campos
speedReadingIntervals[]

object (SpeedReadingInterval)

OBSERVAÇÃO: esse campo não está preenchido no momento.

RouteLegTravelAdvisory

Agrupa as informações adicionais sobre as quais o usuário precisa ser informado, como possível restrição à zona de trânsito etc. em um trecho do trajeto.

Representação JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campos
tollInfo

object (TollInfo)

Agrupa informações sobre pedágios no RouteLeg específico. Esse campo só é preenchido se houver pedágios na RouteLeg. Se esse campo estiver definido, mas o subcampo estimatedPrice não for preenchido, a via terá pedágios, mas não será possível saber um preço estimado. Se esse campo não existir, não haverá pedágio na RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

Intervalos de leitura rápida detalhando a densidade do tráfego. Aplicável no caso das preferências de roteamento TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL. Os intervalos abrangem toda a poligonal do RouteLeg sem sobreposição. O ponto de início de um intervalo especificado é o mesmo que o ponto de término do intervalo anterior.

Exemplo:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).