Это вариант метода locations.optimizeTours , предназначенный для оптимизации с большими значениями тайм-аута. Его следует предпочесть методу locations.optimizeTours для оптимизации, которая занимает больше нескольких минут.
Возвращаемая long-running operation (LRO) будет иметь имя в формате <parent>/operations/<operation_id> и может использоваться для отслеживания хода вычислений. Тип поля metadata — OptimizeToursLongRunningMetadata . Тип поля response — OptimizeToursResponse , если выполнение выполнено успешно.
Экспериментальный вариант: более подробную информацию см. на странице https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request .
HTTP-запрос
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
URL использует синтаксис перекодировки gRPC .
Параметры пути
| Параметры | |
|---|---|
parent | Обязательно. Укажите проект или место для звонка. Формат:
Если местоположение не указано, регион будет выбран автоматически. |
Текст запроса
Тело запроса содержит данные со следующей структурой:
| JSON-представление |
|---|
{ "timeout": string, "model": { object ( |
| Поля | |
|---|---|
timeout | Если этот тайм-аут установлен, сервер возвращает ответ до истечения периода тайм-аута или достижения крайнего срока сервера для синхронных запросов, в зависимости от того, что наступит раньше. Для асинхронных запросов сервер сгенерирует решение (если это возможно) до истечения времени ожидания. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « |
model | Решить модель отгрузки. |
solvingMode | По умолчанию режим решения — |
searchMode | Режим поиска, используемый для решения запроса. |
injectedFirstSolutionRoutes[] | Направьте алгоритм оптимизации на поиск первого решения, похожего на предыдущее решение. Модель ограничена при построении первого решения. Любые перевозки, не выполненные по маршруту, неявно пропускаются в первом решении, но могут быть выполнены в последующих решениях. Решение должно удовлетворять некоторым основным предположениям о достоверности:
Если введенное решение нецелесообразно, ошибка проверки не обязательно возвращается, вместо этого может быть возвращена ошибка, указывающая на невозможность. |
injectedSolutionConstraint | Ограничьте алгоритм оптимизации поиском окончательного решения, аналогичного предыдущему. Например, это можно использовать для фиксации участков маршрутов, которые уже выполнены или должны быть выполнены, но не должны изменяться. Если введенное решение нецелесообразно, ошибка проверки не обязательно возвращается, вместо этого может быть возвращена ошибка, указывающая на невозможность. |
refreshDetailsRoutes[] | Если поле не пустое, заданные маршруты будут обновлены без изменения базовой последовательности посещений или времени в пути: будут обновлены только другие данные. Это не решит модель. Начиная с 2020/11 года при этом заполняются только полилинии непустых маршрутов и требуется, чтобы Поля Это поле нельзя использовать вместе с |
interpretInjectedSolutionsUsingLabels | Если верно:
Эта интерпретация применяется к полям Если значение true, метки в следующих категориях должны появляться не более одного раза в своей категории:
Если метка Удаление посещений маршрутов или целых маршрутов из введенного решения может повлиять на подразумеваемые ограничения, что может привести к изменению решения, ошибкам проверки или невозможности его реализации. ПРИМЕЧАНИЕ: Вызывающий объект должен гарантировать, что каждый |
considerRoadTraffic | Учитывайте оценку трафика при расчете полей |
populatePolylines | Если true, полилинии будут заполнены в ответе |
populateTransitionPolylines | Если значение равно true, полилинии и маркеры маршрута будут заполнены в ответе |
allowLargeDeadlineDespiteInterruptionRisk | Если этот параметр установлен, запрос может иметь срок выполнения (см. https://grpc.io/blog/deadlines ) до 60 минут. В противном случае максимальный срок составляет всего 30 минут. Обратите внимание, что для длительных запросов риск прерывания значительно выше (хотя и невелик). |
useGeodesicDistances | Если значение равно true, расстояния проезда будут рассчитываться с использованием геодезических расстояний вместо расстояний Google Maps, а время проезда будет рассчитываться с использованием геодезических расстояний со скоростью, определяемой параметром |
label | Метка, которая может использоваться для идентификации этого запроса, возвращается в |
geodesicMetersPerSecond | Если |
maxValidationErrors | Усекает количество возвращаемых ошибок валидации. Эти ошибки обычно прикрепляются к полезной нагрузке ошибки INVALID_ARGUMENT в виде сведений об ошибке BadRequest ( https://cloud.google.com/apis/design/errors#error_details) , если не задан параметр solvedMode=VALIDATE_ONLY: см. поле |
Тело ответа
В случае успеха тело ответа содержит экземпляр Operation .
Области авторизации
Требуется следующая область OAuth:
-
https://www.googleapis.com/auth/cloud-platform
Разрешения IAM
Требуется следующее разрешение IAM для parent ресурса:
-
routeoptimization.operations.create
Более подробную информацию см. в документации IAM .