แสดงเส้นทางหลักพร้อมกับเส้นทางสำรองที่เป็นตัวเลือก โดยระบุจุดอ้างอิงและจุดระหว่างกลาง
หมายเหตุ: คุณต้องระบุมาสก์ช่องคำตอบในอินพุตสำหรับวิธีนี้ คุณสามารถระบุฟิลด์มาสก์การตอบกลับได้โดยใช้พารามิเตอร์ของ URL $fields
หรือ fields
หรือใช้ส่วนหัว HTTP/gRPC X-Goog-FieldMask
(ดูพารามิเตอร์และส่วนหัว URL ที่ใช้ได้ ค่านี้คือรายการเส้นทางช่องที่คั่นด้วยคอมมา โปรดดูเอกสารประกอบโดยละเอียดเกี่ยวกับวิธีสร้างเส้นทางช่อง
ตัวอย่างเช่น ด้วยวิธีนี้
- มาสก์ของช่องที่มีทั้งหมด (สำหรับการตรวจสอบด้วยตนเอง):
X-Goog-FieldMask: *
- มาสก์ของช่องของระยะเวลา ระยะทาง และเส้นประกอบระดับเส้นทาง (ตัวอย่างการตั้งค่าที่ใช้งานจริง):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google ไม่สนับสนุนให้ใช้มาสก์ช่องการตอบสนองไวลด์การ์ด (*
) หรือระบุมาสก์ช่องที่ระดับบนสุด (routes
) เนื่องจากสาเหตุต่อไปนี้
- การเลือกเฉพาะฟิลด์ที่คุณต้องการช่วยให้เซิร์ฟเวอร์ของเราประหยัดรอบการคำนวณ ทำให้เราสามารถส่งคืนผลลัพธ์ให้คุณโดยมีเวลาในการตอบสนองที่น้อยลง
- การเลือกเฉพาะฟิลด์ที่คุณต้องการในงานที่ใช้งานจริงจะทำให้ประสิทธิภาพของเวลาในการตอบสนองเสถียร เราอาจเพิ่มช่องตอบกลับในอนาคต และช่องใหม่เหล่านั้นอาจต้องใช้เวลาในการคำนวณเพิ่มเติม หากเลือกช่องทั้งหมดหรือทุกช่องที่ระดับบนสุด คุณอาจพบว่าประสิทธิภาพการทำงานลดลงเนื่องจากระบบจะรวมช่องใหม่ใดๆ ที่เราเพิ่มไว้ในคำตอบโดยอัตโนมัติ
- การเลือกเฉพาะช่องที่ต้องการจะทำให้การตอบกลับมีขนาดเล็กลง ทำให้อัตราการส่งข้อมูลของเครือข่ายสูงขึ้น
คำขอ HTTP
POST https://routespreferred.googleapis.com/v1:computeRoutes
URL ใช้ไวยากรณ์การแปลง gRPC
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้
การแสดง JSON |
---|
{ "origin": { object ( |
ช่อง | |
---|---|
origin |
ต้องระบุ จุดอ้างอิงต้นทาง |
destination |
ต้องระบุ จุดอ้างอิงปลายทาง |
intermediates[] |
ไม่บังคับ ชุดของจุดอ้างอิงตลอดเส้นทาง (ไม่รวมจุดเทอร์มินัล) สำหรับการหยุดแวะหรือผ่านไป รองรับจุดอ้างอิงระดับกลางสูงสุด 25 จุด |
travelMode |
ไม่บังคับ ระบุรูปแบบการเดินทาง |
routingPreference |
ไม่บังคับ ระบุวิธีคํานวณเส้นทาง เซิร์ฟเวอร์จะพยายามใช้การตั้งค่าเส้นทางที่เลือกไว้เพื่อคำนวณเส้นทาง ถ้าค่ากำหนดการกำหนดเส้นทางทำให้เกิดข้อผิดพลาดหรือเวลาในการตอบสนองที่นานขึ้น ระบบจะแสดงข้อผิดพลาด ในอนาคต เราอาจใช้กลไกสำรองเพื่อใช้ตัวเลือกอื่นเมื่อตัวเลือกที่ต้องการไม่ได้ให้ผลลัพธ์ที่ถูกต้อง คุณสามารถระบุตัวเลือกนี้ได้เฉพาะเมื่อ |
polylineQuality |
ไม่บังคับ ระบุค่ากำหนดสำหรับคุณภาพของเส้นประกอบ |
polylineEncoding |
ไม่บังคับ ระบุการเข้ารหัสที่ต้องการสำหรับเส้นประกอบ |
departureTime |
ไม่บังคับ เวลาออกเดินทาง หากไม่ได้กำหนดค่านี้ไว้ ค่าเริ่มต้นนี้จะเป็นช่วงเวลาที่คุณส่งคำขอ หากคุณตั้งค่านี้เป็นเวลาที่เกิดขึ้นแล้ว คำขอจะล้มเหลว การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
computeAlternativeRoutes |
ระบุว่าจะคำนวณเส้นทางอื่นนอกเหนือจากเส้นทางหรือไม่ |
routeModifiers |
ไม่บังคับ ชุดเงื่อนไขที่จะตอบสนองซึ่งส่งผลต่อวิธีคำนวณเส้นทาง |
languageCode |
ไม่บังคับ รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ดูข้อมูลเพิ่มเติมได้ที่ http://www.unicode.org/reports/tr35/#Unicode_locale_identifier โปรดดูรายการภาษาที่รองรับในการสนับสนุนภาษา หากไม่ระบุค่านี้ ภาษาที่แสดงจะอนุมานจากตำแหน่งของคำขอเส้นทาง |
units |
ไม่บังคับ ระบุหน่วยวัดสำหรับฟิลด์แสดงผล ซึ่งรวมถึงช่อง |
optimizeWaypointOrder |
หากตั้งค่า OptimizeWaypointOrder เป็น "จริง" แล้ว ระบบจะพยายามเรียงลำดับจุดอ้างอิงกลางที่ระบุใหม่เพื่อลดค่าใช้จ่ายโดยรวมของเส้นทาง หากจุดอ้างอิงระดับกลางใดๆ ผ่านการชี้ทาง คำขอจะล้มเหลว ใช้ ComputeRoutesResponse.Routes.Optimize_intermediate_waypoint_index เพื่อค้นหาการจัดลำดับใหม่ ถ้าไม่ได้ขอ path.optimizer_intermediate_waypoint_index ในส่วนหัว |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ ComputeRoutesResponse
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/maps-platform.routespreferred
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ภาพรวมของ OAuth 2.0