เมื่อ 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 จะมีป้ายกำกับทั้ง 2 รายการ ได้แก่ 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 เป็นคำพ้องความหมายของถนนในภาษาฮังการี
ทำความเข้าใจอาร์เรย์ geocodingResults
สำหรับทุกสถานที่ในคำขอ (จุดอ้างอิงต้นทาง ปลายทาง หรือกลาง
ทาง) ที่ระบุเป็นสตริงที่อยู่ หรือเป็นโค้ด Plus API
จะพยายามค้นหาสถานที่ที่เกี่ยวข้องมากที่สุดซึ่งมีรหัสสถานที่
ที่ตรงกัน องค์ประกอบแต่ละรายการใน
geocodingResults
อาร์เรย์จะมีฟิลด์ placeID ที่มีสถานที่เป็นรหัสสถานที่ และฟิลด์ type ที่ระบุประเภท
สถานที่ เช่น street_address, premise หรือ airport
อาร์เรย์ geocodingResults มี 3 ฟิลด์ ได้แก่
origin: รหัสสถานที่ของต้นทาง หากระบุเป็นสตริงที่อยู่หรือเป็นโค้ด Plus ไม่เช่นนั้น ระบบจะไม่รวมฟิลด์นี้ไว้ในการตอบกลับdestination: รหัสสถานที่ของปลายทาง หากระบุเป็นสตริงที่อยู่หรือเป็นโค้ด Plus ไม่เช่นนั้น ระบบจะไม่รวมฟิลด์นี้ไว้ในการตอบกลับintermediates: อาร์เรย์ที่มีรหัสสถานที่ของจุดอ้างอิงกลางที่ระบุเป็นสตริงที่อยู่หรือเป็นโค้ด Plus หากคุณระบุจุดอ้างอิงกลางโดยใช้รหัสสถานที่หรือพิกัดละติจูดและลองจิจูด ระบบจะไม่รวมจุดอ้างอิงกลางดังกล่าวไว้ในการตอบกลับ ใช้พร็อพเพอร์ตี้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' และหน่วย METRIC เป็นค่าเริ่มต้น