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