Method: computeRouteMatrix

Se base sur une liste de points de départ et d'arrivée, et renvoie un flux contenant les informations sur l'itinéraire pour chaque combinaison de points de départ et d'arrivée.

REMARQUE:Cette méthode nécessite la spécification d'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 de l'en-tête HTTP/gRPC X-Goog-FieldMask (voir les en-têtes et paramètres d'URL disponibles). La valeur est une liste de chemins d'accès de champs séparés par une virgule. Consultez cette documentation détaillée pour savoir comment construire les 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 contenant la durée de l'itinéraire, 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 s'afficheront correctement. Google déconseille l'utilisation du masque de champ de réponse utilisant le caractère générique (*) pour les raisons suivantes:

  • En sélectionnant uniquement les champs dont vous avez besoin, vous aidez notre serveur à économiser les cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
  • Le fait de ne sélectionner que les champs dont vous avez besoin pour votre job 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 du temps de calcul supplémentaire. Si vous sélectionnez tous les champs, ou tous les champs du premier niveau, vous risquez de constater une dégradation des performances. En effet, les nouveaux champs que nous ajoutons seront automatiquement inclus dans la réponse.
  • Si vous ne sélectionnez que les champs dont vous avez besoin, vous réduirez la taille des réponses et, par conséquent, le débit du réseau.

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 des origines, qui détermine les lignes de la matrice de réponse. Plusieurs restrictions de taille s'appliquent à la cardinalité des points de départ et des destinations:

  • La somme du nombre de points de départ et du nombre de destinations spécifiées dans placeId ou address ne doit pas être supérieure à 50.
  • Le produit du nombre de points de départ par le nombre de destinations ne doit en aucun cas être supérieur à 625.
  • Le produit du nombre de points de départ par le nombre de destinations ne doit pas être supérieur à 100 si "RoutingPreference" est défini sur TRAFFIC_AWARE_OPTIMAL.
  • Le produit du nombre de points de départ par le nombre de destinations ne doit pas être supérieur à 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 le mode de calcul de la route. Le serveur tente d'utiliser la préférence de routage sélectionnée pour calculer la route. Si la préférence de routage entraîne une erreur ou une latence extra 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 departureTime dans le passé que si RouteTravelMode est défini sur TRANSIT.

Code temporel 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. Heure d'arrivée. REMARQUE: Ne peut être défini que lorsque RouteTravelMode est défini sur TRANSIT. Vous pouvez spécifier departureTime ou arrivalTime, mais pas les deux.

Code temporel 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 Identifiant des paramètres régionaux Unicode. Consultez la page Langues acceptées pour obtenir la liste des langues acceptées. Si vous ne fournissez pas cette valeur, la langue d'affichage est déduite de la position du premier point de départ.

regionCode

string

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

units

enum (Units)

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

extraComputations[]

enum (ExtraComputation)

Facultatif. Une liste des calculs supplémentaires qui peuvent être utilisés pour terminer la requête. Remarque: Ces calculs supplémentaires peuvent renvoyer des champs supplémentaires sur 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 du RouteMatrixElement, qui contient le temps de trajet prévu en fonction des moyennes historiques. De RoutingPreference à TRAFFIC_AWARE_OPTIMAL et de 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 influencent l'itinéraire renvoyé pour les routes TRANSIT. REMARQUE: Vous ne pouvez spécifier un transitPreferences que lorsque RouteTravelMode est défini sur TRANSIT.

Corps de la réponse

Contient des informations sur l'itinéraire calculées pour une paire point de départ-destination dans l'API v2.computeRouteMatrix. Ce proto 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é ou non. Indépendant de son statut

distanceMeters

integer

Distance de l'itinéraire, 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 un maximum de neuf chiffres après la virgule, se terminant par "s". Exemple: "3.5s".

staticDuration

string (Duration format)

la durée de l'itinéraire sans tenir compte des conditions de circulation ;

Durée en secondes avec un maximum de neuf chiffres après la virgule, se terminant par "s". Exemple: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Informations supplémentaires sur l'itinéraire. Par exemple: les restrictions et les informations sur 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 définies pour cette paire point de départ-destination spécifique, 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. 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 cheminement de départ

routeModifiers

object (RouteModifiers)

Facultatif. Modificateurs de chaque route qui l'utilise comme point de départ

RouteMatrixDestination

Une destination unique 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 requête.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Non utilisé. Les requêtes contenant cette valeur échoueront.
TOLLS Informations sur le péage 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 la status de l'élément n'est pas correcte.
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 été 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 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 à "staticDuration.

staticDuration

object (LocalizedText)

Durée représentée au format texte sans tenir compte des conditions de circulation.

transitFare

object (LocalizedText)

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