تعيين نقاط الطريق المتوسطة

نقاط الطرق الوسيطة هي مواقع تقع بين نقطة الانطلاق والوجهة التي تريد أن يمر بها المسار. ويمكن أن تكون النقطة الوسيطة الوسيطة محطة أو يمكنك تحديده كموقع للمرور. للحصول على مثال لنقطة وسيطة للمحطة، راجع تعيين محطة على طول مسار. للحصول على مثال نقطة طريق للمرور، ضبط نقطة لمسار عبور:

استخدِم سمة الصفيف 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": [
                {
                  ...