Method: computeRouteMatrix

Recebe uma lista de origens e destinos e retorna um stream contendo informações de trajeto para cada combinação de origem e destino.

OBSERVAÇÃO: esse método exige que você especifique uma máscara de campo de resposta na entrada. É possível fornecer a máscara de campo de resposta usando o parâmetro de URL $fields ou fields ou o cabeçalho HTTP/gRPC X-Goog-FieldMask. Consulte cabeçalhos e parâmetros de URL disponíveis. O valor é uma lista separada por vírgulas de caminhos de campo. Consulte esta documentação detalhada sobre como construir caminhos de campo.

Por exemplo, neste método:

  • Máscara de campo de todos os campos disponíveis (para inspeção manual): X-Goog-FieldMask: *
  • Máscara de campo de durações de trajeto, distâncias, status do elemento, condição e índices de elementos (um exemplo de configuração de produção): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

É fundamental que você inclua status na máscara de campo. Caso contrário, todas as mensagens parecerão corretas. O Google não recomenda o uso da máscara de campo de resposta de caractere curinga (*), porque:

  • Selecionar apenas os campos necessários ajuda nosso servidor a economizar ciclos de computação, permitindo retornar o resultado com uma latência menor.
  • Selecionar apenas os campos necessários no job de produção garante um desempenho de latência estável. Podemos adicionar mais campos de resposta no futuro, e esses novos campos podem exigir mais tempo de computação. Se você selecionar todos os campos ou todos no nível superior, talvez a performance piore, porque todos os novos campos adicionados vão ser incluídos automaticamente na resposta.
  • A seleção apenas dos campos necessários resulta em um tamanho de resposta menor e, portanto, maior capacidade de rede.

Solicitação HTTP

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
Campos
origins[]

object (RouteMatrixOrigin)

Obrigatório. Matriz de origens, que determina as linhas da matriz de resposta. Várias restrições de tamanho se aplicam à cardinalidade das origens e destinos:

  • O número de elementos (origens × destinos) não pode ser maior que 625.
  • O número de elementos (origens × destinos) não pode ser maior que 100 se o routePreference está definido como TRAFFIC_AWARE_OPTIMAL.
  • O número de waypoints (origens + destinos) especificados como placeId não pode ser maior que 50.
destinations[]

object (RouteMatrixDestination)

Obrigatório. Matriz de destinos, que determina as colunas da matriz de resposta.

travelMode

enum (RouteTravelMode)

Opcional. Especifica o meio de transporte.

routingPreference

enum (RoutingPreference)

Opcional. Especifica como calcular a rota. O servidor tenta usar a preferência de roteamento selecionada para calcular a rota. Se a preferência de trajeto resultar em um erro ou em uma latência muito longa, um erro será retornado. No futuro, poderemos implementar um mecanismo substituto para usar uma opção diferente quando a opção preferida não fornecer um resultado válido. Só é possível especificar essa opção quando travelMode é DRIVE ou TWO_WHEELER. Caso contrário, a solicitação falha.

departureTime

string (Timestamp format)

Opcional. O horário de partida. Se você não definir esse valor, o padrão será a hora em que você fez a solicitação. Se você definir esse valor como uma hora que já ocorreu, a solicitação falhará.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de RouteMatrixElement.

Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Para mais informações, consulte a Visão geral do OAuth 2.0.