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

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

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