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

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

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

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

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

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

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

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

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