Você pode calcular a distância e a duração de um trajeto para vários
origens e destinos usando o método ComputeRouteMatrix
da API Routes Preferred. ComputeRouteMatrix
suporta
chamadas gRPC de streaming e chamadas HTTP REST.
Com uma lista de pares de origem e destino, ComputeRouteMatrix
calcula a distância e a duração de um trajeto começando em cada origem
e terminando em cada destino. Cada elemento do fluxo corresponde
às informações de um único trajeto.
O método ComputeRouteMatrix
tem várias vantagens em relação
Serviço Distance Matrix:
- O streaming permite que os elementos sejam retornados antes de toda a matriz da latência, o que reduz a latência.
- O
ComputeRouteMatrix
tem opções refinadas para o cálculo de tráfego, permitindo que você tome decisões compensação de qualidade e latência. - As solicitações são executadas com prioridade mais alta na infraestrutura do Google, o que resulta em maior disponibilidade.
- Você pode especificar a direção (direção da viagem) e o lado da estrada informações sobre waypoints.
- Você pode solicitar a devolução de informações de pedágio, bem como distância do trajeto e HEC.
Ativar o método ComputeRouteMatrix
Antes de usar o método ComputeRouteMatrix
no código, você precisa:
ativá-la. Para mais informações sobre como ativar a API Routes Preferred
métodos, consulte Primeiros passos.
Usar o método ComputeRouteMatrix
O método ComputeRouteMatrix
está disponível na API Routes Preferred
Endpoint v1.
Consulte a documentação a seguir para conferir informações mais detalhadas:
As etapas genéricas a seguir descrevem como usar o gRPC para chamar
O método ComputeRouteMatrix
:
Confira os protobuffers necessários do repositório googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
Alguns sistemas de build, como o Go, podem fazer isso automaticamente.
Usando sua linguagem preferida e um conjunto de ferramentas de build, gere a versão protobuffer.
Gere a solicitação. É necessário enviar duas partes obrigatórias dos metadados com a solicitação:
- X-Goog-Api-Key precisa ser definido como sua chave de API.
X-Goog-Fieldmask precisa ser definido como uma lista dos campos separada por vírgulas; que você precisa na resposta. Por exemplo: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Você pode usar o caractere curinga (*) para indicar todos os campos, mas desanimado. Use o caractere curinga para testar e entender o resposta da API, mas listar explicitamente os campos que você quer na máscara de campo no código de produção.
Para mais informações sobre como construir a string da máscara de campo, consulte https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Desativar os campos desnecessários pode reduzir a latência, já que esses campos podem exigir mais cálculos. Sua latência não vai mudar estável se você especificar os campos necessários e novos campos que exigem mais computação são adicionados depois.
Envie sua solicitação para
routespreferred.googleapis.com:443
.Use o protocolo TLS.
Para exemplos de como usar o método ComputeRouteMatrix
, consulte
Exemplos de computação de uma matriz de rota (Beta)
Uma característica distinta do método ComputeRouteMatrix
é que
podem ser retornados para toda a transmissão ou para palavras-chave
os elementos. Por exemplo, a conexão de stream retorna um erro se a solicitação
está malformada (por exemplo, não tem origens); No entanto, se ocorrer um erro,
a apenas alguns elementos do fluxo (por exemplo, definir um ID de lugar inválido
para uma origem), somente os elementos afetados pelo erro conterão códigos de erro.
Não há garantia de que os elementos retornados pelo stream sejam retornados.
em qualquer ordem. Por isso, cada elemento contém uma origin_index
e um destination_index
. Para as origens e os destinos especificados
pela solicitação, a origem da rota será equivalente a origins[origin_index]
para um determinado elemento, e o destino da rota é equivalente
para destinations[destination_index]
. Essas matrizes são indexadas zero. Ela
é importante armazenar os pedidos da lista de origem e destino.
Como calcular taxas de pedágio
Para informações sobre o cálculo das taxas de pedágio, consulte Calcular taxas de pedágio
Para ver exemplos de cálculo de taxas de pedágio, consulte Como calcular uma matriz de rota (em inglês).