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

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

يتم تلقائيًا استخدام نقاط المرور الوسيطة للتوقّف من أجل عمليات الاستلام والتسليم، ولكن يمكنك أيضًا تحديد أنّ نقطة المرور الوسيطة مخصّصة للمرور فقط.

يتضمّن المسار الذي يحتوي على نقطة طريق أصلية ونقطة طريق وسيطة ونقطة طريق وجهة جزء مسار واحدًا فقط يربط بين نقطة الطريق الأصلية ونقطة طريق الوجهة، مع المرور بنقطة الطريق الوسيطة (المعروفة باسم via).

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

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

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

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

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

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

بالنسبة إلى كل عنصر من عناصر مصفوفة intermediates، استخدِم السمة intermediateWaypointRequestIndex لتحديد نقطة المرور الوسيطة في الطلب التي تتوافق مع رقم تعريف المكان في الرد.

على سبيل المثال:

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

  • يمكنك تضمين 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"
      }
    ]
  }
}