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