نقاط الالتفاف الوسيطة هي مواقع جغرافية بين نقطة الانطلاق والوجهة التي تريد أن يمرّ بها المسار. يمكن أن تكون نقطة الطريق الوسيطة محطة أو يمكنك تحديدها كموقع جغرافي للمرور من خلاله. للحصول على مثال لنقطة طريق لمحطة، راجع تعيين محطة على طول مسار. لعرض مثال على نقطة طريق للمرور، ضبط نقطة لمسار عبور.
استخدِم سمة المصفوفة 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": [ { ...