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

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

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