تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
المطوّرون في المنطقة الاقتصادية الأوروبية
توفّر واجهة برمجة التطبيقات Route Optimization API طريقتَين:
OptimizeTours هي طريقة متزامنة تعرض مسارًا محسّنًا استجابةً لطلب OptimizeToursRequest. يجب أن تحافظ التطبيقات على اتصال مفتوح بواجهة برمجة التطبيقات Route Optimization إلى أن تتم معالجة الطلب ويتم عرض OptimizeToursResponse أو خطأ.
BatchOptimizeTours هي طريقة غير متزامنة تقبل معرّفات الموارد المنتظمة (URI) لواحد أو أكثر من OptimizeToursRequest ورسائل OptimizeToursResponse المقابلة، وتعرض اسم المورد الخاص بعملية طويلة الأمد (LRO) (REST وgRPC) الذي يُستخدم للتحقّق من اكتمال الدفعة. تتم معالجة OptimizeToursRequest في الخلفية، لذا يحتفظ العملاء باتصالات مفتوحة بواجهة برمجة التطبيقات Route Optimization API لمدة كافية فقط لإرسال BatchOptimizeToursRequest أو طلب GetOperation للتحقّق من حالة العملية الطويلة الأمد. يقرأ BatchOptimizeTours الطلبات ويكتب الردود في
Google Cloud Storage.
حالات الاستخدام
OptimizeTours مناسب لحلّ الطلبات الصغيرة والبسيطة، أو الطلبات التي تستغرق بضع دقائق أو أقل. يؤدي الحفاظ على اتصالات طويلة الأمد بواجهة برمجة التطبيقات Route Optimization API إلى زيادة خطر حدوث انقطاع قبل أن يتم عرض حل.
يمكن أن يتعامل BatchOptimizeTours مع الطلبات الأكبر حجمًا والطلبات التي تستغرق وقتًا أطول في حلّها، لأنّه لا يتطلّب اتصالاً طويل الأمد بواجهة برمجة التطبيقات Route Optimization.
العمليات التي تستغرق وقتًا طويلاً
تتم قراءة عمليات LRO من Route Optimization API باستخدام طريقة GetOperation للتحقّق من حالة اكتمال مجموعة. تتضمّن عمليات LRO السمة done التي تشير إلى ما إذا كانت معالجة الدفعة بأكملها قد اكتملت، والحقل error الذي يبلغ عن الأخطاء التي حدثت أثناء المعالجة. إذا كانت قيمة done هي true ولم يتم توفير error، يعني ذلك أنّ الدفعة قد اكتملت بنجاح. يشير الرمز
error إلى تعذُّر معالجة بعض الدفعة أو كلها.
في ما يلي دورة الحياة النموذجية لطلب BatchOptimizeTours:
أرسِل طلب BatchOptimizeToursRequest إلى Route Optimization API، الذي يعرض اسم المورد الخاص بعملية LRO.
استطِل عن GetOperation باستخدام اسم مورد LRO الذي تم عرضه إلى أن تظهر السمتان done أو error في ردّ LRO.
إذا كانت قيمة done هي "صحيح" ولم يكن هناك أي خطأ، اقرأ OptimizeToursResponses
من معرّفات الموارد المنتظمة (URI) في Google Cloud Storage المحدّدة في طلب BatchOptimizeTours. في حال ظهور error، افحص الخطأ وعدِّل OptimizeToursRequest وفقًا لذلك في Google Cloud Storage، ثم أعِد المحاولة حسب الاقتضاء استنادًا إلى الخطأ الذي ظهر.
يمكنك إرسال طلبات OptimizeTours وBatchOptimizeTours بطرق مختلفة، إما من سطر الأوامر أو باستخدام مكتبة برامج العميل.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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)"]]