Method: computeRouteMatrix

Utilise une liste de points de départ et de destinations, et affiche un flux contenant des informations sur les itinéraires pour chaque combinaison point de départ-destination.

REMARQUE:Cette méthode nécessite que vous spécifiiez un masque de champ de réponse dans l'entrée. Vous pouvez spécifier 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 (consultez la section En-têtes et paramètres d'URL disponibles). La valeur correspond à une liste de chemins d'accès de champ séparés par une virgule. Consultez cette documentation détaillée pour savoir comment créer les chemins d'accès aux champs.

Par exemple, avec cette méthode:

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

  • Sélectionner uniquement les champs dont vous avez besoin aide notre serveur à enregistrer des cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
  • Sélectionner uniquement les champs dont vous avez besoin dans votre tâche de production garantit des performances de latence stables. À l'avenir, nous ajouterons peut-être d'autres champs de réponse, et ces nouveaux champs nécessiteront peut-être davantage de temps de calcul. 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 tout nouveau champ que nous ajouterons 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 est réduite et le débit du réseau est 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,
  "languageCode": string,
  "regionCode": string,
  "extraComputations": [
    enum (ExtraComputation)
  ]
}
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:

  • Le nombre d'éléments (origines/destinations) ne doit en aucun cas être supérieur à 625.
  • Le nombre d'éléments (origins × destinations) ne doit pas être supérieur à 100 si le paramètre "PreferencePreference" est défini sur TRAFFIC_AWARE_OPTIMAL.
  • Le nombre de points de cheminement (origines et destinations) spécifié en tant que placeId ne doit pas dépasser 50.
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 l'itinéraire. 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 génère 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, la valeur par défaut est l'heure à laquelle vous avez effectué la requête. Si vous définissez cette valeur sur une heure déjà passée, la requête échoue.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres fractionnaires. 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 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 zone géographique de la première origine.

regionCode

string

Facultatif. Code régional, 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

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 pour être renvoyés dans la réponse.

Corps de la réponse

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

Encapsule les informations de routage calculées pour une paire point de départ-destination dans l'API v2.computeRouteMatrix. Ce proto peut être diffusé vers le client.

Représentation JSON
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "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)

Temps 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. Se termine par "s". Exemple: "3.5s".

staticDuration

string (Duration format)

Durée d'un itinéraire sans tenir compte des conditions de circulation

Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par "s". Exemple: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

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

fallbackInfo

object (FallbackInfo)

Dans certains cas, lorsque le serveur ne parvient pas à calculer l'itinéraire avec les préférences données pour cette paire point de départ-destination donnée, 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.

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 d'origine

routeModifiers

object (RouteModifiers)

Facultatif. Modificateurs pour chaque itinéraire qui prend cette route comme point de départ

DestinationMatrix

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é uniquement lorsque le status de l'élément n'est pas correct.
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 trouvé. Les champs contenant des informations sur l'itinéraire (distanceMeters ou duration, par exemple) ne sont pas renseignés dans l'élément.