- Requête HTTP
- Paramètres de chemin d'accès
- Corps de la requête
- Corps de la réponse
- Champs d'application des autorisations
- Autorisations IAM
Il s'agit d'une variante de la méthode locations.optimizeTours
conçue pour les optimisations avec de longues valeurs de délai avant expiration. Elle est à privilégier par rapport à la méthode locations.optimizeTours
pour les optimisations qui prennent plus de quelques minutes.
Le long-running operation
(LRO) renvoyé aura un nom au format <parent>/operations/<operation_id>
et pourra être utilisé pour suivre la progression du calcul. Le type de champ metadata
est OptimizeToursLongRunningMetadata
. Le type de champ response
est OptimizeToursResponse
si l'opération réussit.
Fonctionnalité expérimentale: pour en savoir plus, consultez https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request.
Requête HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de chemin d'accès
Paramètres | |
---|---|
parent |
Obligatoire. Projet ou emplacement cibles pour passer un appel. Format: * Si aucun emplacement n'est spécifié, une région est automatiquement sélectionnée. |
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{ "timeout": string, "model": { object ( |
Champs | |
---|---|
timeout |
Si ce délai avant expiration est défini, le serveur renvoie une réponse avant l'expiration du délai avant expiration ou avant l'expiration du délai avant expiration du serveur pour les requêtes synchrones, selon la première éventualité. Pour les requêtes asynchrones, le serveur génère une solution (si possible) avant l'expiration du délai avant expiration. Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
model |
Modèle d'expédition à résoudre. |
solvingMode |
Par défaut, le mode de résolution est |
searchMode |
Mode de recherche utilisé pour résoudre la requête. |
injectedFirstSolutionRoutes[] |
Guidez l'algorithme d'optimisation pour qu'il trouve une première solution semblable à une solution précédente. Le modèle est contraint lorsque la première solution est créée. Les envois qui ne sont pas effectués sur un itinéraire sont implicitement ignorés dans la première solution, mais ils peuvent être effectués dans des solutions successives. La solution doit répondre à certaines hypothèses de validité de base:
Si la solution injectée n'est pas réalisable, une erreur de validation n'est pas nécessairement renvoyée. Une erreur indiquant l'impossibilité de la solution peut être renvoyée à la place. |
injectedSolutionConstraint |
Contraignez l'algorithme d'optimisation à trouver une solution finale semblable à une solution précédente. Par exemple, vous pouvez utiliser cette fonctionnalité pour congeler des parties de parcours déjà terminées ou qui doivent l'être, mais qui ne doivent pas être modifiées. Si la solution injectée n'est pas réalisable, une erreur de validation n'est pas nécessairement renvoyée. Une erreur indiquant l'impossibilité de la solution peut être renvoyée à la place. |
refreshDetailsRoutes[] |
Si ce n'est pas le cas, les itinéraires donnés seront actualisés, sans modifier leur séquence de visites sous-jacente ni les temps de trajet. Seuls d'autres détails seront mis à jour. Cela ne résout pas le modèle. Depuis le 11/11/2020, cette valeur ne renseigne que les polylignes des itinéraires non vides et nécessite que Les champs Ce champ ne doit pas être utilisé avec
|
interpretInjectedSolutionsUsingLabels |
Si la condition est vraie:
Cette interprétation s'applique aux champs Si la valeur est "true", les libellés des catégories suivantes ne doivent apparaître qu'une seule fois dans leur catégorie:
Si un Supprimer des visites de parcours ou des parcours entiers d'une solution injectée peut avoir un impact sur les contraintes implicites, ce qui peut entraîner un changement de la solution, des erreurs de validation ou une infeasibility. REMARQUE: L'appelant doit s'assurer que chaque |
considerRoadTraffic |
Tenez compte de l'estimation du trafic lors du calcul des champs |
populatePolylines |
Si la valeur est "true", les polylignes sont renseignées dans les |
populateTransitionPolylines |
Si la valeur est "true", les polylignes et les jetons de parcours sont renseignés dans la réponse |
allowLargeDeadlineDespiteInterruptionRisk |
Si cette valeur est définie, la requête peut avoir un délai (voir https://grpc.io/blog/deadlines) maximal de 60 minutes. Sinon, le délai maximal est de 30 minutes. Notez que les requêtes de longue durée présentent un risque d'interruption beaucoup plus élevé (mais toujours faible). |
useGeodesicDistances |
Si la valeur est "true", les distances de trajet seront calculées à l'aide de distances géodésiques au lieu de distances Google Maps, et les temps de trajet seront calculés à l'aide de distances géodésiques avec une vitesse définie par |
label |
Libellé pouvant être utilisé pour identifier cette requête, indiqué dans |
geodesicMetersPerSecond |
Lorsque |
maxValidationErrors |
Tronque le nombre d'erreurs de validation renvoyées. Ces erreurs sont généralement associées à une charge utile d'erreur INVALID_ARGUMENT en tant que détails d'erreur BadRequest (https://cloud.google.com/apis/design/errors#error_details), sauf si solvingMode=VALIDATE_ONLY: consultez le champ |
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de Operation
.
Champs d'application des autorisations
Requiert le niveau d'accès OAuth suivant :
https://www.googleapis.com/auth/cloud-platform
Autorisations IAM
Nécessite l'autorisation IAM suivante sur la ressource parent
:
routeoptimization.operations.create
Pour en savoir plus, consultez la documentation IAM.