استخدم Routes API لحساب مسافة مسار ومدته لأصول ووجهات متعددة من خلال استدعاء computeRouteMatrix (REST) أو ميزة البث ComputeRouteMatrix (gRPC).
بناءً على قائمة بالمصادر والوجهات، يمكن يحسب المسافة والمدة لمسار بدءًا من كل نقطة انطلاق وتنتهي في كل وجهة.
الحصول على مصفوفة مسار النقل العام
ويمكنك أيضًا حساب مصفوفة مسار أثناء النقل العام. بالنسبة إلى على سبيل المثال، راجِع الحصول على مصفوفة مسارات للنقل العام.
الحدود القصوى للطلبات
تفرض طرق مصفوفة مسار الحوسبة الطلب التالي حدود نقاط الطرق باستخدام العنوان أو معرفات الأماكن، وللعناصر. العناصر هي المسارات بين كل نقطة انطلاق ووجهة في مصفوفة مسار، ومن ثم يصبح من العناصر هو عدد الأصول مضروبًا في عدد الوجهات. بالنسبة على سبيل المثال، إذا كان لديك 10 أصول و10 وجهات، سيكون لديك 100 عنصر:
لا يمكن أن يتجاوز عدد العناصر 625 للمسارات التي ليست مسارات
TRANSIT
.إذا حددت مسارًا
TRANSIT
، فلا يمكن أن يتجاوز عدد العناصر 100.إذا حددت
TRAFFIC_AWARE_OPTIMAL
، لن يمكن لعدد العناصر يتجاوز 100. لمزيد من المعلومات عنTRAFFIC_AWARE_OPTIMAL
، يُرجى الاطّلاع على تحديد كيفية تضمين بيانات عدد الزيارات وما إذا كانفي حال تحديد المصادر أو الوجهات باستخدام العنوان أو رقم تعريف المكان، يمكنك تحديد ما يصل إلى 50 إجمالاً بهذه الطريقة.
الأخطاء في الردود
تتمثل إحدى ميزات طرق مصفوفة مسار الحوسبة في أنه يمكن أن إما للرد بأكمله أو لعناصر الرد الفردية. على سبيل المثال، يحتوي الرد بالكامل على خطأ إذا تمت كتابة الطلب بشكل غير صحيح (على سبيل المثال، لها أصول صفرية).
ومع ذلك، إذا انطبق خطأ على مجموعة فرعية من من العناصر في الاستجابة (على سبيل المثال، لا يمكن حساب مسار لأحد المصدر والوجهة)، ثم العناصر المتأثرة فقط خطأ في إرجاع رمز خطأ.
نتائج ساحة مشاركات gRPC
ComputeRouteMatrix تستخدم طريقة gRPC قائمة بالمصادر والوجهات وتعرض البث. يحتوي على معلومات المسار لكل مجموعة من نقطة الانطلاق والوجهة. بما أنّ النتائج يتم عرضها على شكل ساحة مشاركات، لن تحتاج إلى الانتظار حتى يتم احتساب مجموعات المسارات المحتملة قبل أن تتمكن من البدء في معالجة نتائجك.
لا يمكن ضمان عرض العناصر التي يعرضها البث في أي
طلبك. ولذلك، يحتوي كل عنصر استجابة على origin_index
destination_index
بالنسبة إلى مصادر ووجهات الطلب المحددة في الطلب،
أصل المسار يعادل origins[origin_index]
لعنصر معيَّن.
ووجهة المسار تعادل destinations[destination_index]
.
تكون هذه الصفائف مفهرسة بصفر. من المهم تخزين بيانات المصدر
لطلبات قوائم الوجهات.
أمثلة على احتساب مصفوفة المسارات
استخدِم computeRouteMatrix. في طلب HTTP لحساب مصفوفة مسار.
مثال على HTTP
يعرض المثال التالي طلب HTTP computeRouteMatrix
. في هذا المثال
تساعدك على تنفيذ ما يلي:
يمكنك تحديد مصفوفة من مصدرين ونقاط طريق وجهة. الطريقة مسارًا من كل نقطة انطلاق إلى كل وجهة، وبالتالي ويحتوي على أربعة مسارات.
في الصفيفة، يكون العنصر الأول في فهرس 0، والثاني هو الفهرس 1، وهكذا.
قم بتضمين قناع حقل الاستجابة لتحديد الحقول الردّ (REST) أو ComputeRoutesResponse (gRPC) للعودة. في هذا المثال، اضبط الطلب ليتم إرجاع "
originIndex
" و"destinationIndex
" و"duration
" و"distanceMeters
" و"status
" وcondition
لكل مسار. لمزيد من المعلومات، يُرجى مراجعة اختَر الحقول التي تريد عرضها.
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } }, "routeModifiers": { "avoid_ferries": true} }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } }, "routeModifiers": { "avoid_ferries": true} } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
يتضمن الردّ المسارات الأربعة المحتملة لمزيج من كل المصادر. نقاط الطريق والوجهة.
حدِّد كل مسار في الاستجابة باستخدام originIndex
و
destinationIndex
حقل ردّ على سبيل المثال، originIndex
من 1 في
مع مسار محسوب من النقطة الوسيطة في الفهرس 1
المصفوفة origins
في الطلب.
[ { "originIndex": 0, "destinationIndex": 0, "status": {}, "distanceMeters": 822, "duration": "160s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 0, "status": {}, "distanceMeters": 2919, "duration": "361s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 1, "status": {}, "distanceMeters": 5598, "duration": "402s", "condition": "ROUTE_EXISTS" }, { "originIndex": 0, "destinationIndex": 1, "status": {}, "distanceMeters": 7259, "duration": "712s", "condition": "ROUTE_EXISTS" } ]
أمثلة على gRPC
على سبيل المثال طلبات gRPC، راجع الأمثلة على مثال على طلب gRPC لغة Java في تلك الصفحة استدعاء كل من مسارات الحوسبة مصفوفة مسار الحوسبة.