- คำขอ HTTP
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
รับรายการต้นทางและปลายทาง แล้วแสดงผลสตรีมที่มีข้อมูลเส้นทางสำหรับชุดค่าผสมต้นทางและปลายทางแต่ละชุด
หมายเหตุ: วิธีนี้กำหนดให้คุณต้องระบุมาสก์ช่องการตอบกลับในอินพุต คุณระบุมาสก์ฟิลด์การตอบกลับได้โดยใช้พารามิเตอร์ URL $fields
หรือ fields
หรือโดยใช้ส่วนหัว HTTP/gRPC X-Goog-FieldMask
(ดูพารามิเตอร์และส่วนหัว URL ที่ใช้ได้) ค่าดังกล่าวคือรายการเส้นทางของฟิลด์ที่คั่นด้วยคอมมา ดูเอกสารประกอบแบบละเอียดเกี่ยวกับวิธีสร้างเส้นทางฟิลด์
ตัวอย่างเช่น ในวิธีนี้
- ฟิลด์มาสก์ของช่องที่ใช้ได้ทั้งหมด (สำหรับการตรวจสอบด้วยตนเอง):
X-Goog-FieldMask: *
- ฟิลด์มาสก์ของระยะเวลา เส้นทาง ระยะทาง สถานะขององค์ประกอบ สภาพ และดัชนีองค์ประกอบ (ตัวอย่างการตั้งค่าเวอร์ชันที่ใช้งานจริง):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
คุณต้องใส่ status
ในมาสก์ฟิลด์ ไม่เช่นนั้นข้อความทั้งหมดจะดูเหมือนว่าไม่มีปัญหา Google ไม่แนะนำให้ใช้มาสก์ฟิลด์การตอบกลับแบบไวลด์การ์ด (*
) เนื่องจากเหตุผลต่อไปนี้
- การเลือกเฉพาะฟิลด์ที่คุณต้องการจะช่วยให้เซิร์ฟเวอร์ของเราประหยัดรอบการคำนวณได้ ซึ่งจะช่วยให้เราแสดงผลลัพธ์แก่คุณโดยมีความหน่วงต่ำลง
- การเลือกเฉพาะฟิลด์ที่คุณต้องการในงานเวอร์ชันที่ใช้งานจริงจะช่วยให้มั่นใจได้ว่าประสิทธิภาพเวลาในการตอบสนองจะคงที่ เราอาจเพิ่มช่องคำตอบเพิ่มเติมในอนาคต และช่องใหม่เหล่านั้นอาจต้องใช้เวลาในการคำนวณเพิ่มเติม หากเลือกช่องทั้งหมด หรือเลือกช่องทั้งหมดที่ระดับบนสุด คุณอาจพบว่าประสิทธิภาพลดลงเนื่องจากระบบจะรวมช่องใหม่ที่เราเพิ่มลงในการตอบกลับโดยอัตโนมัติ
- การเลือกเฉพาะฟิลด์ที่คุณต้องการจะทำให้ขนาดการตอบกลับเล็กลง และทำให้ปริมาณงานของเครือข่ายสูงขึ้น
คำขอ HTTP
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{ "origins": [ { object ( |
ฟิลด์ | |
---|---|
origins[] |
ต้องระบุ อาร์เรย์ของต้นทาง ซึ่งกำหนดแถวของเมทริกซ์การตอบกลับ ข้อจำกัดด้านขนาดหลายประการมีผลกับ Cardinality ของต้นทางและปลายทาง ดังนี้
|
destinations[] |
ต้องระบุ อาร์เรย์ของปลายทาง ซึ่งกำหนดคอลัมน์ของเมทริกซ์การตอบกลับ |
travelMode |
ไม่บังคับ ระบุรูปแบบการเดินทาง |
routingPreference |
ไม่บังคับ ระบุวิธีกำหนดเส้นทาง เซิร์ฟเวอร์จะพยายามใช้ค่ากำหนดการกำหนดเส้นทางที่เลือกเพื่อคำนวณเส้นทาง หากค่ากำหนดการกำหนดเส้นทางส่งผลให้เกิดข้อผิดพลาดหรือเวลาในการตอบสนองนานเกินไป ระบบจะแสดงผลข้อผิดพลาด คุณจะระบุตัวเลือกนี้ได้เฉพาะเมื่อ |
departureTime |
ไม่บังคับ เวลาออกเดินทาง หากไม่ได้ตั้งค่านี้ ค่าเริ่มต้นจะเป็นเวลาที่คุณส่งคำขอ หมายเหตุ: คุณระบุ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
arrivalTime |
ไม่บังคับ เวลาถึง หมายเหตุ: ตั้งค่าได้เมื่อตั้งค่า ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
languageCode |
ไม่บังคับ รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ดูข้อมูลเพิ่มเติมได้ที่ตัวระบุภาษาของ Unicode ดูรายการภาษาที่รองรับได้ที่การรองรับภาษา เมื่อคุณไม่ได้ระบุค่านี้ ระบบจะอนุมานภาษาที่แสดงจากตำแหน่งของต้นทางแรก |
regionCode |
ไม่บังคับ รหัสภูมิภาคที่ระบุเป็นค่า ccTLD ("โดเมนระดับบนสุด") 2 อักขระ ดูข้อมูลเพิ่มเติมได้ที่โดเมนระดับบนสุดแบบรหัสประเทศ |
units |
ไม่บังคับ ระบุหน่วยวัดสำหรับฟิลด์ที่แสดง |
extraComputations[] |
ไม่บังคับ รายการการคำนวณเพิ่มเติมที่อาจใช้เพื่อดำเนินการตามคำขอ หมายเหตุ: การคำนวณเพิ่มเติมเหล่านี้อาจแสดงช่องเพิ่มเติมในการตอบกลับ นอกจากนี้ คุณต้องระบุช่องเพิ่มเติมเหล่านี้ในฟิลด์มาสก์ด้วยเพื่อให้แสดงในคำตอบ |
trafficModel |
ไม่บังคับ ระบุสมมติฐานที่จะใช้เมื่อคำนวณเวลาในการเข้าชม การตั้งค่านี้จะส่งผลต่อค่าที่แสดงในช่องระยะเวลาใน |
transitPreferences |
ไม่บังคับ ระบุค่ากำหนดที่มีผลต่อเส้นทางที่แสดงสำหรับ |
เนื้อหาการตอบกลับ
มีข้อมูลเส้นทางที่คำนวณสำหรับคู่ต้นทาง/ปลายทางใน API v2.computeRouteMatrix ซึ่งสามารถสตรีมไปยังไคลเอ็นต์ได้
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{ "status": { object ( |
ช่อง | |
---|---|
status |
รหัสสถานะข้อผิดพลาดขององค์ประกอบนี้ |
condition |
ระบุว่าพบเส้นทางหรือไม่ ไม่ขึ้นอยู่กับสถานะ |
distanceMeters |
ระยะทางการเดินทางของเส้นทางเป็นเมตร |
duration |
ระยะเวลาที่ใช้ในการนำทางตามเส้นทาง หากตั้งค่า ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย ' |
staticDuration |
ระยะเวลาในการเดินทางผ่านเส้นทางโดยไม่คำนึงถึงสภาพการจราจร ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย ' |
travelAdvisory |
ข้อมูลเพิ่มเติมเกี่ยวกับเส้นทาง เช่น ข้อมูลเกี่ยวกับข้อจำกัดและข้อมูลค่าผ่านทาง |
fallbackInfo |
ในบางกรณีเมื่อเซิร์ฟเวอร์ไม่สามารถคำนวณเส้นทางตามค่ากำหนดที่ระบุสำหรับคู่ต้นทาง/ปลายทางนี้ เซิร์ฟเวอร์อาจกลับไปใช้โหมดการคำนวณอื่น เมื่อใช้โหมดสำรอง ฟิลด์นี้จะมีข้อมูลโดยละเอียดเกี่ยวกับคำตอบสำรอง ไม่เช่นนั้น ระบบจะไม่ตั้งค่าช่องนี้ |
localizedValues |
การแสดงข้อความของพร็อพเพอร์ตี้ของ |
originIndex |
ดัชนีที่อิงตาม 0 ของต้นทางในคำขอ |
destinationIndex |
ดัชนีที่อิงตาม 0 ของปลายทางในคำขอ |
RouteMatrixOrigin
ต้นทางเดียวสำหรับ ComputeRouteMatrixRequest
การแสดง JSON |
---|
{ "waypoint": { object ( |
ฟิลด์ | |
---|---|
waypoint |
ต้องระบุ จุดอ้างอิงต้นทาง |
routeModifiers |
ไม่บังคับ ตัวแก้ไขสำหรับทุกเส้นทางที่ใช้จุดนี้เป็นต้นทาง |
RouteMatrixDestination
ปลายทางเดียวสำหรับ ComputeRouteMatrixRequest
การแสดง JSON |
---|
{
"waypoint": {
object ( |
ฟิลด์ | |
---|---|
waypoint |
ต้องระบุ จุดอ้างอิงปลายทาง |
ExtraComputation
การคำนวณเพิ่มเติมที่จะดำเนินการขณะประมวลผลคำขอ
Enum | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
ไม่ได้ใช้ คำขอที่มีค่านี้จะล้มเหลว |
TOLLS |
ข้อมูลค่าผ่านทางสำหรับองค์ประกอบเมทริกซ์ |
RouteMatrixElementCondition
สภาพของเส้นทางที่แสดง
Enum | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
ใช้เฉพาะเมื่อ status ขององค์ประกอบไม่ถูกต้อง |
ROUTE_EXISTS |
พบเส้นทางและระบบได้กรอกข้อมูลที่เกี่ยวข้องสำหรับองค์ประกอบแล้ว |
ROUTE_NOT_FOUND |
ไม่พบเส้นทาง ระบบจะไม่กรอกข้อมูลในช่องที่มีข้อมูลเส้นทาง เช่น distanceMeters หรือ duration ในองค์ประกอบ |
LocalizedValues
การแสดงข้อความของพร็อพเพอร์ตี้บางอย่าง
การแสดง JSON |
---|
{ "distance": { object ( |
ช่อง | |
---|---|
distance |
ระยะทางในการเดินทางที่แสดงในรูปแบบข้อความ |
duration |
ระยะเวลาที่แสดงในรูปแบบข้อความโดยพิจารณาสภาพการจราจร หมายเหตุ: หากไม่ได้ขอข้อมูลการเข้าชม ค่านี้จะเป็นค่าเดียวกับ staticDuration |
staticDuration |
ระยะเวลาที่แสดงในรูปแบบข้อความโดยไม่พิจารณาสภาพการจราจร |
transitFare |
ค่าโดยสารขนส่งที่แสดงในรูปแบบข้อความ |