הגדרת ציוני דרך ברמת הביניים

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

השתמשו במאפיין מערך intermediates של ה-method computeRoutes (ב-REST) או ב-method ComputeRoutes (gRPC), כדי להגדיר עד 25 נקודות ציון ביניים.

לכל נקודת ציון מתווכת בבקשה, האובייקט 'ניתוב' (REST) או האובייקט 'ניתוב' (gRPC) בתשובה מוסיפים רשומה למערך legs כדי לספק את הפרטים לגבי הקטע הזה בתהליך.

כל קטע במסלול מיוצג על ידי אובייקט RouteLeg (REST) או RouteLeg (gRPC). משתמשים באנונימיזציה של שדות התשובה כדי לקבוע אילו שדות RouteLeg יוחזרו.

דוגמה - הגדרת ציון דרך ביניים

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

בדוגמה הזו נעשה שימוש במסכה של שדות תשובה בכותרת X-Goog-FieldMask, שמציינת להחזיר את השדות הבאים בתשובה:

  • routes.duration
  • routes.distanceMeters
  • routes.legs תואם לאובייקט RouteLeg כולו.
curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    },
    "sideOfRoad": true
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2022-10-15T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "IMPERIAL"
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs'
'https://routes.googleapis.com/directions/v2:computeRoutes'

התשובה מהקריאה הזו מכילה את המערך legs. כל שלב מיוצג על ידי אובייקט RouteLegStep (REST) או RouteLegStep (gRPC).

{
  "routes": [
    {
      "legs": [
        # First leg
        {
            "distanceMeters": 207,
            "duration": "89s",
            "staticDuration": "89s",
            "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.4197318,
                    "longitude": -122.0826233
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "steps": [            {
              "distanceMeters": 21,
              "staticDuration": "6s",
              "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@"
              },
              "startLocation": {
                "latLng": {
                  "latitude": 37.4197318,
                  "longitude": -122.0826233
                }
              },
              "endLocation": {
                "latLng": {
                  "latitude": 37.41954,
                  "longitude": -122.08262750000002
                }
              }
            },
            ...
        },
        # Second leg
        {
            "distanceMeters": 598,
            "duration": "159s",
            "staticDuration": "159s",
            "polyline": {
                "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.417616599999995,
                    "longitude": -122.07938820000001
                }
            },
            "steps": [
                {
                  ...