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

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

צריך להשתמש במאפיין מערך intermediates של method 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": [
                {
                  ...