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

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

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