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

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

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