Method: computeRouteMatrix

Prend une liste des points de départ et des destinations, et renvoie un flux contenant des informations sur l'itinéraire pour chaque combinaison point de départ et destination.

REMARQUE:Cette méthode nécessite que vous spécifiiez un masque de champ de réponse dans l'entrée. Vous pouvez fournir le masque de champ de réponse à l'aide du paramètre d'URL $fields ou fields, ou en utilisant l'en-tête HTTP/gRPC X-Goog-FieldMask (consultez la section Paramètres d'URL et en-têtes disponibles). La valeur est une liste de chemins d'accès séparés par des virgules. Consultez cette documentation détaillée pour découvrir comment créer les chemins d'accès des champs.

Par exemple, avec cette méthode:

  • Masque de champ de tous les champs disponibles (pour inspection manuelle): X-Goog-FieldMask: *
  • Masque de champ indiquant la durée des itinéraires, les distances, l'état des éléments, l'état et les index des éléments (exemple de configuration de production): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Il est essentiel d'inclure status dans votre masque de champ, sinon tous les messages vous sembleront corrects. Google déconseille d'utiliser le masque de champ de réponse générique (*) pour les raisons suivantes:

  • En sélectionnant uniquement les champs dont vous avez besoin, vous aidez notre serveur à enregistrer les cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
  • La sélection des champs nécessaires à la tâche de production garantit des performances de latence stables. Nous ajouterons peut-être d'autres champs de réponse à l'avenir, et ces nouveaux champs pourraient nécessiter un temps de calcul supplémentaire. Si vous sélectionnez tous les champs ou si vous sélectionnez tous les champs au niveau supérieur, vous constaterez peut-être une baisse des performances, car les nouveaux champs seront automatiquement inclus dans la réponse.
  • Si vous sélectionnez uniquement les champs dont vous avez besoin, vous obtenez une réponse de taille inférieure et donc un débit réseau plus élevé.

Requête HTTP :

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Champs
origins[]

object (RouteMatrixOrigin)

Obligatoire. Tableau des origines, qui détermine les lignes de la matrice de réponse. Plusieurs restrictions de taille s'appliquent à la cardinalité des origines et des destinations:

  • La somme du nombre de points de départ + le nombre de destinations spécifié en tant que placeId ou address ne doit pas dépasser 50.
  • Le produit du nombre d'origines × le nombre de destinations ne doit en aucun cas être supérieur à 625.
  • Le nombre de points de départ par le nombre de destinations ne doit pas être supérieur à 100 si la valeur routerPreference est définie sur TRAFFIC_AWARE_OPTIMAL.
  • Le produit du nombre d'origines × le nombre de destinations ne doit pas être supérieur à 100 si "modeMode" est défini sur TRANSIT.
destinations[]

object (RouteMatrixDestination)

Obligatoire. Tableau de destinations qui détermine les colonnes de la matrice de réponse.

travelMode

enum (RouteTravelMode)

Facultatif. Spécifie le mode de transport.

routingPreference

enum (RoutingPreference)

Facultatif. Indique comment calculer la route. Le serveur tente de calculer la route à l'aide de la préférence de routage sélectionnée. Si les préférences de routage génèrent une erreur ou une latence très longue, une erreur est renvoyée. Vous ne pouvez spécifier cette option que si travelMode est défini sur DRIVE ou TWO_WHEELER. Sinon, la requête échoue.

departureTime

string (Timestamp format)

Facultatif. Heure de départ. Si vous ne définissez pas cette valeur, elle est définie par défaut sur l'heure à laquelle vous avez effectué la requête. REMARQUE: Vous ne pouvez spécifier une date de fin departureTime que lorsque RouteTravelMode est défini sur TRANSIT.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

Facultatif. L'heure d'arrivée. REMARQUE: Ce champ ne peut être défini que si RouteTravelMode est défini sur TRANSIT. Vous pouvez spécifier departureTime ou arrivalTime, mais pas les deux.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

languageCode

string

Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consultez la section Langues acceptées pour obtenir la liste des langues acceptées. Si vous ne renseignez pas cette valeur, la langue d'affichage est déduite de la zone de départ.

regionCode

string

Facultatif. Code de région, spécifié sous forme de valeur ccTLD (domaine de premier niveau) à deux caractères. Pour en savoir plus, consultez la page https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains (en anglais).

extraComputations[]

enum (ExtraComputation)

Facultatif. Liste de calculs supplémentaires pouvant être utilisés pour traiter la requête. Remarque: Ces calculs supplémentaires peuvent renvoyer des champs supplémentaires dans la réponse. Ces champs supplémentaires doivent également être spécifiés dans le masque de champ à renvoyer dans la réponse.

trafficModel

enum (TrafficModel)

Facultatif. Spécifie les hypothèses à utiliser pour calculer le temps de trajet. Ce paramètre affecte la valeur renvoyée dans le champ de durée dans RouteMatrixElement, qui contient les prévisions de temps de circulation en fonction des moyennes historiques. RoutingPreference à TRAFFIC_AWARE_OPTIMAL et RouteTravelMode à DRIVE. La valeur par défaut est BEST_GUESS si le trafic est demandé et que TrafficModel n'est pas spécifié.

transitPreferences

object (TransitPreferences)

Facultatif. Spécifie les préférences qui influent sur l'itinéraire renvoyé pour TRANSIT. REMARQUE: Vous ne pouvez spécifier un élément transitPreferences que si RouteTravelMode est défini sur TRANSIT.

Corps de la réponse

Contient des informations de routage calculées pour une paire point de départ-destination dans l'API v2.computeRouteMatrix. Ce protocole peut être transmis au client.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
Champs
status

object (Status)

Code d'état d'erreur pour cet élément.

condition

enum (RouteMatrixElementCondition)

Indique si l'itinéraire a été trouvé. Indépendamment du statut.

distanceMeters

integer

Distance de l'itinéraire, en mètres.

duration

string (Duration format)

Durée de la navigation sur l'itinéraire. Si vous définissez routingPreference sur TRAFFIC_UNAWARE, cette valeur est identique à staticDuration. Si vous définissez routingPreference sur TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, cette valeur est calculée en tenant compte des conditions de circulation.

Durée en secondes avec neuf chiffres au maximum, finissant par "s". Exemple: "3.5s".

staticDuration

string (Duration format)

Durée du trajet sans tenir compte des conditions de circulation.

Durée en secondes avec neuf chiffres au maximum, finissant par "s". Exemple: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Informations supplémentaires sur l'itinéraire Par exemple: informations sur les restrictions et les péages

fallbackInfo

object (FallbackInfo)

Dans certains cas, lorsque le serveur ne parvient pas à calculer la route avec les préférences données pour cette paire point de départ-destination, il peut utiliser un autre mode de calcul. Lorsque le mode de remplacement est utilisé, ce champ contient des informations détaillées sur la réponse de remplacement. Dans le cas contraire, ce champ n'est pas défini.

localizedValues

object (LocalizedValues)

Représentations textuelles des propriétés de RouteMatrixElement.

originIndex

integer

Index de base zéro de l'origine dans la requête.

destinationIndex

integer

Index basé sur zéro de la destination dans la requête.

RouteMatrixOrigin

Une origine unique pour ComputeRouteMatrixRequest

Représentation JSON
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
Champs
waypoint

object (Waypoint)

Obligatoire. Point de cheminement de départ

routeModifiers

object (RouteModifiers)

Facultatif. Modificateurs pour chaque itinéraire qui utilise cette valeur comme point de départ

DestinationMatrixDestination

Une destination unique pour ComputeRouteMatrixRequest

Représentation JSON
{
  "waypoint": {
    object (Waypoint)
  }
}
Champs
waypoint

object (Waypoint)

Obligatoire. Point de cheminement de destination

Extracalcul

Calculs supplémentaires à effectuer lors de l'exécution de la requête.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Non utilisé. Les requêtes contenant cette valeur échoueront.
TOLLS Informations de péage pour les éléments de la matrice.

RouteMatrixElementCondition

État de l'itinéraire affiché.

Enums
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Utilisée uniquement lorsque le status de l'élément n'est pas acceptable.
ROUTE_EXISTS Une route a été trouvée, et les informations correspondantes ont été renseignées pour l'élément.
ROUTE_NOT_FOUND Aucun itinéraire trouvé. Les champs contenant des informations sur l'itinéraire, tels que distanceMeters ou duration, ne sont pas renseignés dans l'élément.

Valeurs localisées

Représentations textuelles de certaines propriétés.

Représentation JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Champs
distance

object (LocalizedText)

Distance de trajet représentée sous forme de texte.

duration

object (LocalizedText)

Durée représentée sous forme de texte en tenant compte des conditions de circulation. Remarque: si aucune information sur le trafic n'a été demandée, cette valeur est identique à celle de staticDuration.

staticDuration

object (LocalizedText)

Durée représentée sous forme textuelle sans tenir compte des conditions de circulation.

transitFare

object (LocalizedText)

Tarif des transports en commun représenté sous forme de texte.