يتم تلقائيًا استخدام نقاط المرور الوسيطة للتوقّف من أجل عمليات الاستلام والتسليم، ولكن يمكنك أيضًا تحديد أنّ نقطة المرور الوسيطة مخصّصة للمرور فقط.
يتضمّن المسار الذي يحتوي على نقطة طريق أصلية ونقطة طريق وسيطة ونقطة طريق وجهة جزء مسار واحدًا فقط يربط بين نقطة الطريق الأصلية ونقطة طريق الوجهة، مع المرور بنقطة الطريق الوسيطة (المعروفة باسم via
).
يمكنك ضبط نقطة طريق وسيطة لتكون نقطة طريق تمريرية من خلال ضبط السمة via
لنقطة الطريق على true
باستخدام Waypoint (REST) أو Waypoint (gRPC).
تكون السمة via
أكثر فعالية عند إنشاء طرق استجابةً لسحب المستخدم نقاط الطريق على الخريطة. يسمح ذلك للمستخدم بالاطّلاع على الشكل النهائي للمسار في الوقت الفعلي، ويساعد في ضمان وضع نقاط الطريق في مواقع يسهل الوصول إليها من خلال Compute Routes.
يوضّح المثال التالي كيفية تصنيف نقطة طريق وسيطة على أنّها نقطة طريق عابرة.
{ "location": { "latLng": { "latitude":37.419734, "longitude":-122.0827784 } }, "via": true }
الوصول إلى أرقام تعريف الأماكن لنقاط الطريق الوسيطة
إذا حدّدت الموقع الجغرافي للمصدر أو الوجهة أو نقطة المرور الوسيطة
كـ سلسلة عنوان أو رمز موقع مفتوح، ستحاول واجهة برمجة التطبيقات العثور على
الموقع الجغرافي الأكثر صلة الذي يتضمّن رقم تعريف مكان مطابقًا. تحتوي مصفوفة
geocodingResults.intermediates
في النتائج على معرّف المكان الذي يتطابق مع الموقع الجغرافي لنقاط الطريق، بالإضافة إلى بيانات إضافية حول الموقع الجغرافي.
بالنسبة إلى كل عنصر من عناصر مصفوفة intermediates
، استخدِم السمة intermediateWaypointRequestIndex
لتحديد نقطة المرور الوسيطة في الطلب التي تتوافق مع رقم تعريف المكان في الرد.
على سبيل المثال:
تحدّد ثلاث نقاط توقّف وسيطة في الطلب. يتم تحديد اثنتين من نقاط الطريق هذه من خلال سلاسل عناوين، ويتم تحديد نقطة واحدة من خلال إحداثيات خطوط الطول والعرض.
يمكنك تضمين
geocodingResults
في قناع حقل الاستجابة لتحديد عرض مصفوفةgeocodingResults
في النتائج.
curl -X POST -d '{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "24 Willie Mays Plaza, San Francisco, CA 94107" }, "intermediates": [ { "address": "450 Serra Mall, Stanford, CA 94305, USA" }, { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } }, { "address": "1836 El Camino Real, Redwood City, CA 94063" } ], "travelMode": "DRIVE", }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults' 'https://routes.googleapis.com/directions/v2:computeRoutes'
تتضمّن الاستجابة مصفوفة geocodingResults
تحتوي على معرّف المكان الخاص بالمصدر والوجهة واثنتين من نقاط المرور الثلاث. هذه هي نقاط الطريق في الفهرسَين 0 و2 من الطلب. بما أنّ نقطة الطريق في الفهرس 1 من الطلب تم تحديدها باستخدام إحداثيات خط العرض/خط الطول، تم حذفها من مصفوفة geocodingResults
في الردّ.
{ "routes": [{...}], "geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, "destination": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY" }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 0, "type": [ "street_address" ], "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y" }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 2, "type": [ "premise" ], "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0" } ] } }