یک نقطه برای عبور از آن تعیین کنید

به‌طور پیش‌فرض، ایستگاه‌های بین راهی برای توقف برای پیکاپ‌ها و جابه‌جایی‌ها استفاده می‌شوند، اما شما همچنین می‌توانید تعیین کنید که یک ایستگاه میانی فقط برای عبور از آن‌ها باشد.

مسیری که شامل یک نقطه راه مبدأ، یک ایستگاه بین راهی گذر از طریق و یک ایستگاه بین راهی مقصد است، تنها شامل یک مسیر است که مبدا و مقصد را به هم متصل می‌کند، در حالی که از میان راه (به نام via ) عبور می‌کند.

با استفاده از Waypoint (REST) ​​یا Waypoint (gRPC)، یک نقطه بین میانی را برای تبدیل شدن به یک ایستگاه via true پیکربندی کنید.

ویژگی via هنگام ایجاد مسیرها در پاسخ به کشیدن نقاط بین راهی روی نقشه توسط کاربر بسیار مؤثر است. انجام این کار به کاربر این امکان را می دهد که ببیند مسیر نهایی در زمان واقعی چگونه به نظر می رسد و کمک می کند تا اطمینان حاصل شود که ایستگاه های بین راهی در مکان هایی قرار می گیرند که برای مسیرهای محاسباتی قابل دسترسی هستند.

مثال زیر نشان می‌دهد که چگونه می‌توان یک نقطه میانی را به‌عنوان یک نقطه عبور از طریق علامت‌گذاری کرد.

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

به شناسه‌های مکان برای ایستگاه‌های بین راهی دسترسی پیدا کنید

اگر مکان مبدأ، مقصد، یا ایستگاه میانی را به‌عنوان رشته آدرس یا کد پلاس مشخص کنید، API تلاش می‌کند مرتبط‌ترین مکان را پیدا کند که دارای شناسه مکان مربوطه است. آرایه 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"
      }
    ]
  }
}