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

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

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

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

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

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

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

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

في حال تحديد الموقع الجغرافي لأصل أو وجهة أو نقطة طريق وسيطة على أنّها سلسلة عنوان أو كرمز علامة الجمع، تحاول واجهة برمجة التطبيقات العثور على الموقع الجغرافي الأكثر صلة والذي يحتوي على رقم تعريف مكان مطابق. تحتوي مصفوفة 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"
      }
    ]
  }
}