Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Разработчики Европейской экономической зоны (ЕЭЗ)
API оптимизации маршрутов предоставляет два метода:
OptimizeTours — это синхронный метод, который возвращает оптимизированный маршрут в ответ на запрос OptimizeToursRequest . Клиенты должны поддерживать открытое соединение с API оптимизации маршрутов до тех пор, пока запрос не будет обработан и не будет возвращён ответ OptimizeToursResponse или ошибка.
BatchOptimizeTours — это асинхронный метод, который принимает URI для одного или нескольких сообщений OptimizeToursRequest и соответствующих сообщений OptimizeToursResponse , возвращая имя ресурса длительной операции (LRO) ( REST , gRPC ), используемой для проверки завершения пакета. Сообщения OptimizeToursRequest обрабатываются в фоновом режиме, поэтому клиенты поддерживают открытые соединения с API оптимизации маршрутов только в течение времени, необходимого для отправки BatchOptimizeToursRequest или вызова GetOperation для проверки состояния LRO. BatchOptimizeTours считывает запросы из Google Cloud Storage и записывает ответы в него.
Варианты использования
OptimizeTours удобен для решения небольших и простых запросов или запросов, время выполнения которых не превышает нескольких минут. Поддержание длительных подключений к API оптимизации маршрутов увеличивает риск прерывания работы до момента возврата решения.
BatchOptimizeTours может обрабатывать более крупные запросы и запросы с более длительным временем решения, поскольку не требует длительного подключения к API оптимизации маршрутов.
Длительные операции
LRO считываются из API оптимизации маршрутов с помощью метода GetOperation для проверки статуса выполнения пакета. LRO включают свойство done , которое указывает, завершена ли обработка всего пакета, и поле error , в котором сообщается об ошибках, возникших во время обработки. Если done равно true и error нет, пакет выполнен успешно. Наличие error указывает на то, что обработка части или всех пакетов не удалась.
Типичный жизненный цикл запроса BatchOptimizeTours выглядит следующим образом:
Отправьте запрос BatchOptimizeToursRequest в API оптимизации маршрута, который вернет имя ресурса LRO.
Опрашивайте GetOperation с возвращенным именем ресурса LRO, пока в ответе LRO не появятся свойства done или error .
Если done равно true и ошибок нет, считайте OptimizeToursResponses из URI Google Cloud Storage, указанных в запросе BatchOptimizeTours . Если error присутствует, проверьте её, соответствующим образом обновите OptimizeToursRequest в Google Cloud Storage и повторите попытку в зависимости от обнаруженной ошибки.
Запросы OptimizeTours и BatchOptimizeTours можно отправлять различными способами: из командной строки или с помощью клиентской библиотеки.
[null,null,["Последнее обновление: 2025-08-29 UTC."],[[["\u003cp\u003eThe Route Optimization API offers two methods: \u003ccode\u003eOptimizeTours\u003c/code\u003e for synchronous processing of smaller, simpler requests and \u003ccode\u003eBatchOptimizeTours\u003c/code\u003e for asynchronous handling of larger, more complex requests.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eOptimizeTours\u003c/code\u003e requires an open connection until a response is received, while \u003ccode\u003eBatchOptimizeTours\u003c/code\u003e utilizes Google Cloud Storage for requests and responses, enabling background processing.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eBatchOptimizeTours\u003c/code\u003e relies on Long Running Operations (LROs) to track batch progress, which can be monitored via the \u003ccode\u003eGetOperation\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eWhen using \u003ccode\u003eBatchOptimizeTours\u003c/code\u003e, users should submit the request, poll for completion using the LRO, and retrieve results or address errors as indicated by the LRO status.\u003c/p\u003e\n"]]],[],null,["# Synchronous and asynchronous endpoints\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\nThe Route Optimization API exposes two methods:\n\n- `OptimizeTours` is a *synchronous* method that returns an optimized route in response to an `OptimizeToursRequest`. Clients must maintain an open connection to the Route Optimization API until the request is processed and an `OptimizeToursResponse` or error is returned.\n- `BatchOptimizeTours` is an *asynchronous* method that accepts URIs for one or more `OptimizeToursRequest` and corresponding `OptimizeToursResponse` messages, returning the resource name of a *Long Running Operation* (LRO) ([REST](/maps/documentation/route-optimization/reference/rest/v1/projects.locations.operations#Operation), [gRPC](/maps/documentation/route-optimization/reference/rpc/google.longrunning#google.longrunning.Operations))) that is used to check for batch completion. `OptimizeToursRequest`s are processed in the background, so clients maintain an open connections to the Route Optimization API only long enough to submit the `BatchOptimizeToursRequest` or to call `GetOperation` to check LRO status. `BatchOptimizeTours` reads requests from and writes responses to [Google Cloud Storage](https://cloud.google.com/storage).\n\nUse cases\n---------\n\n`OptimizeTours` is convenient for solving small and simple requests, or for\nrequests with solving times of a few minutes or less. Maintaining long-lived\nconnections to the Route Optimization API increases risk of interruption before\na solution can be returned.\n\n`BatchOptimizeTours` can handle larger requests and requests with longer solving\ntime because it does not require a long-lived connection to the Route\nOptimization API.\n\nLong running operations\n-----------------------\n\nLROs are read from the Route Optimization API using the `GetOperation` method to\ncheck the completion status of a batch. LROs include a `done` property that\nindicates whether processing of the entire batch is complete and an `error`\nfield that reports errors encountered during processing. If `done` is true and\nno `error` is present, the batch completed successfully. The presence of an\n`error` indicates that some or all of the batch failed processing.\n| **Note:** REST `GetOperation` responses omit the `done` property if its value is false and the `error` property if no errors occurred.\n\nThe typical lifecycle of a `BatchOptimizeTours` request is as follows:\n\n1. Submit a `BatchOptimizeToursRequest` to the Route Optimization API, which returns the resource name of an LRO.\n2. Poll `GetOperation` with the returned LRO resource name until the `done` or `error` properties appear in the LRO response.\n3. If `done` is true and no error is present, read `OptimizeToursResponses` from the Google Cloud Storage URIs specified in the `BatchOptimizeTours` request. If `error` is present, inspect the error, update the `OptimizeToursRequest`s accordingly in Google Cloud Storage, and retry as appropriate depending on the observed error.\n\nYou can send `OptimizeTours` and `BatchOptimizeTours` requests in a variety of\nways, either from the command line or using a client library.\n\n[Next: Make an API Request](/maps/documentation/route-optimization/make-request)"]]