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

بشكل افتراضي، تُستخدم نقاط الطريق الوسيطة لإيقاف عمليات الاستلام والتسليم، ولكن يمكنك أيضًا تحديد أن النقطة الوسيطة الوسيطة تهدف فقط إلى المرور.

يحتوي المسار الذي يحتوي على نقطة طريق نقطة انطلاق ونقطة طريق وسيطة للمرور ونقطة طريق وجهة على ساق مسار واحد فقط يربط المنشأ والوجهة، بينما يمر عبر النقطة الوسيطة via.

يجب ضبط نقطة وسيطة وسيطة لتكون نقطة مرور من خلال ضبط السمة via للنقطة الوسيطة على true باستخدام نقطة طريق (REST) أو نقطة مرور (gRPC).

تكون السمة via أكثر فعالية عند إنشاء المسارات استجابةً لمستخدم يسحب نقاط الطريق على الخريطة. يتيح ذلك للمستخدم الاطّلاع على الشكل الذي قد يبدو عليه المسار النهائي في الوقت الفعلي ويساعد في ضمان وضع نقاط الطريق في مواقع يمكن الوصول إليها من خلال Compute Routes.

يوضح المثال التالي كيفية وضع علامة على نقطة وسيطة كنقطة طريق للمرور.

{
  "location": {
    "latLng": {
      "latitude":37.419734,
      "longitude":-122.0827784
    }
  },
  "via": true
}

الوصول إلى أرقام تعريف الأماكن للنقاط الوسيطة المتوسطة

في حال تحديد الموقع الجغرافي للمصدر أو الوجهة أو النقطة الوسيطة كسلسلة عنوان أو كرمز Plus Codes، ستحاول واجهة برمجة التطبيقات العثور على الموقع الجغرافي الأكثر صلة والذي يحتوي على رقم تعريف مكان مطابق. تحتوي مصفوفة geocodingResults.intermediates في النتائج على رقم تعريف المكان المناسب لموقع نقاط الطريق، إلى جانب بيانات إضافية عن الموقع الجغرافي.

يمكنك استخدام السمة intermediateWaypointRequestIndex لكل عنصر في مصفوفة intermediates لتحديد أي نقطة وسيطة في الطلب تتطابق مع معرّف المكان في الاستجابة.

مثلاً:

  • يمكنك تحديد ثلاث نقاط طريق وسيطة في الطلب. يتم تحديد اثنتين من نقاط الطريق هذه عن طريق سلاسل العناوين والأخرى عن طريق إحداثيات خط العرض/الطول.

  • يمكنك تضمين geocodingResults في قناع حقل الاستجابة لتحديد عرض مصفوفة geocodingResults في النتائج.

curl -X POST -d '{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "24 Willie Mays Plaza, San Francisco, CA 94107"
  },
  "intermediates": [
    {
      "address": "450 Serra Mall, Stanford, CA 94305, USA"
    },
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    },
    {
      "address": "1836 El Camino Real, Redwood City, CA 94063"
    }
  ],
  "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,geocodingResults'
'https://routes.googleapis.com/directions/v2:computeRoutes'

يتضمن الردّ مصفوفة geocodingResults التي تحتوي على معرّف المكان للأصل والوجهة واثنتين من نقاط الطريق الثلاث. هذه هي نقاط الطريق في الفهرس 0 و2 للطلب. بما أنّه تم تحديد النقطة الوسيطة في الفهرس 1 للطلب باستخدام إحداثيات خطوط الطول/العرض، يتم حذفها من المصفوفة geocodingResults في الاستجابة.

{
  "routes": [{...}],
  "geocodingResults": {
    "origin": {
      "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g"
    },
    "destination": {
     "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY"
    },
    "intermediates": [
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 0,
        "type": [
            "street_address"
        ],
        "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y"
      },
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 2,
        "type": [
          "premise"
        ],
        "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0"
      }
    ]
  }
}