نقاط الالتفاف الوسيطة هي مواقع جغرافية بين نقطة الانطلاق والوجهة التي تريد أن يمرّ بها المسار. يمكن أن تكون نقطة الطريق الوسيطة محطة أو يمكنك تحديدها كموقع جغرافي للمرور من خلاله. للاطّلاع على مثال على نقطة مسار لمحطة، راجِع مقالة تحديد محطة على مسار. للحصول على مثال على نقطة الطريق التي يجب المرور بها، يمكنك ضبط نقطة لمسار يجب المرور به.
استخدِم سمة الصفيف intermediates
لطريقة
computeRoutes (REST) أو
ComputeRoutes (gRPC) لتحديد ما يصل إلى 25 نقطة مسار وسيطة كحد أقصى.
لكل نقطة مسار وسيطة في الطلب، يضيف
عنصر المسار (REST) أو
عنصر المسار (gRPC) في
الردّ إدخالًا إلى مصفوفة legs
لتقديم تفاصيل
مرحلة الرحلة هذه.
يُمثّل كل مسار من المسار كائن
RouteLeg (REST) أو
RouteLeg (gRPC).
يمكنك التحكّم في حقول RouteLeg
التي سيتم عرضها باستخدام
قناع حقل الردّ.
مثال: ضبط نقطة مسار وسيطة
يستخدم المثال التالي سمة الصفيف intermediates
لإضافة نقطة تفتيش واحدة
متوسطة إلى نص طلب POST الخاص بمسار.
يستخدم هذا المثال قناع حقل استجابة في عنوان X-Goog-FieldMask
الذي يحدّد عرض الحقول التالية في الاستجابة:
routes.duration
routes.distanceMeters
routes.legs
المطابق لكائنRouteLeg
بأكمله
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } }, "sideOfRoad": true }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "departureTime": "2022-10-15T15:01:23.045123456Z", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false, "avoidFerries": false }, "languageCode": "en-US", "units": "IMPERIAL" }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' 'https://routes.googleapis.com/directions/v2:computeRoutes'
يحتوي الردّ من هذه المكالمة على مصفوفة legs
. يتم تمثيل كل خطوة من الرحلة
باستخدام عنصر
RouteLegStep (REST) أو
RouteLegStep (gRPC).
{ "routes": [ { "legs": [ # First leg { "distanceMeters": 207, "duration": "89s", "staticDuration": "89s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "steps": [ { "distanceMeters": 21, "staticDuration": "6s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.41954, "longitude": -122.08262750000002 } } }, ... }, # Second leg { "distanceMeters": 598, "duration": "159s", "staticDuration": "159s", "polyline": { "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?" }, "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "endLocation": { "latLng": { "latitude": 37.417616599999995, "longitude": -122.07938820000001 } }, "steps": [ { ...