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

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

مسار يحتوي على نقطة طريق نقطة انطلاق، ووسيط عبور والنقطة الفارقة الوجهة تحتوي على ساق مسار واحد فقط يربط بين المنشأ والوجهة، بينما يمر عبر الوسط (تسمى نقطة الطريق 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"
      }
    ]
  }
}