คำนวณเส้นทาง

เครื่องมือ compute_routes จะแสดงผลเส้นทางระหว่างต้นทางและปลายทางสำหรับโหมดการเดินทางที่ระบุ การตอบกลับจะมีระยะทางและระยะเวลาของเส้นทาง โดยค่าเริ่มต้น ระบบจะคำนวณเส้นทางโดยไม่มีการจราจรแบบเรียลไทม์ Pro เพิ่มการกำหนดเส้นทางที่พิจารณาการจราจรแบบเรียลไทม์และเส้นทางที่มีจุดแวะพักระหว่างทางมากขึ้น

หน้านี้อธิบายตัวเลือกคำขอ รวมถึงตัวเลือก Pro, สิ่งที่การตอบกลับมี และวิธีเรียกเก็บเงินสำหรับคำขอ ดูสคีมาเครื่องมือแบบเต็มได้ที่ข้อมูลอ้างอิง compute_routes

ตัวเลือกคำขอ

ตัวเลือก คำอธิบาย
origin, destination ต้องระบุ แต่ละรายการคือจุดอ้างอิง ซึ่งได้แก่ address (ที่อยู่ที่มนุษย์อ่านได้หรือ Plus Code), place_id หรือ lat_lng คุณสามารถผสมผสานรูปแบบได้ เช่น ที่อยู่สำหรับต้นทางและรหัสสถานที่สำหรับปลายทาง
travel_mode รูปแบบการเดินทาง: DRIVE (ค่าเริ่มต้น), WALK, BICYCLE หรือ TRANSIT เส้นทางWALKอยู่ในเวอร์ชันเบต้า และบางครั้งอาจไม่มีทางเท้าหรือทางเดินเท้าที่ชัดเจน คุณต้องแสดงคำเตือนนี้แก่ผู้ใช้สำหรับเส้นทางการเดินทั้งหมดที่แสดงในแอป
routing_preference วิธีใช้ข้อมูลการจราจรเพื่อคำนวณเส้นทาง: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (ค่าเริ่มต้น) หรือ ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ซึ่งเป็นตัวเลือก Pro ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ไม่รองรับ WALK หรือ BICYCLE ดูการกําหนดเส้นทางที่อิงตามสภาพการจราจร
intermediate_waypoints จุดแวะพักที่เรียงลำดับระหว่างต้นทางและปลายทาง เส้นทางจะผ่านจุดแวะพักตามลำดับที่ระบุ คำขอสามารถมีจุดอ้างอิงระดับกลางได้สูงสุด 10 จุด หรือ 11-25 จุดเป็นตัวเลือกระดับมือโปร คำขอที่มีมากกว่า 25 รายการจะแสดงข้อผิดพลาด INVALID_ARGUMENT เส้นทางขนส่งสาธารณะไม่รองรับจุดอ้างอิงระหว่างทาง
departure_time หรือ arrival_time เวลาที่ต้องออกจากต้นทางหรือมาถึงปลายทาง โดยระบุเป็นการประทับเวลา RFC 3339 ตั้งค่าได้ไม่เกิน 1 รายการ ค่าเริ่มต้นคือออกเดินทาง ณ เวลาปัจจุบัน สำหรับ TRANSIT เวลาอาจเป็นอดีตได้สูงสุด 7 วันหรืออนาคตได้สูงสุด 100 วัน สำหรับรูปแบบการเดินทางอื่นๆ เวลาต้องไม่เป็นเวลาในอดีตและต้องไม่เกิน 365 วันข้างหน้า
compute_alternative_routes เมื่อ true การตอบกลับจะมีเส้นทางอื่นนอกเหนือจากเส้นทางที่แนะนำ (หากมี) ค่าเริ่มต้นคือ false
include_polyline เมื่อ true แต่ละเส้นทางในการตอบกลับจะมี encodedPolyline ค่าเริ่มต้นคือ false
location_bias ละติจูดและลองจิจูดที่ให้น้ำหนักกับวิธีแก้ไขจุดอ้างอิงที่เป็นข้อความ เช่น เพื่อแก้ความกำกวมของที่อยู่

ตัวเลือก Pro

เลือก SKU รุ่น Pro ได้ 2 ตัวเลือก คำขอที่ใช้ SKU อย่างใดอย่างหนึ่งหรือทั้ง 2 รายการจะเรียกเก็บเงินภายใต้ SKU ระดับ Pro ดังนี้

ตัวเลือก Pro ใช้เมื่อใด
ตั้งค่าที่อยู่routing_preferenceเป็น ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL แล้ว ผู้ใช้ถามเกี่ยวกับการจราจร ความแออัด หรือระยะเวลาเดินทางที่พิจารณาจากการจราจรในปัจจุบัน ดูการกําหนดเส้นทางที่อิงตามสภาพการจราจร
11 ถึง 25 intermediate_waypoints เส้นทางต้องมีจุดแวะพักมากกว่า 10 จุดระหว่างต้นทางและปลายทาง

ตัวเลือกอื่นๆ ทั้งหมดจะเรียกเก็บเงินภายใต้ SKU Essentials ซึ่งรวมถึงโหมดการเดินทาง เวลา เส้นทางอื่น เส้นประกอบ และการให้น้ำหนักสถานที่

การกำหนดเส้นทางที่คำนึงถึงสภาพการจราจร

โดยค่าเริ่มต้น ระบบจะคำนวณเส้นทางโดยไม่มีสภาพการจราจรแบบเรียลไทม์ (ROUTING_PREFERENCE_TRAFFIC_UNAWARE) การตั้งค่านี้มีเวลาในการตอบสนองต่ำที่สุด เหมาะสำหรับคำขอที่การจราจรไม่สำคัญหรือไม่เกี่ยวข้อง เช่น เส้นทางเดินหรือการวางแผนคร่าวๆ

ตั้งค่า routing_preference เป็น ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL เพื่อคำนวณเส้นทางและระยะเวลาตามสภาพการจราจรปัจจุบัน เมื่อมีข้อมูลการจราจร ใช้เมื่อผู้ใช้ถามว่าการขับรถใช้เวลานานเท่าใดในขณะนี้ สำหรับเส้นทางTRANSIT การตั้งค่านี้จะใช้ข้อมูลขนส่งสาธารณะแบบเรียลไทม์ เช่น ความล่าช้าและการยกเลิก เมื่อมีข้อมูล โดยไม่รองรับเส้นทาง WALK หรือ BICYCLE และคำขอเหล่านั้นจะแสดงข้อผิดพลาด INVALID_ARGUMENT ตัวเลือกนี้เป็นตัวเลือก Pro ดังนั้นระบบจะเรียกเก็บเงินสำหรับคำขอภายใต้ SKU ของ Pro นอกจากนี้ ตัวเลือกนี้ยังเพิ่มเวลาในการตอบสนองด้วย

ในช่วง GA แบบจำกัด หากโปรเจ็กต์ของคุณไม่อยู่ในรายการที่อนุญาตของ Pro ระบบจะถือว่าตัวเลือกนี้เป็น ROUTING_PREFERENCE_TRAFFIC_UNAWARE โปรดดูรายละเอียดที่หัวข้อตัวเลือก Pro ในช่วง GA แบบจำกัด

ตัวอย่าง

คำขอต่อไปนี้จะขอเส้นทางการขับขี่ที่คำนึงถึงสภาพการจราจรโดยมีจุดแวะพักระหว่างทาง 1 จุดและเส้นประกอบที่เข้ารหัส ระบบจะเรียกเก็บเงินภายใต้ SKU ของ Pro ดังนี้

{
  "method": "tools/call",
  "params": {
    "name": "compute_routes",
    "arguments": {
      "origin": {"address": "Ferry Building, San Francisco, CA"},
      "destination": {"address": "Golden Gate Park, San Francisco, CA"},
      "intermediate_waypoints": [
        {"address": "Palace of Fine Arts, San Francisco, CA"}
      ],
      "travel_mode": "DRIVE",
      "routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
      "include_polyline": true
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

คำตอบ

คำตอบจะมี routes[] ซึ่งจัดเรียงจากรายการที่แนะนำมากที่สุดไปน้อยที่สุด ระบบจะแสดงผลเส้นทางเดียวเท่านั้น เว้นแต่ compute_alternative_routes จะเป็น true แต่ละเส้นทางประกอบด้วยข้อมูลต่อไปนี้

  • distanceMeters: ระยะทางการเดินทางของเส้นทาง มีหน่วยเป็นเมตร
  • duration: เวลาที่ต้องใช้ในการเดินทางตามเส้นทาง เมื่อใช้ ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ระยะเวลาจะพิจารณาจากสภาพการจราจร
  • encodedPolyline: เส้นทางของเส้นทางเป็นเส้นประกอบที่เข้ารหัส เมื่อ include_polyline เป็น true คุณสามารถใช้เพื่อวาดเส้นทางบนแผนที่ด้วย API อื่นๆ ของ Google Maps Platform
  • attribution: การระบุแหล่งที่มาที่คุณต้องแสดงพร้อมกับเส้นทาง ดูข้อกำหนดในการระบุแหล่งที่มา

ตัวเลือก Pro ในช่วง GA แบบจำกัด

ในช่วง GA แบบจำกัด ตัวเลือก Pro จะใช้ได้กับโปรเจ็กต์ในรายการที่อนุญาตของ Pro เท่านั้น หากโปรเจ็กต์ยังไม่อยู่ในรายการที่อนุญาต ให้ทำดังนี้

  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL จะถือว่าเป็น ROUTING_PREFERENCE_TRAFFIC_UNAWARE และระบบจะเรียกเก็บเงินสำหรับคำขอดังกล่าวภายใต้ SKU ของ Essentials
  • คำขอที่มีจุดอ้างอิงกลางมากกว่า 10 จุดจะแสดงข้อผิดพลาด INVALID_ARGUMENT ("รองรับจุดอ้างอิงกลางได้สูงสุด 10 จุด")

หากต้องการขอสิทธิ์เข้าถึง โปรดดูตัวเลือก Pro ในช่วง GA แบบจำกัด

การเรียกเก็บเงินและโควต้า

คำขอ compute_routes แต่ละรายการเป็นเหตุการณ์ที่เรียกเก็บเงินได้ 1 รายการ ดังนี้

การขอเส้นทางอื่น, เส้นประกอบ, เวลาออกเดินทางหรือเวลาถึง หรือโหมดการเดินทางอื่นจะไม่เปลี่ยน SKU

โควต้า compute_routes คือ 300 คำค้นหาต่อนาทีต่อโปรเจ็กต์ โดยใช้ร่วมกันทั้ง 2 SKU ดูราคาได้ที่ตารางราคาหลักและตารางราคาสำหรับอินเดีย

จำกัดสูงสุด

  • คำขอหนึ่งๆ มีจุดอ้างอิงกลางได้สูงสุด 25 จุด โดย 11 ถึง 25 จุดเป็นตัวเลือกแบบ Pro คำขอที่มีมากกว่านั้นจะแสดงข้อผิดพลาด INVALID_ARGUMENT
  • เส้นทางขนส่งสาธารณะไม่รองรับจุดอ้างอิงระดับกลาง คำขอขนส่งสาธารณะที่มีจุดอ้างอิงระดับกลางจะแสดงข้อผิดพลาด INVALID_ARGUMENT
  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ไม่รองรับเส้นทางเดินเท้าหรือเส้นทางจักรยาน
  • สำหรับเส้นทางขนส่งสาธารณะ เวลาออกเดินทางและเวลาถึงอาจเป็นเวลาในอดีตไม่เกิน 7 วันหรือในอนาคตไม่เกิน 100 วัน สำหรับรูปแบบการเดินทางอื่นๆ วันที่ต้องไม่เป็นวันที่ในอดีตและต้องไม่เกิน 365 วันนับจากวันนี้
  • พิกัดจุดอ้างอิงต้องอยู่ภายในขอบเขตทางภูมิศาสตร์ที่ถูกต้อง (ละติจูดตั้งแต่ -90 ถึง 90, ลองจิจูดตั้งแต่ -180 ถึง 180)
  • เครื่องมือนี้จะไม่แสดงขั้นตอนแบบเลี้ยวต่อเลี้ยว ช่วงเส้นทาง หรือรายละเอียดสายขนส่งสาธารณะ