คํานวณค่าผ่านทาง

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

เมื่อประมวลผลเส้นทางหรือเมทริกซ์เส้นทาง คุณอาจต้องพิจารณาค่าธรรมเนียมที่เรียกเก็บในเส้นทางดังกล่าว สําหรับเมืองบางแห่ง คุณสามารถคํานวณค่าผ่านทางโดยประมาณสําหรับเส้นทางในสกุลเงินที่เหมาะสมได้

โปรดดูรายการตําแหน่งค่าผ่านทางที่รองรับด้านล่าง

วิธีคํานวณค่าผ่านทาง

Routes API คํานวณค่าธรรมเนียมค่าผ่านทางโดยประมาณ โดยพิจารณาจากส่วนลดหรือค่าผ่านทางสําหรับคนขับหรือยานพาหนะ และวิธีการชําระเงินที่สะดวกที่สุด หากไม่มีราคาค่าผ่านทางของเส้นทางหนึ่งๆ API ของเส้นทางจะระบุว่ามีค่าผ่านทางระบุค่าธรรมเนียมที่ไม่รู้จัก

แอป Routes API มีตัวเลือกในการระบุข้อมูลต่อไปนี้เพื่อคํานวณค่าผ่านทางได้อย่างถูกต้อง

  • ประเภทการปล่อยก๊าซของยานพาหนะที่ใช้สําหรับเส้นทาง (VehicleEmissionType) หากไม่ได้ระบุประเภทการปล่อยก๊าซ ระบบจะคืนค่าผ่านทางสําหรับยานพาหนะที่ใช้น้ํามันเบนซิน
  • บัตรผ่านทางสําหรับคนขับหรือยานพาหนะที่อาจต้องใช้ (TollPass) หากไม่มีการระบุค่าผ่านทาง API จะแสดงราคาเงินสด
  • avoidTolls เป็น RouteModifier เพื่อหลีกเลี่ยงทางพิเศษ

การคํานวณค่าผ่านทางเมื่อใช้บัตรผ่านทาง

ในบางภูมิภาค ผู้ขับขี่หรือยานพาหนะที่มีบัตรผ่านทางจะมีค่าผ่านทางที่แตกต่างจาก คนที่ไม่มีบัตร เช่น หากคุณมีบัตรผ่านทาง Good To Go! มีค่าผ่านทางในซีแอตเทิล รัฐวอชิงตัน สหรัฐอเมริกา คุณต้องจ่ายค่าผ่านทางต่ํากว่าในกรณีที่คุณไม่มีบัตรโดยสาร

บางภูมิภาค เช่น อินโดนีเซีย มีถนนที่ต้องเสียค่าผ่านทาง หากไม่มีการระบุบัตรผ่านทางสําหรับเส้นทางที่ต้องใช้บัตรผ่านทาง จะไม่มีการส่งคืนสินค้า

หากคุณระบุค่าผ่านทางในฐานะคําขอ API จะส่งราคาบัตรคืน ดังนี้

  • หากคุณระบุบัตรผ่านทางที่ไม่ถูกต้อง ระบบจะข้ามบัตรดังกล่าว

  • คุณสามารถระบุบัตรผ่านทางได้หลายใบเป็นอาร์เรย์ API จะพยายามคํานวณราคาสําหรับเส้นทางของบัตรแต่ละใบ

คํานวณค่าผ่านทางสําหรับเส้นทาง

ตัวอย่างต่อไปนี้ใช้วิธีการของ computeRoutes เพื่อแสดงข้อมูลค่าผ่านทางพร้อมราคาโดยประมาณเมื่อใช้บัตรผ่านทาง ในตัวอย่างนี้ คุณจะ

  • ตั้งค่าช่องอาร์เรย์ extraComputations เป็น TOLLS เพื่อเปิดใช้การคํานวณข้อมูลค่าผ่านทาง

  • ระบุประเภทยานพาหนะและประเภทบัตรผ่านทางโดยใช้ช่อง routeModifiers ของคําขอ ราคาค่าผ่านทางที่แสดงคือ ราคาที่ใช้กับประเภทยานพาหนะและบัตรผ่านที่ระบุ หากระบุบัตรมากกว่า 1 ใบ ระบบจะส่งคืนราคาที่ถูกที่สุด

  • ใช้มาสก์ช่องการตอบกลับเพื่อกําหนดค่าวิธีการแสดงข้อมูลค่าผ่านทางในคําตอบ ในตัวอย่างนี้ คําขอมีพร็อพเพอร์ตี้ต่อไปนี้ในมาสก์ช่องการตอบกลับ

    • 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
            }
          ]
        }
      }
    }
  ]
}

คํานวณค่าผ่านทางสําหรับเมทริกซ์เส้นทาง

ตัวอย่างต่อไปนี้ใช้วิธีการของ computeRouteMatrix เพื่อแสดงข้อมูลค่าผ่านทางบนเส้นทางพร้อมราคาโดยประมาณเมื่อใช้บัตรผ่านทาง

  • ตั้งค่าช่องอาร์เรย์ extraComputations เป็น TOLLS เพื่อเปิดใช้การคํานวณข้อมูลค่าผ่านทาง

  • ระบุประเภทยานพาหนะและประเภทค่าผ่านทาง โดยใช้ช่อง routeModifiers ของจุดอ้างอิงต้นทางของคําขอ ราคาค่าผ่านทางที่แสดงอิงตามราคาที่ใช้กับประเภทยานพาหนะและบัตรที่ระบุ หากระบุบัตรมากกว่า 1 ใบ ระบบจะส่งราคาที่ถูกที่สุด

  • ใช้มาสก์ช่องการตอบกลับเพื่อกําหนดค่าวิธีการแสดงข้อมูลค่าผ่านทางในคําตอบ โปรดระบุ routes.travelAdvisory.tollInfo เพื่อแสดงข้อมูลของเส้นทางทั้งหมด

ขอข้อมูลค่าผ่านทางเมทริกซ์เส้นทาง

curl -X POST -d '{
"origins": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.340173523716736,
          "longitude":-71.05997968330408
        }
      }
    },
    "routeModifiers": {
      "vehicleInfo":{
        "emissionType": "GASOLINE"
      },
      "tollPasses": [
        "US_MA_EZPASSMA",
        "US_WA_GOOD_TO_GO"
      ]
    }
  }
],
"destinations": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.075698891472804,
          "longitude": -72.59806562080408
        }
      }
    }
  }
],
"travelMode": "DRIVE",
"extraComputations": ["TOLLS"]
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,travel_advisory.tollInfo,duration,distanceMeters,status' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

การตอบสนองสําหรับข้อมูลค่าผ่านทางเมทริกซ์เส้นทาง

คําตอบมีข้อมูลค่าผ่านทางในออบเจ็กต์ TollInfo (REST) หรือ TollInfo (gRPC)

หากต้องการกําหนดค่าวิธีการส่งคืนข้อมูลค่าผ่านทาง ให้ใช้มาสก์ช่องคําตอบเพื่อตั้งค่าช่อง travelAdvisory.tollInfo ในมาสก์

[
  {
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {},
    "distanceMeters": 150338,
    "duration": "5382s",
    "travelAdvisory": {
      "tollInfo": {
        "estimatedPrice": [
          {
            "currencyCode": "USD",
            "units": "4",
            "nanos": 400000000
           }
        ]
      }
    }
  }
]

ตําแหน่งค่าผ่านทางที่รองรับ

ขณะนี้มีข้อมูลค่าผ่านทางสําหรับสถานที่ตั้งต่อไปนี้

รหัสภูมิภาคประเทศ/ภูมิภาครัฐ/เมือง/ทางพิเศษ
AR อาร์เจนตินา บัวโนสไอเรส
AU ออสเตรเลีย บริสเบน
AU ออสเตรเลีย ซิดนีย์
BR บราซิล ทั่วประเทศ
ID อินโดนีเซีย ทั่วประเทศ
IN อินเดีย ทั่วประเทศ
MX เม็กซิโก เม็กซิโกซิตี
สหรัฐอเมริกา สหรัฐอเมริกา แอละแบมา
สหรัฐอเมริกา สหรัฐอเมริกา อะแลสกา
สหรัฐอเมริกา สหรัฐอเมริกา แคลิฟอร์เนีย
สหรัฐอเมริกา สหรัฐอเมริกา โคโลราโด
สหรัฐอเมริกา สหรัฐอเมริกา เดลาแวร์
สหรัฐอเมริกา สหรัฐอเมริกา Florida
สหรัฐอเมริกา สหรัฐอเมริกา อิลลินอยส์
สหรัฐอเมริกา สหรัฐอเมริกา ไอโอวา
สหรัฐอเมริกา สหรัฐอเมริกา อินดีแอนา
สหรัฐอเมริกา สหรัฐอเมริกา แคนซัส
สหรัฐอเมริกา สหรัฐอเมริกา ลุยเซียนา
สหรัฐอเมริกา สหรัฐอเมริกา เมน
สหรัฐอเมริกา สหรัฐอเมริกา แมริแลนด์
สหรัฐอเมริกา สหรัฐอเมริกา แมสซาชูเซตส์
สหรัฐอเมริกา สหรัฐอเมริกา มิชิแกน
สหรัฐอเมริกา สหรัฐอเมริกา มินนิโซตา
สหรัฐอเมริกา สหรัฐอเมริกา มิสซูรี
สหรัฐอเมริกา สหรัฐอเมริกา นิวแฮมป์เชียร์
สหรัฐอเมริกา สหรัฐอเมริกา นิวเจอร์ซีย์
สหรัฐอเมริกา สหรัฐอเมริกา นิวยอร์ก
สหรัฐอเมริกา สหรัฐอเมริกา นอร์ทแคโรไลนา
สหรัฐอเมริกา สหรัฐอเมริกา โอไฮโอ
สหรัฐอเมริกา สหรัฐอเมริกา เพนซิลเวเนีย
สหรัฐอเมริกา สหรัฐอเมริกา โรดไอแลนด์
สหรัฐอเมริกา สหรัฐอเมริกา เซาท์แคโรไลนา
สหรัฐอเมริกา สหรัฐอเมริกา เท็กซัส
สหรัฐอเมริกา สหรัฐอเมริกา ยูทาห์
สหรัฐอเมริกา สหรัฐอเมริกา เวอร์จิเนีย
สหรัฐอเมริกา สหรัฐอเมริกา วอชิงตัน
สหรัฐอเมริกา สหรัฐอเมริกา เวสต์เวอร์จิเนีย

ระบบจะอัปเดตข้อมูลนี้เมื่อมีข้อมูลค่าผ่านทางเพิ่มขึ้น