Por padrão, os pontos de parada intermediários são usados para paradas de coleta e desembarque, mas também é possível especificar que um ponto de parada intermediário é destinado apenas a passagem.
Um trajeto que contém um waypoint de origem, um waypoint intermediário de passagem e um waypoint de destino tem apenas um trecho que conecta a origem e o destino, passando pelo waypoint intermediário (chamado de via).
Configure um ponto de passagem intermediário para ser um ponto de passagem direto
definindo a propriedade via do ponto de passagem como true usando a
interface Waypoint.
A propriedade via é mais eficaz ao criar rotas em resposta ao usuário arrastando os pontos de referência no mapa. Assim, o usuário pode ver como a rota final pode ficar em tempo real e ajuda a garantir que os pontos de referência sejam colocados em locais acessíveis à biblioteca Routes.
Exemplo de solicitação
O exemplo de solicitação a seguir demonstra como marcar um ponto de parada intermediário como um ponto de parada de passagem.
const routeRequestWithVia = { origin: '100 Moffett Blvd, Mountain View, CA 94043', destination: '1199 9th Ave, San Francisco, CA 94122', travelMode: 'DRIVING', intermediates: [ {location: 'Half Moon Bay, CA', via: true} // Set the via property to true ], fields: ['path', 'legs'], }; // Make the request. const {routes, fallbackInfo, geocodingResults} = await Route.computeRoutes(routeRequestWithIntermediates);
Acessar IDs de lugares para pontos de parada intermediários
Se você especificar o local de uma origem, um destino ou um ponto de parada intermediário como uma string de endereço ou um Plus Code, a biblioteca Routes tentará encontrar o local mais relevante com um ID de lugar correspondente. A matriz geocodingResults.intermediates nos resultados contém o ID do lugar correspondente ao local dos pontos de referência, além de outros dados sobre o local.
Exemplo de resposta de resultados de geocodificação
{ "origin": { "geocoderStatus": "OK", "types": [ "premise", "street_address" ], "partialMatch": false, "placeId": "ChIJb5NgcTa3j4ARrfF4Oc_f6q8", "intermediateWaypointRequestIndex": null }, "destination": { "geocoderStatus": "OK", "types": [ "premise", "street_address" ], "partialMatch": false, "placeId": "ChIJAbIPLl2HhYARQ0SSdDFxU-s", "intermediateWaypointRequestIndex": null }, "intermediates": [ { "geocoderStatus": "OK", "types": [ "locality", "political" ], "partialMatch": false, "placeId": "ChIJC8sZCqULj4ARVJvnNcic_V4", "intermediateWaypointRequestIndex": 0 } ] }