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