เมื่อ Routes API คํานวณเส้นทาง ระบบจะใช้จุดแวะพักและพารามิเตอร์การกําหนดค่าที่คุณระบุเป็นอินพุต จากนั้น API จะแสดงผลลัพธ์ที่มีเส้นทางเริ่มต้นและเส้นทางอื่นอย่างน้อย 1 เส้นทาง
การตอบกลับของคุณอาจมีเส้นทางประเภทต่างๆ และข้อมูลอื่นๆ โดยขึ้นอยู่กับช่องที่คุณขอ
วิธีรวมข้อมูลนี้ในการตอบกลับ | ดูเอกสารประกอบนี้ |
---|---|
เส้นทางที่ประหยัดเชื้อเพลิงหรือพลังงานมากที่สุดโดยอิงตามประเภทเครื่องยนต์ของรถ | กำหนดค่าเส้นทางที่เป็นมิตรต่อสิ่งแวดล้อม |
เส้นทางอื่นสูงสุด 3 เส้นทาง | ขอเส้นทางอื่น |
เส้นประกอบสำหรับทั้งเส้นทาง สำหรับแต่ละช่วงของเส้นทาง และสำหรับแต่ละขั้นตอนของช่วง | ขอเส้นประกอบของเส้นทาง |
ค่าผ่านทางโดยประมาณ โดยพิจารณาจากส่วนลดค่าผ่านทางหรือบัตรที่มีให้สำหรับคนขับหรือยานพาหนะ | คำนวณค่าผ่านทาง |
คำตอบที่แปลแล้วตามรหัสภาษาและหน่วยวัด (ระบบอิมพีเรียลหรือเมตริก) | ขอค่าที่แปลแล้ว |
หากต้องการจัดรูปแบบวิธีการนําทางเป็นสตริงข้อความ HTML ให้เพิ่ม HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ลงใน extraComputations |
การคํานวณเพิ่มเติม |
สำหรับรายการตัวเลือกอินพุตทั้งหมด โปรดดูตัวเลือกเส้นทางที่มีอยู่และเนื้อหาคำขอ
ด้วยคำตอบดังกล่าว คุณจะให้ข้อมูลที่จำเป็นต่อการเลือกเส้นทางที่เหมาะสมสำหรับความต้องการของลูกค้าได้
เกี่ยวกับฟิลด์มาสก์
เมื่อเรียกใช้เมธอดเพื่อคํานวณเส้นทาง คุณต้องระบุมาสก์ฟิลด์ที่กําหนดฟิลด์ที่ต้องการแสดงผลในการตอบกลับ ไม่มีรายการช่องที่แสดงผลเริ่มต้น หากคุณไม่ใส่รายการนี้ เมธอดจะแสดงข้อผิดพลาด
ตัวอย่างในเอกสารนี้แสดงออบเจ็กต์การตอบกลับทั้งหมดโดยไม่คำนึงถึงมาสก์ฟิลด์ ในสภาพแวดล้อมการใช้งานจริง การตอบกลับของคุณจะรวมเฉพาะช่องที่คุณระบุในมาสก์ของช่องเท่านั้น
ดูข้อมูลเพิ่มเติมได้ที่เลือกข้อมูลที่จะแสดง
เกี่ยวกับการแสดงลิขสิทธิ์
คุณต้องรวมข้อความลิขสิทธิ์ต่อไปนี้เมื่อแสดงผลลัพธ์ให้แก่ผู้ใช้ของคุณ:
Powered by Google, ©YEAR Google
เช่น
Powered by Google, ©2023 Google
เกี่ยวกับเส้นทาง ช่วง และขั้นตอน
ก่อนที่จะดูการตอบกลับที่ Routes API แสดงผล คุณควรเข้าใจองค์ประกอบที่ประกอบกันเป็นเส้นทางดังนี้
คำตอบของคุณอาจมีข้อมูลเกี่ยวกับองค์ประกอบของเส้นทางเหล่านี้แต่ละอย่าง
เส้นทาง: การเดินทางทั้งหมดตั้งแต่จุดอ้างอิงต้นทาง ผ่านจุดอ้างอิงระดับกลาง ไปจนถึงจุดอ้างอิงของจุดหมาย เส้นทางประกอบด้วยช่วงอย่างน้อย 1 ช่วง
ระยะทาง: เส้นทางจากจุดสังเกตหนึ่งๆ ในเส้นทางไปยังจุดสังเกตถัดไปในเส้นทาง แต่ละเส้นทางประกอบด้วยขั้นตอนแยกต่างหากอย่างน้อย 1 ขั้นตอน
เส้นทางประกอบด้วยช่วงแยกต่างหากสำหรับเส้นทางจากจุดสังเกตแต่ละจุดไปยังจุดสังเกตถัดไป ตัวอย่างเช่น หากเส้นทางมีจุดเริ่มต้น 1 จุดและจุดหมาย 1 จุด แสดงว่าเส้นทางมีช่วงเดียว สําหรับจุดอ้างอิงเพิ่มเติมแต่ละจุดที่คุณเพิ่มลงในเส้นทางหลังจากต้นทางและปลายทาง ซึ่งเรียกว่าจุดอ้างอิงกลาง API จะเพิ่มช่วงแยกต่างหาก
API จะไม่เพิ่มช่วงของจุดอ้างอิงกลางที่ผ่าน เช่น เส้นทางที่มีจุดสังเกตต้นทาง จุดสังเกตกลางที่ผ่าน และจุดสังเกตปลายทางมีเพียงเส้นทางเดียวจากต้นทางไปยังปลายทางขณะผ่านจุดสังเกต ดูข้อมูลเพิ่มเติมเกี่ยวกับจุดผ่านได้ที่หัวข้อกำหนดจุดผ่าน
ขั้นตอน: วิธีการเดียวตลอดเส้นทาง "ก้าว" คือหน่วยอะตอม ที่ดีที่สุดของเส้นทาง เช่น ขั้นตอนหนึ่งๆ อาจระบุว่า "เลี้ยวซ้ายที่ถนนใหญ่"
ข้อมูลในคำตอบ
ออบเจ็กต์ JSON ที่แสดงการตอบกลับของ API มีพร็อพเพอร์ตี้ระดับบนสุดดังต่อไปนี้
routes
ซึ่งเป็นอาร์เรย์ขององค์ประกอบประเภท Route อาร์เรย์routes
มี 1 องค์ประกอบสําหรับแต่ละเส้นทางที่ API แสดง อาร์เรย์มีองค์ประกอบได้สูงสุด 5 รายการ ได้แก่ เส้นทางเริ่มต้น เส้นทางที่เป็นมิตรกับสิ่งแวดล้อม และเส้นทางอื่นสูงสุด 3 เส้นทางgeocodingResults
ซึ่งเป็นอาร์เรย์ขององค์ประกอบประเภท GeocodingResults สําหรับสถานที่ตั้งทุกแห่งในคําขอ (ต้นทาง ปลายทาง หรือจุดแวะพักระหว่างทาง) ที่คุณระบุเป็นสตริงที่อยู่หรือโค้ด Plus API จะทำการค้นหารหัสสถานที่ องค์ประกอบแต่ละรายการของอาร์เรย์นี้มีรหัสสถานที่ซึ่งสอดคล้องกับสถานที่ตั้ง สถานที่ในคำขอที่ระบุเป็นรหัสสถานที่หรือพิกัดละติจูด/ลองจิจูดจะไม่รวมอยู่ด้วย หากคุณระบุสถานที่ทั้งหมดโดยใช้รหัสสถานที่หรือพิกัดละติจูดและลองจิจูด ระบบจะไม่ระบุอาร์เรย์นี้fallbackInfo
ประเภท FallbackInfo หาก API ไม่สามารถคํานวณเส้นทางจากพร็อพเพอร์ตี้อินพุตทั้งหมดได้ ระบบอาจใช้วิธีอื่นในการคํานวณ เมื่อใช้โหมดสำรอง ช่องนี้จะมีข้อมูลโดยละเอียดเกี่ยวกับคำตอบสำรอง มิฉะนั้น ระบบจะไม่ตั้งค่าช่องนี้
คำตอบจะมีแบบฟอร์มดังนี้
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
ถอดรหัสอาร์เรย์เส้นทาง
การตอบกลับจะมีอาร์เรย์ routes
ซึ่งองค์ประกอบอาร์เรย์แต่ละรายการเป็นประเภท Route
องค์ประกอบอาร์เรย์แต่ละรายการแสดงเส้นทางทั้งหมดจากต้นทางไปยังปลายทาง API จะแสดงผลเส้นทางอย่างน้อย 1 เส้นทาง ซึ่งเรียกว่าเส้นทางเริ่มต้นเสมอ
คุณสามารถขอเส้นทางเพิ่มเติมได้ หากคุณขอเส้นทางที่เป็นมิตรต่อสิ่งแวดล้อม อาร์เรย์จะมีองค์ประกอบ 2 รายการ ได้แก่ เส้นทางเริ่มต้นและเส้นทางที่เป็นมิตรต่อสิ่งแวดล้อม หรือตั้งค่า computeAlternativeRoutes
เป็น
true
ในคำขอเพื่อเพิ่มเส้นทางอื่นสูงสุด 3 เส้นทางในการตอบกลับ
เส้นทางแต่ละรายการในอาร์เรย์จะระบุด้วยพร็อพเพอร์ตี้อาร์เรย์ routeLabels
ดังนี้
ค่า | คำอธิบาย |
---|---|
DEFAULT_ROUTE |
ระบุเส้นทางเริ่มต้น |
FUEL_EFFICIENT |
ระบุเส้นทางที่เป็นมิตรต่อสิ่งแวดล้อม |
DEFAULT_ROUTE_ALTERNATE |
I หมายถึงเส้นทางอื่น |
อาร์เรย์ legs
มีคำจำกัดความของเส้นทางแต่ละช่วง พร็อพเพอร์ตี้ที่เหลือ เช่น distanceMeters
, duration
และ polyline,
จะมีข้อมูลเกี่ยวกับเส้นทางโดยรวม ดังนี้
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
เส้นทางเริ่มต้นและเส้นทางที่เป็นมิตรต่อสิ่งแวดล้อมอาจเหมือนกันเนื่องจากสภาพการขับขี่ในปัจจุบันและปัจจัยอื่นๆ ในกรณีนี้ อาร์เรย์ routeLabels
จะมีทั้งป้ายกำกับ DEFAULT_ROUTE
และ FUEL_EFFICIENT
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
ทําความเข้าใจอาร์เรย์ขา
route
แต่ละรายการในการตอบกลับจะมีอาร์เรย์ legs
โดยที่องค์ประกอบอาร์เรย์ legs
แต่ละรายการจะเป็นประเภท RouteLeg
แต่ละช่วงในอาร์เรย์จะกำหนดเส้นทางจากจุดสังเกตหนึ่งไปยังจุดสังเกตถัดไปตลอดเส้นทาง เส้นทางต้องมีเที่ยวบินอย่างน้อย 1 เที่ยวเสมอ
พร็อพเพอร์ตี้ legs
มีคําจํากัดความของแต่ละขั้นตอนตลอดเส้นทางในอาร์เรย์ steps
พร็อพเพอร์ตี้ที่เหลือ เช่น distanceMeters
, duration
และ polyline
มีข้อมูลเกี่ยวกับขา
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
ทําความเข้าใจอาร์เรย์ขั้นตอน
แต่ละขาในการตอบสนองจะมีอาร์เรย์ steps
โดยที่องค์ประกอบอาร์เรย์ steps
แต่ละรายการเป็นประเภท RouteLegStep
ขั้นตอนหนึ่งๆ สอดคล้องกับวิธีการเดียวตลอดขา เส้นทางจะมีขั้นตอนอย่างน้อย 1 ขั้นตอนเสมอ
เอลิเมนต์แต่ละรายการในอาร์เรย์ steps
มีพร็อพเพอร์ตี้ navigationInstruction
ประเภท NavigationInstruction ซึ่งมีคำสั่งขั้นตอน เช่น
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions
อาจมีข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนนี้ เช่น
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
พร็อพเพอร์ตี้ที่เหลือในขั้นตอนจะอธิบายข้อมูลเกี่ยวกับขั้นตอน เช่น distanceMeters
, duration
และ polyline
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
ระบุภาษาของวิธีการแบบทีละขั้นตอน
API จะแสดงข้อมูลเส้นทางในภาษาท้องถิ่น โดยถอดเสียงเป็นอักษรที่ผู้ใช้อ่านได้ (หากจำเป็น) ขณะพิจารณาภาษาที่ต้องการ ระบบจะแสดงองค์ประกอบที่อยู่ทั้งหมดเป็นภาษาเดียวกัน
ใช้พารามิเตอร์
languageCode
ของคําขอเพื่อตั้งค่าภาษาของเส้นทางจากรายการภาษาที่รองรับอย่างชัดเจน Google อัปเดตภาษาที่รองรับอยู่บ่อยครั้ง รายการนี้จึงอาจไม่ครอบคลุมทั้งหมดหากไม่มีชื่อในภาษาที่ระบุ API จะใช้การจับคู่ที่ตรงกันที่สุด
ภาษาที่ระบุอาจส่งผลต่อชุดผลลัพธ์ที่ API เลือกแสดงและลําดับที่แสดงผลลัพธ์ โปรแกรมระบุพิกัดภูมิศาสตร์จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง เช่น utca และ tér เป็นคำพ้องความหมายของ "ถนน" ในภาษาฮังการี
ทำความเข้าใจอาร์เรย์ผลการเข้ารหัสทางภูมิศาสตร์
สําหรับสถานที่ทุกแห่งในคําขอ (ต้นทาง จุดหมาย หรือจุดแวะพักระหว่างทาง) ที่ระบุเป็นสตริงที่อยู่หรือโค้ด Plus API จะพยายามค้นหาสถานที่ที่เกี่ยวข้องมากที่สุดซึ่งมีรหัสสถานที่ที่เกี่ยวข้อง องค์ประกอบแต่ละรายการของอาร์เรย์ geocodingResults
ประกอบด้วยช่อง placeID
ซึ่งมีสถานที่ตั้งเป็นรหัสสถานที่และช่อง type
ที่ระบุประเภทสถานที่ตั้ง เช่น street_address
, premise
หรือ airport
อาร์เรย์ geocodingResults
มี 3 ช่องดังนี้
origin
: หากระบุเป็นสตริงที่อยู่หรือเป็น Plus Code จะหมายถึงรหัสสถานที่ของต้นทาง มิฉะนั้น ระบบจะไม่ใส่ฟิลด์นี้ในการตอบกลับdestination
: หากระบุเป็นสตริงที่อยู่หรือเป็น Plus Code ระบบจะใช้รหัสสถานที่ของปลายทาง มิเช่นนั้น ระบบจะไม่ใส่ฟิลด์นี้ในการตอบกลับintermediates
: อาร์เรย์ที่มีรหัสสถานที่ของจุดแวะพักกลางซึ่งระบุเป็นสตริงที่อยู่หรือเป็น Plus Code หากคุณระบุจุดแวะพักระหว่างทางโดยใช้รหัสสถานที่หรือพิกัดละติจูดและลองจิจูด ระบบจะไม่รวมจุดแวะพักดังกล่าวไว้ในคำตอบ ใช้พร็อพเพอร์ตี้intermediateWaypointRequestIndex
ในการตอบกลับเพื่อกำหนดจุดอ้างอิงระดับกลางในคำขอที่สอดคล้องกับรหัสสถานที่ในคำตอบ
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
ทําความเข้าใจค่าการตอบกลับที่แปลแล้ว
ค่าการตอบกลับที่แปลแล้วเป็นช่องคำตอบเพิ่มเติมที่มีข้อความแปลสำหรับค่าพารามิเตอร์ที่แสดงผล ข้อความที่แปลแล้วมีให้สำหรับระยะเวลาการเดินทาง ระยะทาง และระบบหน่วย (เมตริกหรือระบบอิมพีเรียล) คุณขอค่าที่แปลแล้วได้โดยใช้มาสก์ฟิลด์ และสามารถระบุภาษาและระบบหน่วย หรือจะใช้ค่าที่ API อนุมานก็ได้ โปรดดูรายละเอียดที่หัวข้อ LocalizedValues
ตัวอย่างเช่น หากคุณระบุรหัสภาษาเป็นเยอรมัน (de) และหน่วยวัดแบบอังกฤษ คุณจะได้รับค่า distanceMeters
เป็น 49889.7 และยังได้ข้อความที่แปลแล้วซึ่งแสดงการวัดระยะทางเป็นภาษาเยอรมันและหน่วยวัดแบบอังกฤษด้วย เช่น "31 Meile"
ต่อไปนี้คือตัวอย่างสิ่งที่คุณจะเห็นสำหรับค่าที่แปลแล้ว
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
หากคุณไม่ได้ระบุภาษาหรือระบบหน่วย API จะอนุมานภาษาและหน่วยดังนี้
- เมธอด
ComputeRoutes
จะอนุมานตำแหน่งและหน่วยระยะทางจากจุดเริ่มต้น ดังนั้นสําหรับคําขอการกำหนดเส้นทางในสหรัฐอเมริกา API จะอนุมานภาษาen-US
และหน่วยIMPERIAL
- โดยค่าเริ่มต้น
ComputeRouteMatrix
จะตั้งค่าเป็นภาษา "en-US" และหน่วยเมตริก