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

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

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

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

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

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

{
  "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"
      }
    ]
  }
}