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

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

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

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

רשימת המיקומים הנתמכים לתשלום אגרה מופיעה במאמר בנושא 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
            }
          ]
        }
      }
    }
  ]
}