Method: computeRouteMatrix

الحصول على قائمة بالمصادر والوجهات وعرض ساحة مشاركات تحتوي على معلومات المسار لكل مجموعة من نقطة الانطلاق والوجهة.

ملاحظة: تتطلب هذه الطريقة تحديد قناع حقل الاستجابة في الإدخال. يمكنك توفير قناع حقل الاستجابة باستخدام مَعلمة عنوان URL $fields أو fields، أو باستخدام عنوان HTTP/gRPC X-Goog-FieldMask (اطّلِع على معلَمات وعناوين URL المتوفّرة. القيمة هي قائمة بمسارات الحقول مفصولة بفواصل. راجِع هذه المستندات التفصيلية عن كيفية إنشاء مسارات الحقول.

على سبيل المثال، في هذه الطريقة:

  • قناع الحقل لجميع الحقول المتاحة (للفحص اليدوي): X-Goog-FieldMask: *
  • قناع الحقل لفترات المسارات والمسافات وحالة العنصر وحالته ومؤشرات العناصر (مثال على إعداد الإنتاج): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

من المهم تضمين status في قناع الحقل وإلا ستظهر جميع الرسائل على ما يرام. لا تنصح Google باستخدام قناع حقل الاستجابة الخاص بحرف البدل (*)، للأسباب التالية:

  • يساعد تحديد الحقول التي تحتاجها فقط خادمنا على حفظ دورات الحوسبة، ما يسمح لنا بعرض النتيجة لك في وقت استجابة أقل.
  • من خلال اختيار الحقول التي تحتاجها فقط في مهمة الإنتاج، يمكنك ضمان أداء وقت استجابة مستقر. قد نضيف المزيد من حقول الاستجابة في المستقبل، وقد تتطلب هذه الحقول الجديدة وقتًا إضافيًا للحساب. في حال اختيار جميع الحقول، أو إذا اخترت جميع الحقول في المستوى الأعلى، قد تواجه تراجعًا في الأداء لأنّ أي حقل جديد نضيفه سيتم تضمينه تلقائيًا في الرد.
  • ويؤدي تحديد الحقول التي تحتاج إليها فقط إلى تقليل حجم الاستجابة، وبالتالي زيادة سرعة معالجة البيانات على الشبكة.

طلب HTTP

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

يستخدِم عنوان URL بنية تحويل ترميز gRPC.

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
الحقول
origins[]

object (RouteMatrixOrigin)

مطلوبة. مصفوفة الأصول التي تحدِّد صفوف مصفوفة الاستجابة. تنطبق عدّة قيود على الحجم على عدد القيم الفريدة للسمة والوجهات:

  • يجب ألا يزيد عدد العناصر (الأصول × الوجهات) عن 625 في أي حالة.
  • يجب ألا يزيد عدد العناصر (المصادر × الوجهات) عن 100 في حال ضبط التوجيه المفضّل على TRAFFIC_AWARE_OPTIMAL.
  • يجب ألا يزيد عدد نقاط الطريق (المصادر + الوجهات) المحددة على placeId عن 50 نقطة.
destinations[]

object (RouteMatrixDestination)

مطلوبة. مصفوفة الوجهات التي تحدِّد أعمدة مصفوفة الاستجابة

travelMode

enum (RouteTravelMode)

اختياريّ. تحدّد هذه السمة وسيلة النقل.

routingPreference

enum (RoutingPreference)

اختياريّ. تحدّد طريقة احتساب المسار. يحاول الخادم استخدام تفضيل التوجيه المحدد لحساب المسار. إذا أدى تفضيل التوجيه إلى حدوث خطأ أو وقت استجابة طويل جدًا، فسيتم عرض خطأ. وفي المستقبل، قد ننفذ آلية احتياطية لاستخدام خيار مختلف عندما لا يقدم الخيار المفضل نتيجة صالحة. لا يمكنك تحديد هذا الخيار إلا عندما تكون قيمة travelMode هي DRIVE أو TWO_WHEELER، وإلا سيتعذّر تنفيذ الطلب.

departureTime

string (Timestamp format)

اختياريّ. وقت المغادرة وإذا لم تضبط هذه القيمة، سيتمّ ضبط هذه القيمة تلقائيًا على الوقت الذي أجريت فيه الطلب. وإذا عيّنت هذه القيمة على وقت حدث من قبل، فسيفشل الطلب.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

نص الاستجابة

إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال RouteMatrixElement.

نطاقات التفويض

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

لمزيد من المعلومات، راجِع نظرة عامة على بروتوكول OAuth 2.0.