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