Method: computeRouteMatrix

Accepte une liste de points de départ et de destinations, et renvoie un flux contenant des informations sur l'itinéraire pour chaque combinaison de point de départ et de 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 à l'aide de l'en-tête HTTP/gRPC X-Goog-FieldMask (consultez les paramètres et en-têtes d'URL disponibles). La valeur est une liste de chemins de champs séparés par une virgule. Consultez cette documentation détaillée sur la construction des chemins d'accès aux champs.

Par exemple, dans cette méthode :

  • Masque de champ de tous les champs disponibles (pour l'inspection manuelle) : X-Goog-FieldMask: *
  • Masque de champ des durées et distances des itinéraires, de l'état des éléments, de la condition et des 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, car sinon tous les messages sembleront corrects. Google déconseille l'utilisation du masque de champ de réponse générique (*), car :

  • Si vous ne sélectionnez que les champs dont vous avez besoin, notre serveur économise des cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
  • Si vous ne sélectionnez que les champs dont vous avez besoin dans votre job de production, vous garantissez des performances de latence stables. Nous pourrons ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs pourront nécessiter un temps de calcul supplémentaire. Si vous sélectionnez tous les champs ou tous les champs au niveau supérieur, les performances peuvent se dégrader, car tout nouveau champ que nous ajoutons sera automatiquement inclus dans la réponse.
  • Si vous ne sélectionnez que les champs dont vous avez besoin, la taille de la réponse sera plus petite et le débit réseau sera donc 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,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Champs
origins[]

object (RouteMatrixOrigin)

Obligatoire. Tableau d'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 d'origines et du nombre de destinations spécifiés sous la forme placeId ou address ne doit pas dépasser 50.
  • Le produit du nombre d'origines par le nombre de destinations ne doit en aucun cas dépasser 625.
  • Le produit du nombre d'origines par le nombre de destinations ne doit pas dépasser 100 si routingPreference est défini sur TRAFFIC_AWARE_OPTIMAL.
  • Le produit du nombre d'origines par le nombre de destinations ne doit pas dépasser 100 si travelMode 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. Spécifie comment calculer l'itinéraire. Le serveur tente d'utiliser la préférence de routage sélectionnée pour calculer le trajet. Si la préférence de routage entraîne une erreur ou une latence très longue, une erreur est renvoyée. Vous ne pouvez spécifier cette option que lorsque 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 envoyé la demande. REMARQUE : Vous ne pouvez spécifier une departureTime dans le passé que lorsque RouteTravelMode est défini sur TRANSIT.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

Facultatif. Heure d'arrivée. REMARQUE : Ne peut être défini que lorsque RouteTravelMode est défini sur TRANSIT. Vous pouvez spécifier une liste departureTime ou une liste arrivalTime, mais pas les deux.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

languageCode

string

Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez Identifiant de paramètres régionaux Unicode. Pour obtenir la liste des langues disponibles, consultez Langues acceptées. Si vous ne fournissez pas cette valeur, la langue d'affichage est déduite de l'emplacement de la première origine.

regionCode

string

Facultatif. Code régional, spécifié sous la forme d'une valeur ccTLD (TLD pour top-level domain, domaine de premier niveau) à deux caractères. Pour en savoir plus, consultez Domaines de premier niveau de code pays.

units

enum (Units)

Facultatif. Spécifie les unités de mesure pour les champs d'affichage.

extraComputations[]

enum (ExtraComputation)

Facultatif. Liste des calculs supplémentaires pouvant être utilisés pour traiter la demande. 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 pour être renvoyés dans la réponse.

trafficModel

enum (TrafficModel)

Facultatif. Spécifie les hypothèses à utiliser pour calculer le temps de trajet selon le trafic. Ce paramètre influe sur la valeur renvoyée dans le champ de durée de RouteMatrixElement, qui contient le temps de trajet prévu en fonction des moyennes historiques. TrafficModel n'est disponible que pour les requêtes qui ont défini RoutingPreference sur TRAFFIC_AWARE_OPTIMAL et RouteTravelMode sur 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 influencent l'itinéraire renvoyé pour les itinéraires TRANSIT. REMARQUE : Vous ne pouvez spécifier un transitPreferences que lorsque RouteTravelMode est défini sur TRANSIT.

Corps de la réponse

Contient les informations d'itinéraire calculées pour une paire origine/destination dans l'API v2.computeRouteMatrix. Ce proto peut être diffusé 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é ou non. Indépendamment de l'état.

distanceMeters

integer

Distance du trajet, en mètres.

duration

string (Duration format)

Durée nécessaire pour parcourir 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 après la virgule et se terminant 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 après la virgule et se terminant 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 n'est pas en mesure de calculer l'itinéraire avec les préférences données pour cette paire origine/destination, il peut revenir à un autre mode de calcul. Lorsque le mode de secours est utilisé, ce champ contient des informations détaillées sur la réponse de secours. Sinon, ce champ n'est pas défini.

localizedValues

object (LocalizedValues)

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

originIndex

integer

Index basé sur 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 seule origine pour ComputeRouteMatrixRequest

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

object (Waypoint)

Obligatoire. Point de départ

routeModifiers

object (RouteModifiers)

Facultatif. Modificateurs pour chaque itinéraire qui prend ce point comme origine

RouteMatrixDestination

Une seule destination pour ComputeRouteMatrixRequest

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

object (Waypoint)

Obligatoire. Point de cheminement de destination

ExtraComputation

Calculs supplémentaires à effectuer lors du traitement de la demande.

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

RouteMatrixElementCondition

État de l'itinéraire renvoyé.

Enums
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Utilisé uniquement lorsque le status de l'élément n'est pas défini sur "OK".
ROUTE_EXISTS Un itinéraire a été trouvé et les informations correspondantes ont été renseignées pour l'élément.
ROUTE_NOT_FOUND Aucun itinéraire n'a pu être trouvé. Les champs contenant des informations sur l'itinéraire, tels que distanceMeters ou duration, ne seront pas renseignés dans l'élément.

LocalizedValues

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 voyage 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 de texte sans tenir compte des conditions de circulation.

transitFare

object (LocalizedText)

Tarif du transport en commun représenté sous forme de texte.