Jest to wariant metody locations.optimizeTours
przeznaczony do optymalizacji z dużymi wartościami limitu czasu. W przypadku optymalizacji, które trwają dłużej niż kilka minut, należy preferować metodę locations.optimizeTours
.
Zwrócony obiekt long-running operation
(LRO) będzie mieć nazwę w formacie <parent>/operations/<operation_id>
i może służyć do śledzenia postępu obliczeń. Typ pola metadata
to OptimizeToursLongRunningMetadata
. W przypadku powodzenia pole response
ma typ OptimizeToursResponse
.
Funkcja eksperymentalna: więcej informacji znajdziesz na stronie https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request.
Żądanie HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
Parametry | |
---|---|
parent |
Wymagane. Wybierz projekt lub lokalizację, do których chcesz zadzwonić. Format: * Jeśli nie określisz lokalizacji, region zostanie wybrany automatycznie. |
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "timeout": string, "model": { object ( |
Pola | |
---|---|
timeout |
Jeśli ten czas oczekiwania jest ustawiony, serwer zwraca odpowiedź, zanim upłynie czas oczekiwania lub termin serwera dla żądań synchronicznych, w zależności od tego, co nastąpi wcześniej. W przypadku żądań asynchronicznych serwer wygeneruje rozwiązanie (jeśli to możliwe) przed upływem limitu czasu. Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „ |
model |
Model dostawy do rozwiązania. |
solvingMode |
Domyślny tryb rozwiązywania to |
searchMode |
Tryb wyszukiwania użyty do rozwiązania żądania. |
injectedFirstSolutionRoutes[] |
Pomaga algorytmowi optymalizacji w znalezieniu pierwszego rozwiązania, które jest podobne do poprzedniego. Model jest ograniczony podczas tworzenia pierwszego rozwiązania. W pierwszym rozwiązaniu wszystkie przesyłki, które nie zostały zrealizowane na trasie, są domyślnie pomijane, ale mogą być realizowane w kolejnych rozwiązaniach. Rozwiązanie musi spełniać podstawowe założenia dotyczące ważności:
Jeśli wstrzyknięty kod nie jest wykonalny, niekoniecznie zwracany jest błąd weryfikacji. Zamiast tego może zostać zwrócony błąd wskazujący na brak możliwości wykonania. |
injectedSolutionConstraint |
Ograniczenie algorytmu optymalizacji do znalezienia ostatecznego rozwiązania podobnego do poprzedniego. Można go na przykład użyć do zamrożenia części tras, które zostały już ukończone lub mają zostać ukończone, ale nie mogą być modyfikowane. Jeśli wstrzyknięty kod nie jest wykonalny, niekoniecznie zwracany jest błąd weryfikacji. Zamiast tego może zostać zwrócony błąd wskazujący na brak możliwości wykonania. |
refreshDetailsRoutes[] |
Jeśli nie jest pusty, dane trasy zostaną odświeżone bez zmiany ich sekwencji wizyt lub czasu podróży: zostaną zaktualizowane tylko inne szczegóły. Nie rozwiązuje to problemu. Od listopada 2020 r. ta opcja wypełnia tylko linie wielokątów na niepustych trasach i wymaga, aby parametr Pola Nie można go używać razem z kolumnami
|
interpretInjectedSolutionsUsingLabels |
Jeśli wartość to prawda:
Ta interpretacja dotyczy pól Jeśli ma wartość true, etykiety w tych kategoriach mogą się pojawiać maksymalnie raz w danej kategorii:
Jeśli Usunięcie wizyt na trasie lub całych tras z wstrzykniętego rozwiązania może mieć wpływ na implikowane ograniczenia, co może spowodować zmianę rozwiązania, błędy walidacji lub niemożliwość jego wykonania. UWAGA: osoba dzwoniąca musi się upewnić, że każda wartość |
considerRoadTraffic |
Warto uwzględnić prognozę ruchu podczas obliczania pól |
populatePolylines |
Jeśli ma wartość Prawda, w odpowiedzi |
populateTransitionPolylines |
Jeśli ma wartość Prawda, w odpowiedzi |
allowLargeDeadlineDespiteInterruptionRisk |
Jeśli ta opcja jest ustawiona, żądanie może mieć termin (patrz https://grpc.io/blog/deadlines) do 60 minut. W przeciwnym razie maksymalny termin to tylko 30 minut. Pamiętaj, że w przypadku długotrwałych żądań istnieje znacznie większe (choć nadal niewielkie) ryzyko przerwania. |
useGeodesicDistances |
Jeśli ustawisz wartość „prawda”, odległości przebytej na trasie obliczenia będą wykonywane na podstawie odległości geodezyjnych zamiast odległości w Mapach Google, a czasy przejazdu będą obliczane na podstawie odległości geodezyjnych z prędkością zdefiniowaną przez parametr |
label |
Etykieta, która może służyć do identyfikowania tego żądania, zgłoszonego w formularzu |
geodesicMetersPerSecond |
Gdy |
maxValidationErrors |
Obcina zwracaną liczbę błędów weryfikacji. Te błędy są zwykle dołączane do ładunku błędu INVALID_ARGUMENT jako szczegóły błędu BadRequest (https://cloud.google.com/apis/design/errors#error_details), chyba że parametr solvingMode=VALIDATE_ONLY: patrz pole |
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Operation
.
Zakresy autoryzacji
Wymaga następującego zakresu OAuth:
https://www.googleapis.com/auth/cloud-platform
Uprawnienia
Wymaga tego uprawnienia IAM w zasobie parent
:
routeoptimization.operations.create
Więcej informacji znajdziesz w dokumentacji dotyczącej uprawnień.