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

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

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