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

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

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

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

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

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

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

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

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