เมื่อ Routes API คำนวณเส้นทาง จะมีการใช้จุดอ้างอิงและ พารามิเตอร์การกำหนดค่าที่คุณระบุเป็นอินพุต จากนั้น API จะแสดงการตอบกลับ ที่มีเส้นทางเริ่มต้นและเส้นทางอื่นอย่างน้อย 1 เส้นทาง
คำตอบของคุณอาจมีเส้นทางประเภทต่างๆ และข้อมูลอื่นๆ ตามข้อมูล ฟิลด์ที่คุณขอ:
เพื่อรวมข้อมูลนี้ไว้ในคำตอบ | ดูเอกสารนี้ |
---|---|
เส้นทางที่ประหยัดเชื้อเพลิงหรือพลังงานมากที่สุดโดยอิงตามประเภทเครื่องยนต์ของรถ | กำหนดค่าเส้นทางที่เป็นมิตรต่อสิ่งแวดล้อม |
เส้นทางสำรองสูงสุด 3 เส้นทาง | ส่งคำขอเส้นทางอื่น |
เส้นประกอบของทั้งเส้นทาง สำหรับแต่ละขาของเส้นทาง และแต่ละขั้นตอน ก็ได้เหมือนกัน | ส่งคำขอเส้นประกอบเส้นทาง |
ค่าผ่านทางโดยประมาณเมื่อพิจารณาส่วนลดค่าผ่านทาง หรือบัตรที่ใช้ได้กับคนขับหรือยานพาหนะ | คำนวณค่าผ่านทาง |
คำตอบที่แปลแล้วตามรหัสภาษาและหน่วยวัด (อิมพีเรียลหรือหน่วยวัด ) | ขอค่าที่แปลแล้ว |
หากต้องการจัดรูปแบบคำแนะนำการนำทางเป็นสตริงข้อความ HTML ให้เพิ่ม HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ลงใน
extraComputations |
การคำนวณเพิ่มเติม |
สำหรับรายการตัวเลือกการป้อนข้อมูลทั้งหมด โปรดดูที่ตัวเลือกเส้นทางที่ใช้ได้ และ เนื้อหาคำขอ
คุณสามารถให้ข้อมูลแก่ลูกค้าได้จากการตอบกลับ เพื่อเลือกเส้นทางที่เหมาะสมสำหรับความต้องการของตน
เกี่ยวกับฟิลด์มาสก์
เมื่อเรียกใช้เมธอดเพื่อคํานวณเส้นทาง คุณต้องระบุฟิลด์ ที่กำหนดว่าช่องใดที่ต้องการแสดงผลในคำตอบ ไม่มี รายการเริ่มต้นของฟิลด์ที่แสดงผล หากคุณไม่ใส่รายการนี้ เมธอดจะแสดง
ตัวอย่างในเอกสารนี้จะแสดงออบเจ็กต์การตอบกลับทั้งหมดโดยไม่ มาพิจารณา ในสภาพแวดล้อมการใช้งานจริง คำตอบของคุณจะ รวมเฉพาะช่องที่คุณระบุไว้อย่างชัดเจนในมาสก์ของช่อง
โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเลือกข้อมูลที่จะแสดง
เกี่ยวกับการแสดงลิขสิทธิ์
คุณต้องรวมข้อความลิขสิทธิ์ต่อไปนี้เมื่อแสดงผลลัพธ์ให้แก่ผู้ใช้ของคุณ:
Powered by Google, ©YEAR Google
เช่น
Powered by Google, ©2023 Google
เกี่ยวกับเส้นทาง ขา และจำนวนก้าว
ก่อนที่จะดูการตอบกลับที่ Routes API ส่งคืน คุณจะทำสิ่งต่อไปนี้ได้ ควรเข้าใจองค์ประกอบที่ประกอบกันเป็นเส้นทาง ดังนี้
คำตอบของคุณอาจมีข้อมูลเกี่ยวกับองค์ประกอบของเส้นทางเหล่านี้แต่ละอย่าง
เส้นทาง: การเดินทางทั้งหมดจากจุดอ้างอิงต้นทางผ่าน จุดอ้างอิงระดับกลางไปยังจุดอ้างอิงปลายทาง เส้นทางประกอบด้วย 1 legs อย่างน้อย 1 รายการ
เส้นทาง: เส้นทางจากจุดอ้างอิงจุดหนึ่งในเส้นทางไปยังจุดอ้างอิงถัดไปใน เส้นทาง แต่ละเส้นทางประกอบด้วยขั้นตอนแยกต่างหากอย่างน้อย 1 ขั้นตอน
เส้นทางประกอบด้วย ขาแยกสำหรับเส้นทางจากจุดอ้างอิงแต่ละจุดไปยังจุดถัดไป ตัวอย่างเช่น ถ้าเส้นทางมีจุดอ้างอิงต้นทางจุดเดียวและเส้นทางเดียว ปลายทาง เส้นทางนั้นมีเพียงขาเดียว สำหรับแต่ละรายการ จุดอ้างอิงเพิ่มเติมที่คุณเพิ่มลงในเส้นทางหลังต้นทางและปลายทาง ซึ่งเรียกว่าจุดอ้างอิงระดับกลาง API จะเพิ่มขาแยก
API จะไม่เพิ่มขาสำหรับจุดอ้างอิงกลางแบบส่งผ่าน สำหรับ ตัวอย่างเช่น เส้นทางที่มีจุดอ้างอิงต้นทาง เส้นทางผ่าน จุดอ้างอิงระดับกลาง และจุดอ้างอิงปลายทางมีเพียงขาเดียวจาก ต้นทางไปยังจุดหมาย ขณะที่ผ่านจุดอ้างอิง สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับจุดอ้างอิงส่งผ่าน โปรดดู กำหนดจุดอ้างอิงแบบ Pass-through
ขั้นตอน: คำสั่งเดียวตามเส้นทาง ก้าวที่สำคัญที่สุด หน่วยอะตอมของเส้นทาง ตัวอย่างเช่น ขั้นตอนอาจระบุว่า "เลี้ยวซ้ายที่ถนนหลัก ถนน''
คำตอบที่แสดงในคำตอบ
ออบเจ็กต์ 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
ขั้นตอนหนึ่งๆ สอดคล้องกับวิธีการเดียวตลอดขา ขามักประกอบด้วย
อย่างน้อยหนึ่งขั้นตอน
เอลิเมนต์แต่ละรายการในอาร์เรย์ 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" และหน่วยเมตริก