เมื่อ 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
อาร์เรย์ขององค์ประกอบประเภท เส้นทาง อาร์เรย์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 |
แสดงเส้นทางอื่น |
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 เลือกที่จะแสดงผลและลำดับที่แสดงผล Geocoder จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อของประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง เช่น utca และ tér เป็นคำพ้องความหมายของ ถนนในภาษาฮังการี
ทําความเข้าใจอาร์เรย์ GeocodingResults
สำหรับทุกสถานที่ตั้งในคำขอ (ต้นทาง ปลายทาง หรือจุดแวะพักกลางทาง) ที่ระบุเป็นสตริงที่อยู่หรือเป็นโค้ด 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" และหน่วยเมตริก