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

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

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

משתמשים במאפיין המערך intermediates של שיטת computeRoutes (REST) או שיטת 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": [
                {
                  ...