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

المطوّرون في المنطقة الاقتصادية الأوروبية

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

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