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

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

نقاط المرور الوسيطة هي مواقع جغرافية محدّدة بين نقطة الانطلاق والوجهة، ويجب أن يمرّ المسار بها.

يمكنك تحديد ما يصل إلى 25 نقطة توقّف وسيطة في طلب واحد باستخدام خاصية مصفوفة intermediates لطريقة REST computeRoutes أو طريقة gRPC ComputeRoutes.

محطات التوقف مقابل نقاط المرور

يمكنك ضبط نقطة طريق وسيطة كوجهة توقّف أو وجهة مرور:

  • محطة توقّف: تتوقّف المركبة تلقائيًا في الموقع الجغرافي. تقسّم كل نقطة توقّف مؤقت المسار من خلال إضافة إدخال RouteLeg إلى مصفوفة legs في الردّ. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد محطة توقّف على طول مسار.
  • نقطة مرور مع ضبط "via" على true: تمرّ المركبة بالموقع الجغرافي بدون التوقّف. لا تضيف نقاط المرور المؤقتة إدخالات إلى مصفوفة legs. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد نقطة يجب أن يمرّ بها المسار.

أجزاء المسار ونقاط الطريق الوسيطة

بالنسبة إلى كل محطة توقّف وسيطة في الطلب، يحتوي الردّ على عنصر RouteLeg منفصل في مصفوفة routes.legs.

على سبيل المثال، يتضمّن مسار يتضمّن نقطة انطلاق ومحطة توقّف واحدة ووجهة جزأين من المسار: * الجزء 1: من نقطة الانطلاق إلى محطة التوقّف. * الجزء 2: من محطة التوقف المؤقت إلى الوجهة

مثال: طلب يتضمّن نقطة طريق وسيطة

يستخدم المثال التالي مصفوفة intermediates لإضافة محطة توقّف وسيطة واحدة إلى مسار.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-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'

الردّ الذي يتضمّن عدة أجزاء من المسار

بما أنّ نقطة الطريق الوسيطة في الطلب هي نقطة توقّف لا تضبط "via": true، يقسّم الردّ المسار إلى جزأين في مصفوفة legs:

{
  "routes": [
    {
      "distanceMeters": 805,
      "duration": "248s",
      "legs": [
        {
          "distanceMeters": 207,
          "duration": "89s",
          "startLocation": {
            "latLng": {
              "latitude": 37.4197318,
              "longitude": -122.0826233
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          }
        },
        {
          "distanceMeters": 598,
          "duration": "159s",
          "startLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.4176166,
              "longitude": -122.0793882
            }
          }
        }
      ]
    }
  ]
}