لعرض المسار الأساسي مع مسارات بديلة اختيارية، مع تحديد مجموعة من نقاط الطرق الطرفية والوسطى.
ملاحظة: تتطلّب هذه الطريقة تحديد قناع حقل استجابة في الإدخال. يمكنك تقديم قناع حقل الاستجابة باستخدام مَعلمة عنوان 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 نقطة طريق متوسطة. |
travel |
اختياريّ. تحدّد هذه السمة وسيلة النقل. |
routing |
اختياريّ. تُحدِّد كيفية احتساب المسار. يحاول الخادم استخدام تفضيل التوجيه المحدد لاحتساب المسار. إذا أدّى خيار التوجيه المفضّل إلى حدوث خطأ أو وقت استجابة طويل جدًا، يتم عرض خطأ. لا يمكنك تحديد هذا الخيار إلا إذا كانت قيمة |
polyline |
اختياريّ. لتحديد إعداداتك المفضّلة لجودة الخطوط المتعددة. |
polyline |
اختياريّ. تُحدِّد ترميزًا مفضّلاً للخط المتعدّد. |
departure |
اختياريّ. وقت المغادرة إذا لم يتم ضبط هذه القيمة، سيتم ضبط هذه القيمة تلقائيًا على الوقت الذي قدّمت فيه الطلب. وفي حال ضبط هذه القيمة على وقت قد حدث بالفعل، سيتعذّر الطلب. يجب أن يكون طابعًا زمنيًا بالتنسيق RFC3339 UTC "Zulu" وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: |
compute |
اختياريّ. تُحدِّد ما إذا كان سيتم احتساب مسارات بديلة بالإضافة إلى المسار. لا يتم إرجاع مسارات بديلة للطلبات التي تحتوي على نقاط طريق متوسطة. |
route |
اختياريّ. يشير ذلك المصطلح إلى مجموعة من الشروط التي يجب استيفاؤها وتؤثّر في طريقة احتساب المسارات. |
language |
اختياريّ. تمثّل هذه السمة رمز اللغة BCP-47، مثل en-US أو sr-Latn. لمزيد من المعلومات، يُرجى الاطّلاع على معرّف لغة Unicode. اطّلِع على اللغات المتاحة للاطّلاع على قائمة اللغات المتاحة. في حال عدم تقديم هذه القيمة، يتم استنتاج لغة العرض من الموقع الجغرافي لطلب المسار. |
units |
اختياريّ. تحدّد هذه السمة وحدات القياس لحقول العرض. ويشمل ذلك الحقل |
optimize |
في حال ضبط optimizeWaypointOrder على true، تتم محاولة إعادة ترتيب نقاط التوقف الوسيطة المحدّدة لتقليل التكلفة الإجمالية للمسار. إذا كان أيّ من نقاط التوقف المؤقتة يمرّ عبر نقطة توقف، سيتعذّر تنفيذ الطلب. يمكنك استخدام |
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال ComputeRoutesResponse
.
نطاقات التفويض
يجب توفير نطاق OAuth التالي:
https://www.googleapis.com/auth/maps-platform.routespreferred
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على بروتوكول OAuth 2.0.