Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)
Interfejs Route Optimization API udostępnia 2 metody:
OptimizeTours to metoda synchroniczna, która zwraca zoptymalizowaną trasę w odpowiedzi na OptimizeToursRequest. Klienci muszą utrzymywać otwarte połączenie z interfejsem Route Optimization API, dopóki żądanie nie zostanie przetworzone i nie zostanie zwrócona wartość OptimizeToursResponse lub błąd.
BatchOptimizeTours to metoda asynchroniczna, która akceptuje identyfikatory URI co najmniej 1 OptimizeToursRequest i odpowiadające im wiadomości OptimizeToursResponse, a zwraca nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która służy do sprawdzania, czy przetwarzanie wsadowe zostało zakończone. OptimizeToursRequest są przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko na czas przesyłania BatchOptimizeToursRequest lub wywoływania GetOperation w celu sprawdzenia stanu LRO. BatchOptimizeTours odczytuje żądania i zapisuje odpowiedzi w Google Cloud Storage.
Przypadki użycia
OptimizeTours jest wygodny w przypadku rozwiązywania małych i prostych problemów lub żądań, których rozwiązanie zajmuje kilka minut lub mniej. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerwania połączenia przed zwróceniem rozwiązania.
BatchOptimizeTours może obsługiwać większe żądania i żądania z dłuższym czasem rozwiązywania, ponieważ nie wymaga długotrwałego połączenia z interfejsem Route Optimization API.
Długo trwające operacje
Długotrwałe operacje są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation, aby sprawdzić stan ukończenia partii. Obiekty LRO zawierają właściwość done, która wskazuje, czy przetwarzanie całego pakietu zostało zakończone, oraz pole error, które zawiera informacje o błędach napotkanych podczas przetwarzania. Jeśli wartość done to „true” i nie ma parametru error, oznacza to, że partia została przetworzona. Obecność znakuerror oznacza, że przetwarzanie niektórych lub wszystkich elementów w partii nie powiodło się.
Typowy cykl życia żądania BatchOptimizeTours wygląda tak:
Prześlij BatchOptimizeToursRequest do interfejsu Route Optimization API, który zwraca nazwę zasobu LRO.
Wyślij zapytanie do interfejsu GetOperation z zwróconą nazwą zasobu LRO, dopóki w odpowiedzi LRO nie pojawią się właściwości done lub error.
Jeśli done ma wartość true i nie występuje żaden błąd, odczytaj OptimizeToursResponses z adresów URI Google Cloud Storage podanych w żądaniu BatchOptimizeTours. Jeśli występuje znak error, sprawdź błąd, odpowiednio zaktualizuj elementy OptimizeToursRequest w Google Cloud Storage i spróbuj ponownie, w zależności od zaobserwowanego błędu.
Żądania OptimizeTours i BatchOptimizeTours możesz wysyłać na różne sposoby, zarówno z wiersza poleceń, jak i za pomocą biblioteki klienta.
[null,null,["Ostatnia aktualizacja: 2025-08-31 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)"]]