حساب مصفوفة مسار

يمكنك حساب مسافة ومدّة مسار لمسار لمصادر ووجهات متعدّدة باستخدام طريقة ComputeRouteMatrix في Routes Preferred API. يتيح ComputeRouteMatrix بث استدعاءات gRPC ومكالمات REST HTTP على حد سواء.

استنادًا إلى قائمة أزواج المصدر والوجهة، يحتسب ComputeRouteMatrix المسافة والمدة لمسار بدءًا من كل نقطة انطلاق وينتهي عند كل وجهة. يتوافق كل عنصر من عناصر التدفق مع المعلومات الخاصة بمسار واحد.

تتمتع طريقة ComputeRouteMatrix بالعديد من المزايا على خدمة مصفوفة المسافة:

  • يتيح البث إعادة العناصر قبل حساب المصفوفة بأكملها، مما يؤدي إلى خفض زمن الانتقال.
  • يحتوي ComputeRouteMatrix على خيارات دقيقة لحساب عدد الزيارات، ما يتيح لك اتخاذ قرارات مقايضة بشأن جودة وقت الاستجابة.
  • يتم تشغيل الطلبات بأولوية أعلى داخل بنية Google الأساسية، مما يؤدي إلى زيادة التوافر.
  • يمكنك تحديد العنوان (اتجاه السفر) ومعلومات جانب الطريق لنقاط الطريق.
  • يمكنك طلب إعادة معلومات رسوم العبور، بالإضافة إلى مسافة المسار والوقت المقدر للوصول.

تفعيل طريقة ComputeRouteMatrix

قبل أن تتمكّن من استخدام طريقة ComputeRouteMatrix في الرمز، يجب تفعيلها. للحصول على مزيد من المعلومات حول تفعيل طُرق واجهة برمجة تطبيقات Routes Preferred، يُرجى الاطّلاع على البدء.

استخدام طريقة ComputeRouteMatrix

تتوفر طريقة ComputeRouteMatrix من خلال نقطة نهاية "المسارات المفضلة" v1.

يُرجى الاطّلاع على المستندات التالية للحصول على معلومات أكثر تفصيلاً:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

توضّح الخطوات العامة التالية كيفية استخدام gRPC لاستدعاء طريقة ComputeRouteMatrix:

  1. تحقق من المحاور الاحتياطية اللازمة من مستودع googleapis:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    تجدر الإشارة إلى أنّ بعض أنظمة التصميم، مثل Go، قد تنفِّذ هذا الإجراء تلقائيًا بالنيابة عنك.

  2. باستخدام لغتك المفضلة ومجموعة من أدوات الإنشاء، يمكنك إنشاء رمز النموذج الأوّلي ذي الصلة.

  3. أنشئ طلبك. يجب إرسال جزأين مطلوبين من بيانات التعريف مع الطلب:

    • يجب ضبط X-Goog-Api-Key على مفتاح واجهة برمجة التطبيقات الخاص بك.
    • يجب ضبط X-Goog-Fieldmask على قائمة مفصولة بفواصل للحقول التي تطلبها من الاستجابة. على سبيل المثال، X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. يمكنك استخدام حرف البدل (*) للدلالة على جميع الحقول، ولكن لا يُنصح باستخدام ذلك. استخدِم حرف البدل لاختبار استجابة واجهة برمجة التطبيقات وفهمها، ولكن أدرِج الحقول التي تريدها صراحةً في قناع الحقل في رمز الإنتاج.

      لمزيد من المعلومات حول كيفية إنشاء سلسلة قناع الحقل، يُرجى الاطّلاع على https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. تجدر الإشارة إلى أنّ إيقاف الحقول التي لا تحتاج إليها يمكن أن يؤدي إلى تقليل وقت الاستجابة لأنّ هذه الحقول قد تتطلّب عمليات حسابية إضافية. وسيظل وقت الاستجابة مستقرًا إذا حددت الحقول التي تحتاجها وإضافة الحقول الجديدة التي تتطلب المزيد من العمليات الحسابية لاحقًا.

  4. أرسِل طلبك إلى routespreferred.googleapis.com:443.وعليك استخدام بروتوكول أمان طبقة النقل (TLS).

للحصول على أمثلة على استخدام طريقة ComputeRouteMatrix، يمكنك الاطّلاع على أمثلة على حساب مصفوفة المسارات (إصدار تجريبي).

إن إحدى الميزات المميزة لطريقة ComputeRouteMatrix هي إمكانية عرض رموز الخطأ إما لمجموعة البث بأكملها أو لعناصر فردية. على سبيل المثال، يعرض اتصال البث خطأً إذا كان الطلب مكتوبًا بشكلٍ غير صحيح (على سبيل المثال، لا يحتوي على أي أصل). ومع ذلك، إذا انطبق خطأ على عدد قليل فقط من عناصر مجموعة البث (على سبيل المثال، ضبط رقم تعريف مكان غير صالح لأصلي)، ستحتوي العناصر المتأثرة بالخطأ فقط على رموز الخطأ.

لا يمكن ضمان عرض العناصر التي تعرضها مجموعة البث بأي ترتيب. لهذا السبب، يحتوي كل عنصر على origin_index وdestination_index. بالنسبة إلى المصادر والوجهات المحدّدة في الطلب، يكون أصل المسار مكافئًا لـ origins[origin_index] لعنصر معيّن ووجهة المسار destinations[destination_index]. هذه الصفائف مفهرسة بصفر. من المهم تخزين طلبات قائمة المصدر والوجهة.

احتساب رسوم العبور

للحصول على معلومات حول احتساب رسوم العبور، يمكنك الاطّلاع على حساب رسوم العبور.

للحصول على أمثلة على احتساب رسوم العبور، راجع أمثلة على حساب مصفوفة المسارات.