لعرض المسار الأساسي مع مسارات بديلة اختيارية، مع تحديد مجموعة من نقاط الطرق الطرفية والوسطى.
ملاحظة: تتطلب هذه الطريقة تحديد قناع حقل الردّ في الإدخال. يمكنك توفير قناع حقل الاستجابة باستخدام مَعلمة عنوان URL $fields
أو fields
أو باستخدام عنوان HTTP/gRPC X-Goog-FieldMask
(اطّلِع على عناوين ومَعلمات عناوين URL المتوفّرة. ويجب أن تكون القيمة هي قائمة بمسارات الحقول مفصولة بفواصل. اطّلِع على مستندات تفصيلية عن كيفية إنشاء مسارات الحقول.
على سبيل المثال، باستخدام هذه الطريقة:
- كمامة الحقل لجميع الحقول المتاحة (للفحص اليدوي):
X-Goog-FieldMask: *
- قناع الحقل للمدة على مستوى المسار والمسافة والخطوط المتعددة (مثال على إعداد الإنتاج):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
لا تنصح Google باستخدام قناع حقل الردّ بحرف البدل (*
) أو تحديد قناع الحقل على المستوى الأعلى (routes
)، للسببَين التاليَين:
- ويعمل تحديد الحقول التي تحتاجها فقط على مساعدة الخادم في حفظ دورات الحوسبة، مما يتيح لنا عرض النتيجة لك في وقت استجابة أقل.
- إنّ اختيار الحقول التي تحتاجها فقط في مهمة الإنتاج يضمن أداء وقت الاستجابة مستقرًا. قد نضيف المزيد من حقول الاستجابة في المستقبل، وقد تتطلب هذه الحقول الجديدة وقتًا إضافيًا في العمليات الحسابية. في حال اختيار جميع الحقول أو اختيار جميع الحقول في المستوى الأعلى، قد تواجه تراجعًا في الأداء بسبب تضمين أي حقل جديد نضيفه تلقائيًا في الردّ.
- ويؤدي اختيار الحقول التي تحتاجها فقط إلى تقليل حجم الاستجابة، وبالتالي زيادة سرعة معالجة بيانات الشبكة.
طلب HTTP
POST https://routespreferred.googleapis.com/v1:computeRoutes
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "origin": { object ( |
الحقول | |
---|---|
origin |
مطلوب. نقطة مسار الأصل. |
destination |
مطلوب. النقطة الوسيطة للوجهة. |
intermediates[] |
اختياريّ. مجموعة من نقاط الطريق على طول المسار (باستثناء النقاط النهائية)، سواء للتوقف عند أو للمرور. ويمكن استخدام ما يصل إلى 25 نقطة طريق متوسطة. |
travelMode |
اختياريّ. تحدّد هذه السمة وسيلة النقل. |
routingPreference |
اختياريّ. لتحديد كيفية حساب المسار. يحاول الخادم استخدام تفضيل التوجيه المحدد لاحتساب المسار. إذا أدى تفضيل التوجيه إلى حدوث خطأ أو وقت استجابة طويل جدًا، فسيتم عرض خطأ. في المستقبل، قد نطبّق آلية احتياطية لاستخدام خيار مختلف عندما لا يقدّم الخيار المفضّل نتيجة صالحة. لا يمكنك تحديد هذا الخيار إلا إذا كانت قيمة |
polylineQuality |
اختياريّ. لتحديد إعداداتك المفضّلة لجودة الخطوط المتعددة. |
polylineEncoding |
اختياريّ. تحدِّد هذه السياسة الترميز المفضّل للخطوط المتعددة. |
departureTime |
اختياريّ. وقت المغادرة إذا لم يتم ضبط هذه القيمة، سيتم ضبط هذه القيمة تلقائيًا على الوقت الذي قدّمت فيه الطلب. وفي حال ضبط هذه القيمة على وقت قد حدث بالفعل، سيتعذّر الطلب. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
computeAlternativeRoutes |
لتحديد ما إذا كان سيتم حساب المسارات البديلة بالإضافة إلى المسار. |
routeModifiers |
اختياريّ. يشير ذلك المصطلح إلى مجموعة من الشروط التي يجب استيفاؤها وتؤثّر في طريقة احتساب المسارات. |
languageCode |
اختياريّ. رمز اللغة BCP-47، مثل en-US أو "sr-Latn". لمزيد من المعلومات، يُرجى الاطّلاع على http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. يمكنك الانتقال إلى قسم دعم اللغات للاطّلاع على قائمة باللغات المتوافقة. عند عدم تقديم هذه القيمة، يتم استنتاج لغة العرض من موقع طلب المسار. |
units |
اختياريّ. تحدّد هذه السمة وحدات القياس لحقول العرض. ويشمل ذلك الحقل |
optimizeWaypointOrder |
إذا تم ضبط optWaypointOrder على "صحيح"، يتم إجراء محاولة لإعادة ترتيب نقاط الطرق الوسيطة المحدّدة لتقليل التكلفة الإجمالية للمسار. إذا كانت أي من نقاط الطريق الوسيطة عبر نقطة وسيطة، يفشل الطلب. استخدِم ComputeRoutesResponse.Routes.محسَّن_intermediate_waypoint_index للعثور على الترتيب الجديد. في حال لم يتم طلب path.Optimization_intermediate_waypoint_index في عنوان |
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال ComputeRoutesResponse
.
نطاقات التفويض
يجب توفير نطاق OAuth التالي:
https://www.googleapis.com/auth/maps-platform.routespreferred
لمزيد من المعلومات، يُرجى الاطِّلاع على نظرة عامة على OAuth 2.0.