Una ruta de transporte público proporciona instrucciones de navegación con las opciones de transporte público disponibles en la región. Las opciones de transporte público pueden incluir autobuses, subterráneos y trenes, entre otros. Por lo general, una ruta de transporte público también incluye instrucciones para caminar hacia las estaciones de transporte público, desde ellas y entre ellas. Debido a que, por lo general, una ruta de transporte público requiere que viajes en más de un medio de transporte, la forma en que solicitas la ruta y algunas partes de la respuesta son diferentes.
En qué se diferencian las rutas de transporte público de otras rutas
Las rutas de transporte público, que se solicitan configurando un travelMode de TRANSIT, difieren de las rutas que usan diferentes opciones de medio de transporte.
No puedes solicitar todos los mismos objetos y opciones, y la respuesta devuelve campos diferentes en comparación con otras rutas.
En la API de Routes, los pasos son siempre una instrucción de navegación en todos los tipos de viajes. Por lo tanto, cada instrucción de navegación es un paso. Una respuesta de ruta de transporte público es muy similar a las rutas con otros modos de viaje, con algunas diferencias clave:
| Diferencias en la solicitud | Diferencias en las respuestas |
|---|---|
| No puedes especificar puntos intermedios de la ruta. | Incluye detalles del transporte público. |
| No se pueden obtener rutas ecológicas | Incluye metadatos para cada modo de viaje que contiene el resumen de los pasos para ese modo de viaje, en stepsOverview (para solicitar estos metadatos, usa la máscara de campo stepsOverview). |
| No se puede especificar cómo ni si se deben incluir los datos de tráfico | |
| No se pueden especificar las características de la ruta que se deben evitar | |
Solo se puede especificar transitPreferences. Para obtener más información, consulta TransitPreference. |
Cómo obtener una ruta en transporte público
- Configura tu origen y destino.
- Establece la
travelModeenTRANSIT. - Agrega las máscaras de campo adecuadas para obtener la respuesta que necesitas. Consulta Cómo solicitar los campos de ruta de transporte público que necesitas.
- Si es necesario, establece parámetros opcionales. Consulta Cómo establecer parámetros para una ruta de transporte público.
Solicita los campos de ruta de transporte público que necesites
Solicita los campos de ruta de transporte público que necesitas con máscaras de campo. En la siguiente tabla, se incluyen algunas respuestas sugeridas para una ruta de transporte público y la máscara de campo que se debe usar para solicitarlas.
| Para solicitar esta información | Usa esta máscara de campo |
|---|---|
| Todos los detalles de la ruta | * |
| Son los detalles del transporte público para los tramos de la ruta. | legs |
| Es la tarifa estimada para cada paso de la ruta y la tarifa estimada localizada. | travelAdvisory |
| Texto localizado para la duración y la distancia | localizedValues |
Cómo establecer parámetros para una ruta de transporte público
Estos son los parámetros relevantes para las rutas de transporte público:
| Para ello, | Usa este parámetro | Notas |
|---|---|---|
| Selecciona el modo de transporte público | travelMode: "TRANSIT" |
Obligatorio. Obtén más información. |
| Cómo establecer una hora de llegada o salida | arrivalTime: new Date(yyyy-mm-ddThh:mm:ssZ)
O departureTime: new Date(yyyy-mm-ddThh:mm:ssZ) |
Opcional. Puedes especificar la hora de llegada o de partida. Si no se especifica ninguna hora, departureTime se establece de forma predeterminada en la hora de ejecución actual (now). Puedes establecer las horas de llegada y salida solo dentro del siguiente período, con la hora de ejecución actual (now) como referencia:
Date.
Nota: Los horarios de transporte público cambian con frecuencia, los viajes en transporte público disponibles pueden cambiar con el tiempo y no se garantiza que se proporcionen resultados coherentes para las predicciones con mucha anticipación. |
| Incluir rutas alternativas | computeAlternativeRoutes: true |
Opcional. Se establece en verdadero para que computeRoutes calcule hasta 3 rutas adicionales, cuando estén disponibles.
Más información |
| Especifica las preferencias para el tipo de transporte público | transitPreference: {allowedTransitModes: ["BUS", "SUBWAY", "TRAIN", "LIGHT_RAIL", "RAIL"]}
Nota: Si especificas un medio de transporte preferido, es posible que las rutas devueltas sigan usando otros medios de transporte público, o incluso que solo usen otros medios de transporte público, según la eficiencia de la ruta y la disponibilidad del medio de transporte preferido. |
Opcional. Especifica los medios de transporte público preferidos. Más información |
| Especifica las preferencias de la ruta de transporte público | transitPreference: {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Opcional. Especifica las preferencias de enrutamiento de transporte público. Más información |
Ejemplo de solicitud
En el siguiente ejemplo, se muestra cómo solicitar una ruta 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'], };