Obtenir un itinéraire en transports en commun

Développeurs de l'Espace économique européen (EEE)

Un itinéraire en transports en commun fournit des instructions de navigation à l'aide des options de transports en commun disponibles dans la région. Les options de transport en commun peuvent inclure, entre autres, les bus, les métros et les trains. Un itinéraire en transports en commun inclut généralement des instructions pour se rendre à pied aux stations de transports en commun, pour en partir et pour se déplacer entre elles. Étant donné qu'un itinéraire en transports en commun nécessite généralement d'utiliser plusieurs modes de transport, la façon dont vous demandez l'itinéraire et certaines parties de la réponse sont différentes.

Différences entre les itinéraires de transport en commun et les autres itinéraires

Les itinéraires de transport en commun, que vous demandez en définissant travelMode sur TRANSIT, diffèrent des itinéraires utilisant d'autres options de mode de transport. Vous ne pouvez pas demander tous les mêmes objets et options, et la réponse renvoie des champs différents par rapport aux autres routes.

Dans l'API Routes, les étapes correspondent toujours à une instruction de navigation, quel que soit le mode de déplacement. Chaque instruction de navigation est une étape. Une réponse d'itinéraire de transport en commun est très semblable à celle des itinéraires avec d'autres modes de transport, à quelques différences clés près :

Différences au niveau des requêtes Différences de réponses
Vous ne pouvez pas spécifier de points de passage intermédiaires. Inclut des informations sur le transit.
Impossible d'obtenir des itinéraires économes en carburant Inclut les métadonnées de chaque mode de transport, qui contiennent le récapitulatif des étapes pour ce mode de transport, dans stepsOverview (pour demander ces métadonnées, utilisez le masque de champ stepsOverview).
Vous ne pouvez pas spécifier comment et si inclure les données de trafic.
Impossible de spécifier les caractéristiques de l'itinéraire à éviter
Vous ne pouvez spécifier que transitPreferences. Pour en savoir plus, consultez TransitPreference.

Pour obtenir un itinéraire en transports en commun

  1. Définissez votre point de départ et votre destination.
  2. Définissez travelMode sur TRANSIT.
  3. Ajoutez les masques de champ appropriés pour obtenir la réponse dont vous avez besoin. Consultez Demander les champs de trajet en transports en commun dont vous avez besoin.
  4. Si nécessaire, définissez des paramètres facultatifs. Consultez Définir des paramètres pour un itinéraire de transport en commun.

Demander les champs de ligne de transport en commun dont vous avez besoin

Demandez les champs de l'itinéraire de transport en commun dont vous avez besoin à l'aide de masques de champ. Le tableau suivant contient des réponses suggérées pour un itinéraire de transport en commun, ainsi que le masque de champ à utiliser pour les demander.

Pour demander ces informations Utiliser ce masque de champ
Tous les détails de l'itinéraire. *
Détails des transports en commun pour les sections d'itinéraire. legs
Tarif estimé pour chaque étape de l'itinéraire et tarif estimé localisé. travelAdvisory
Texte localisé pour la durée et la distance localizedValues

Définir des paramètres pour un itinéraire de transport en commun

Voici les paramètres pertinents pour les itinéraires en transport en commun :

Pour ce faire : Utiliser ce paramètre Remarques
Sélectionner un mode de transport en commun travelMode: "TRANSIT" Obligatoire. En savoir plus
Définir une heure d'arrivée ou de départ arrivalTime: new Date(yyyy-mm-ddThh:mm:ssZ)

OU

departureTime: new Date(yyyy-mm-ddThh:mm:ssZ)
Facultatif. Vous pouvez spécifier l'heure d'arrivée ou de départ. Si aucune heure n'est spécifiée, departureTime est défini par défaut sur l'heure d'exécution actuelle (now). Vous ne pouvez définir les heures d'arrivée et de départ que dans la fenêtre temporelle suivante, avec l'heure d'exécution actuelle (now) comme référence :
  • jusqu'à sept jours avant le now inclus
  • jusqu'à 100 jours après now (inclus)
L'heure est exprimée sous la forme d'un objet Date.

Remarque : Les horaires des transports en commun changent fréquemment. Les trajets disponibles peuvent évoluer au fil du temps. Nous ne pouvons pas garantir des résultats cohérents pour les prédictions à long terme.

Inclure les itinéraires bis computeAlternativeRoutes: true Facultatif. Définissez la valeur sur "true" pour que computeRoutes calcule jusqu'à trois itinéraires supplémentaires, si disponibles. En savoir plus
Spécifier les préférences pour le type de transport en commun transitPreference: {allowedTransitModes: ["BUS", "SUBWAY", "TRAIN", "LIGHT_RAIL", "RAIL"]}

Remarque : Si vous spécifiez un mode de transport préféré, les itinéraires renvoyés peuvent toujours utiliser d'autres modes de transport, voire uniquement d'autres modes de transport, en fonction de l'efficacité de l'itinéraire et de la disponibilité du mode de transport préféré.

Facultatif. Spécifiez les modes de transport en commun préférés. En savoir plus
Spécifier les préférences pour l'itinéraire en transports en commun transitPreference: {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} Facultatif. Spécifiez les préférences d'acheminement des transports en commun. En savoir plus

Exemple de requête

L'exemple suivant montre comment demander un itinéraire en transports en commun :

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'],
};