Uma rota de transporte público fornece instruções de navegação usando as opções de transporte público disponíveis na região. As opções de transporte público podem incluir ônibus, metrôs e trens, entre outros. Uma rota de transporte público também inclui instruções sobre como caminhar até, de e entre as estações. Como uma rota de transporte público geralmente exige que você viaje usando mais de um modo de transporte, a maneira de solicitar a rota e algumas partes da resposta são diferentes.
Como as rotas de transporte público são diferentes de outras rotas
As rotas de transporte público, que você solicita definindo um travelMode de TRANSIT, são diferentes das rotas que usam outras opções de meio de transporte.
Não é possível solicitar todos os mesmos objetos e opções, e a resposta
retorna campos diferentes, quando comparada a outras rotas.
Na API Routes, as etapas são sempre uma instrução de navegação em todos os tipos de viagem. Portanto, cada instrução de navegação é uma etapa. Uma resposta de trajeto de transporte público é muito semelhante a trajetos com outros meios de transporte, com algumas diferenças importantes:
| Diferenças de solicitação | Diferenças nas respostas |
|---|---|
| Não é possível especificar pontos de referência intermediários. | Inclui detalhes do transporte público. |
| Não é possível receber trajetos ecológicos | Inclui metadados para cada modo de transporte que contém o resumo das etapas para
esse modo de transporte, em stepsOverview. Para solicitar esses metadados, use a
máscara de campo stepsOverview. |
| Não é possível especificar como e se os dados de tráfego serão incluídos | |
| Não é possível especificar recursos de trajeto a serem evitados | |
Só é possível especificar transitPreferences. Para mais detalhes, consulte
TransitPreference. |
Para conferir um trajeto de transporte público
- Defina a origem e o destino.
- Defina
travelModecomoTRANSIT. - Adicione as máscaras de campo adequadas para receber a resposta necessária. Consulte Solicitar os campos de rota de transporte público necessários.
- Se necessário, defina parâmetros opcionais. Consulte Definir parâmetros para uma rota de trânsito.
Solicitar os campos de rota de transporte público necessários
Solicite os campos de rota de transporte público de que precisa usando máscaras de campo. A tabela a seguir contém algumas respostas sugeridas para um trajeto de transporte público e a máscara de campo a ser usada para solicitá-las.
| Para solicitar essas informações | Usar esta máscara de campo |
|---|---|
| Todos os detalhes da rota. | * |
| Detalhes do transporte para cada trecho da rota. | legs |
| Tarifa estimada para cada etapa do percurso e tarifa estimada local. | travelAdvisory |
| Texto localizado para duração e distância | localizedValues |
Defina os parâmetros para uma rota de trânsito.
Aqui estão os parâmetros relevantes para as rotas de transporte público:
| Para fazer isso | Use este parâmetro | Observações |
|---|---|---|
| Selecione o modo de transporte | travelMode: "TRANSIT" |
Obrigatório. Saiba mais. |
| Definir um horário de chegada ou partida | arrivalTime: new Date(yyyy-mm-ddThh:mm:ssZ)
OU departureTime: new Date(yyyy-mm-ddThh:mm:ssZ) |
Opcional. É possível especificar o horário de chegada ou de partida. Se nenhum dos horários for especificado, o departureTime será definido como o horário de execução atual (now). Você só poderá definir horários de chegada e partida dentro da seguinte janela de tempo, com o horário de execução atual (now) como referência:
Date.
Observação: Os horários do transporte público mudam frequentemente, as viagens disponíveis podem variar ao longo do tempo e não há garantia de resultados consistentes para previsões feitas com muita antecedência. |
| Incluir rotas alternativas | computeAlternativeRoutes: true |
Opcional. Defina como verdadeiro para que computeRoutes calcule até 3 rotas adicionais, quando disponíveis.
Saiba mais |
| Especifique as preferências para o tipo de transporte. | transitPreference: {allowedTransitModes: ["BUS", "SUBWAY", "TRAIN", "LIGHT_RAIL", "RAIL"]}
Observação: se você especificar um meio de transporte preferido, as rotas retornadas ainda poderão usar outros meios de transporte, até mesmo apenas outros meios de transporte, dependendo da eficiência da rota e da disponibilidade do meio de transporte preferido. |
Opcional. Especifique os meios de transporte preferidos. Saiba mais |
| Especificar preferências para o trajeto de transporte público | transitPreference: {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Opcional. Especifique as preferências de roteamento de trânsito. Saiba mais |
Exemplo de solicitação
O exemplo a seguir mostra como solicitar um trajeto de transporte público:
const request = { origin: 'Hunters Point San Francisco, CA 94124', destination: '201 Marine Dr, San Francisco, CA 94129', travelMode: 'TRANSIT', departureTime: new Date(), transitPreference: { allowedTransitModes: ['BUS', 'SUBWAY', 'TRAIN', 'LIGHT_RAIL', 'RAIL'], routingPreference: 'FEWER_TRANSFERS', // Alternatively, 'LESS_WALKING'. }, fields: ['path', 'legs', 'travelAdvisory', 'localizedValues'], };