As preferências de tráfego selecionadas balanceiam a precisão dos detalhes da rota com a performance da solicitação. Ao fazer uma solicitação, você precisa avaliar se é melhor retornar os resultados mais precisos possíveis ou o mais rápido possível. A API Routes oferece opções que permitem controlar a qualidade dos dados de resposta em relação à latência da resposta.
Definir o nível dos dados de tráfego
A API Routes oferece RoutingPreference (REST) e RoutingPreference (gRPC) para especificar preferências de roteamento para calcular rotas. Essas preferências são diferentes na medida em que consideram as condições de trânsito no cálculo da rota. Cada preferência de roteamento produz resultados que diferem em um grau em relação à qualidade da rota, à hora estimada de chegada e à latência de resposta.
As condições de trânsito caracterizam a taxa de fluxo de trânsito. Exemplo:
- Quando não há congestionamento, as condições de trânsito são consideradas normais e o trânsito flui na velocidade normal sem impedimentos.
- À medida que a hora de pico se aproxima, a densidade do tráfego aumenta, o que faz com que o tráfego diminua, produzindo condições de tráfego leves a moderadas.
- No trânsito parado, a taxa de fluxo é interrompida, produzindo condições de tráfego intenso.
Sem informações sobre o trânsito
Quando você define a preferência de roteamento TRAFFIC_UNAWARE
, as rotas são calculadas
sem considerar as condições atuais de trânsito. Essa preferência de roteamento
oferece a menor latência de resposta (as respostas são retornadas mais rapidamente).
TRAFFIC_UNAWARE
é a configuração padrão.
Na resposta:
O ETA está contido na propriedade de resposta
duration
.As propriedades de resposta
duration
estaticDuration
contêm o mesmo valor.
Use essa preferência de roteamento quando quiser que as respostas sejam retornadas o mais rápido possível e os detalhes aproximados do roteamento sejam bons o suficiente.
Com base no trânsito
Quando você define a preferência de roteamento TRAFFIC_AWARE
, as rotas são calculadas considerando as condições de trânsito atuais. Como resultado, a rota e os detalhes dela refletem com mais precisão as condições do mundo real. Como esse aumento na
qualidade dos dados ocorre à custa da latência de resposta, as otimizações de desempenho
são aplicadas para reduzir grande parte da latência.
Na resposta:
O ETA que considera o trânsito em tempo real está contido na propriedade de resposta
duration
.A propriedade de resposta
staticDuration
contém a duração da viagem pela rota sem considerar as condições de trânsito.
Use essa preferência de roteamento quando quiser detalhes de roteamento mais precisos do que
TRAFFIC_UNAWARE
, mas não se importar se as respostas forem retornadas com um
aumento moderado na latência.
Com informações de trânsito
Quando você define a preferência de roteamento TRAFFIC_AWARE_OPTIMAL
, as rotas são
calculadas considerando as condições atuais de tráfego, mas nenhuma otimização
de desempenho é aplicada. Nesse modo, o servidor realiza uma pesquisa mais completa da rede de estradas para encontrar o trajeto ideal.
A preferência de roteamento TRAFFIC_AWARE_OPTIMAL
é equivalente ao modo usado pelo
maps.google.com e pelo
app Google Maps para dispositivos móveis.
Ao usar essa opção com a matriz de rotas do Compute, o número de elementos em uma solicitação (número de origens × número de destinos) não pode exceder 100. Para saber mais sobre os limites da Compute Route Matrix, consulte Como calcular uma matriz de rotas.
Na resposta:
O ETA que considera o trânsito em tempo real está contido na propriedade de resposta
duration
.A propriedade de resposta
staticDuration
contém a duração da viagem pela rota sem considerar as condições de trânsito.
Essa preferência de roteamento oferece a maior latência de resposta, ou seja, as respostas são retornadas com o maior atraso. Use essa preferência de roteamento quando quiser resultados da mais alta qualidade, sem se importar com o tempo que as respostas levam.
Efeito da configuração do horário de partida
Você pode usar a propriedade departureTime
para definir o horário de partida de uma viagem. Se você não definir a propriedade departureTime
, ela vai ser definida como
o momento em que você fez a solicitação.
Para
TRAFFIC_UNAWARE
, não é possível definirdepartureTime
porque a escolha do trajeto e da duração se baseia na rede viária e nas condições médias de trânsito (independente da hora).Para
TRAFFIC_AWARE
eTRAFFIC_AWARE_OPTIMAL
, que consideram as condições de trânsito em tempo real, o trânsito em tempo real se torna mais importante quanto mais próximo do horário atual for odepartureTime
. Quanto mais distante você definir o horário de partida, mais consideração será dada às condições históricas de tráfego.
Exemplo de configuração de preferência de roteamento
O código JSON a seguir demonstra como definir a preferência de roteamento no corpo da entidade da mensagem de solicitação.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
Configurar o tráfego em polilinhas
A API Routes permite solicitar informações sobre as condições de trânsito ao longo de uma poligonal sensível ao trânsito. Consulte Solicitar polilinhas para mais informações.