הגדרת נקודה להעברת מסלול

מפתחים באזור הכלכלי האירופי (EEA)

כברירת מחדל, נקודות ציון ביניים משמשות לעצירה לצורך איסוף והורדה של נוסעים, אבל אפשר גם לציין שנקודת ציון ביניים נועדה רק למעבר.

מסלול שמכיל נקודת מוצא, נקודת ביניים למעבר ונקודת יעד, מכיל רק קטע מסלול אחד שמקשר בין נקודת המוצא לנקודת היעד, ועובר דרך נקודת הביניים (שנקראת via).

כדי להגדיר ציון דרך ביניים כציון דרך למעבר, צריך להגדיר את המאפיין via של ציון הדרך לערך true באמצעות Waypoint (REST) או Waypoint (gRPC).

המאפיין via יעיל במיוחד כשיוצרים מסלולים בתגובה לכך שהמשתמש גורר את נקודות הציון במפה. כך המשתמש יכול לראות איך המסלול הסופי ייראה בזמן אמת, ולוודא שנקודות הציון ממוקמות במקומות שניתן להגיע אליהם באמצעות Compute Routes.

בדוגמה הבאה אפשר לראות איך מסמנים נקודת ציון ביניים כנקודת ציון למעבר.

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

גישה למזהי מקומות של נקודות ציון ביניים

אם מציינים את המיקום של נקודת מוצא, יעד או נקודת ביניים כמחרוזת כתובת או כ-Plus Code, ה-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"
      }
    ]
  }
}