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

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

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