แสดงเส้นทางหลักพร้อมกับเส้นทางสำรองที่เป็นตัวเลือก โดยพิจารณาจากชุดของจุดสิ้นสุดและจุดระหว่างทาง
หมายเหตุ: วิธีนี้กำหนดให้คุณต้องระบุมาสก์ช่องคำตอบในอินพุต คุณระบุมาสก์ของช่องการตอบกลับได้โดยใช้พารามิเตอร์ของ 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/v1alpha: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 |
หากตั้งค่า performanceWaypointOrder เป็น "จริง" ระบบจะพยายามจัดเรียงจุดอ้างอิงระดับกลางที่ระบุใหม่เพื่อลดค่าใช้จ่ายโดยรวมของเส้นทาง หากจุดอ้างอิงระดับกลางใดๆ มีการชี้ทางนั้น คําขอจะไม่สําเร็จ ใช้ ComputeRoutesResponse.Routes.optimize_intermediate_waypoint_index เพื่อค้นหาลำดับใหม่ หากไม่มีการส่งคำขอ path.optimize_intermediate_waypoint_index ในส่วนหัว |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ ComputeRoutesResponse
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/maps-platform.routespreferred
ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของ OAuth 2.0