يمكنك حساب مسافة مسار ومدته لعدة نقاط انطلاق ووجهات باستخدام طريقة ComputeRouteMatrix في Routes Preferred API. تتيح طريقة ComputeRouteMatrix كلاً من طلبات gRPC المستندة إلى البث وطلبات REST HTTP.
عند توفّر قائمة بأزواج نقاط الانطلاق والوجهات، تحسب طريقة ComputeRouteMatrix مسافة المسار ومدته بدءًا من كل نقطة انطلاق وانتهاءً بكل وجهة. يتوافق كل عنصر من عناصر البث مع معلومات مسار واحد.
تتميّز طريقة ComputeRouteMatrix بعدة مزايا مقارنةً بخدمة مصفوفة المسافة:
- يسمح البث بعرض العناصر قبل حساب المصفوفة بالكامل، ما يقلّل من وقت الاستجابة.
- تتضمّن طريقة
ComputeRouteMatrixخيارات دقيقة لحساب حركة المرور، ما يتيح لك اتخاذ قرارات بشأن المفاضلة بين الجودة ووقت الاستجابة. - يتم تشغيل الطلبات بأولوية أعلى ضمن البنية الأساسية من Google، ما يؤدي إلى توفّر أعلى.
- يمكنك تحديد معلومات الاتجاه (اتجاه السفر) ومعلومات جانب الطريق لنقاط المرور.
- يمكنك طلب عرض معلومات رسوم العبور، بالإضافة إلى مسافة المسار والوقت المقدَّر للوصول.
تفعيل طريقة ComputeRouteMatrix
قبل أن تتمكّن من استخدام طريقة ComputeRouteMatrix في الرمز البرمجي، عليك تفعيلها. لمزيد من المعلومات حول تفعيل طرق Routes Preferred API
، يُرجى الاطّلاع على مقالة البدء.
استخدام طريقة ComputeRouteMatrix
تتوفّر طريقة ComputeRouteMatrix من خلال نقطة نهاية Routes Preferred v1.
لمزيد من المعلومات التفصيلية، يُرجى الاطّلاع على المستندات التالية:
تصف الخطوات العامة التالية كيفية استخدام gRPC لاستدعاء طريقة ComputeRouteMatrix:
يمكنك الاطّلاع على مخازن بروتوكول البيانات اللازمة من مستودع googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
يُرجى العِلم أنّ بعض أنظمة الإنشاء، مثل Go، قد تنفّذ هذه الخطوة تلقائيًا.
باستخدام لغتك المفضّلة ومجموعة أدوات الإنشاء، يمكنك إنشاء رمز بروتوكول البيانات ذي الصلة.
يمكنك إنشاء طلبك. يجب إرسال عنصرَين مطلوبَين من البيانات الوصفية مع الطلب:
- يجب ضبط 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. يُرجى العِلم أنّ إيقاف الحقول التي لا تحتاج إليها يمكن أن يقلّل من وقت الاستجابة لأنّ هذه الحقول قد تتطلّب إجراء عمليات حسابية إضافية. سيظل وقت الاستجابة ثابتًا إذا حدّدت الحقول التي تحتاج إليها وتمت إضافة حقول جديدة تتطلّب إجراء عمليات حسابية إضافية لاحقًا.
أرسِل طلبك إلى
routespreferred.googleapis.com:443.يجب استخدام بروتوكول أمان طبقة النقل (TLS).
للاطّلاع على أمثلة على استخدام طريقة ComputeRouteMatrix، يُرجى الاطّلاع على
أمثلة على حساب مصفوفة مسار (إصدار تجريبي).
من الميزات المميّزة لطريقة ComputeRouteMatrix أنّه يمكن عرض رموز الخطأ إما للبث بالكامل أو لعناصر فردية. على سبيل المثال، يعرض اتصال البث خطأً إذا كان الطلب غير صالح (على سبيل المثال، إذا لم يتضمّن أي نقاط انطلاق). ومع ذلك، إذا كان الخطأ ينطبق على بضعة عناصر فقط من عناصر البث (على سبيل المثال، إذا تم ضبط رقم تعريف مكان غير صالح لنقطة انطلاق)، لن تحتوي سوى العناصر المتأثرة بالخطأ على رموز الخطأ.
لا نضمن عرض العناصر التي يعرضها البث بأي ترتيب معيّن. لهذا السبب، يحتوي كل عنصر على origin_index وdestination_index. بالنسبة إلى نقاط الانطلاق والوجهات التي يحدّدها الطلب، تكون نقطة انطلاق المسار مكافئة لـ origins[origin_index] لعنصر معيّن، وتكون وجهة المسار مكافئة لـ destinations[destination_index]. تتم فهرسة هذه المصفوفات بدءًا من الصفر. من المهم تخزين ترتيبات قوائم نقاط الانطلاق والوجهات.
حساب رسوم العبور
لمزيد من المعلومات حول حساب رسوم العبور، يُرجى الاطّلاع على مقالة حساب رسوم العبور.
للاطّلاع على أمثلة على حساب رسوم العبور، يُرجى الاطّلاع على أمثلة على حساب مصفوفة مسار.