חישוב עמלות אגרה במסלול

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

במאמר חישוב אגרות במטריצה של מסלולים מוסבר איך מקבלים את סכומי האגרות במטריצה של מסלולים.

אפשר לראות את רשימת מיקומי האגרות הנתמכים. TollPass.

איך אגרות מחושבות

ה-Routes API מחשב את עמלת האגרה המשוערת המערכת מביאה בחשבון הנחות או כרטיסים זמינים במחירי האגרה לנהג או לרכב, ואת אמצעי התשלום הנוחים ביותר. אם אין מחיר זמין של אגרה למסלול נתון, ב-Routes API יצוין קיומו של אגרה עם תשלום לא ידוע.

כדי לקבל אומדנים מדויקים של כבישי אגרה, חשוב לכלול את הפרטים הבאים בבקשה שלך:

  • סוג הפליטה של הרכב שמשמש למסלול (VehicleEmissionType). אם לא תספקו את סוג הפליטה, האגרה של כלי רכב שמתדלקת בדלק היא הוחזרו.
  • כל הכרטיסים לתשלום בכביש אגרה שיש לרכב ולנהג באמצעות (TollPass). ה-API משתמש בכרטיסים לתשלום בכביש אגרה כדי לקבוע את החיובים המדויקים בכביש אגרה, ומחזיר מחירים במזומן כשהכרטיסים בבקשה לא מקומיים למסלול.
  • אם צריך, מציינים הימנעות מכבישי אגרה. אם רוצים להימנע מכבישי אגרה במידת האפשר, מוסיפים את avoidTolls כ-RouteModifier.

חישוב אגרות באמצעות מינוי

כדי לחשב את כבישי האגרה באמצעות אישורי מעבר, עליכם לציין את כל כבישי האגרה כחלק לבקשה. לאחר מכן ה-API מחזיר את מחירי הכרטיסים.

  • אם תציינו כרטיס אגרה לא תקף, המערכת תתעלם מהכרטיס.

  • אם מציינים כמה אישורי אגרה כמערך, ה-API ינסה לחשב את המחיר של המסלול לכל כרטיס.

אופן הפעולה של אישורי הנסיעה בכבישי אגרה עשוי להשתנות בהתאם לאזור.

  • המחירים עשויים להיות נמוכים יותר עם מינוי לכביש אגרה: באזורים מסוימים, נהג או רכב. משלמים כבישי אגרה שונים מאלה שאין להם כרטיס אגרה. לדוגמה, אם יש לכם כרטיס Good To Go! לתשלום על כבישי אגרה בסיאטל, וושינגטון, ארה"ב, אתם משלמים על אגרה נמוכה יותר מאשר אם אין לכם כרטיס.

  • יכול להיות שבכבישים מסוימים תצטרכו תווית נסיעה: באזורים מסוימים, כמו אינדונזיה, יש כבישים שבהם צריך תווית נסיעה. אם לא מציינים כרטיס נסיעה בכביש אגרה למסלול שבו נדרש כרטיס כזה, ה-API לא מחזיר מחיר של אגרה.

חישוב עמלות האגרה למסלול

הדוגמה הבאה משתמשת computeRoutes שיטה להחזרת מידע על כבישי אגרה עם הערכה משוערת המחיר כשנעשה שימוש בכרטיס אגרה. בדוגמה הזו:

  • כדי לאפשר את החישוב של פרטי החיובים, מגדירים את שדה המערך extraComputations לערך TOLLS.

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

  • משתמשים במסכת שדות של תשובה כדי להגדיר את השיטה שיחזיר את פרטי האגרה בתשובה. בדוגמה הזאת, הבקשה כלל את המאפיינים הבאים במסכה של שדה התגובה:

    • השדה routes.travelAdvisory.tollInfo להחזרת מידע עבור את המסלול כולו.

    • routes.legs.travelAdvisory.tollInfo להחזרת מידע לכל רגל.

בקשה למידע על כבישי האגרה

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "extraComputations": ["TOLLS"],
  "routeModifiers":{
    "vehicleInfo":{
      "emissionType": "GASOLINE"
    },
    "tollPasses": [
      "US_MA_EZPASSMA",
      "US_WA_GOOD_TO_GO"
    ]
  }
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

תגובה שמכילה פרטי תשלום

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

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}