ตรวจสอบการตอบกลับเส้นทาง

เมื่อ 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 ก้าว

    เส้นทางนี้มีขาแยกต่างหากสำหรับเส้นทางจากจุดอ้างอิงแต่ละจุดไปยังจุดถัดไป ตัวอย่างเช่น ถ้าเส้นทางมีจุดอ้างอิงต้นทางเดียว และจุดอ้างอิงปลายทางเดียว เส้นทางนั้นจะมีขาเดียว สำหรับจุดอ้างอิงเพิ่มเติมแต่ละรายการที่คุณเพิ่มไปยังเส้นทางหลังจากต้นทางและปลายทาง ซึ่งเรียกว่าจุดอ้างอิงระดับกลาง API จะเพิ่มขาแยกต่างหาก

    API จะไม่เพิ่มขาสำหรับจุดอ้างอิงระหว่างกลางแบบผ่าน ตัวอย่างเช่น เส้นทางที่มีจุดอ้างอิงต้นทาง จุดอ้างอิงกลางที่เป็นทางผ่าน และจุดอ้างอิงปลายทาง จะมีเพียงขาเดียวจากต้นทางไปยังปลายทาง ขณะที่ผ่านจุดอ้างอิง ดูข้อมูลเพิ่มเติมเกี่ยวกับจุดอ้างอิงส่งผ่านได้ที่หัวข้อกำหนดจุดอ้างอิง Pass-through

  • ขั้นตอน: วิธีการเดียวตลอดเส้นทาง ขั้นตอนคือหน่วยอะตอมที่สุดของเส้นทาง เช่น อาจมีขั้นตอนระบุว่า "เลี้ยวซ้ายบนถนนสายหลัก''

คำตอบคืออะไร

ออบเจ็กต์ JSON ที่แสดงการตอบกลับจาก API มีพร็อพเพอร์ตี้ระดับบนสุดต่อไปนี้

  • routes อาร์เรย์ขององค์ประกอบประเภท Route อาร์เรย์ routes มีองค์ประกอบ 1 รายการสำหรับแต่ละเส้นทางที่แสดงผลโดย API อาร์เรย์มีองค์ประกอบได้สูงสุด 5 รายการ ได้แก่ เส้นทางเริ่มต้น เส้นทางที่เป็นมิตรต่อสิ่งแวดล้อม และเส้นทางอื่นสูงสุด 3 เส้นทาง

  • geocodingResults ซึ่งเป็นอาร์เรย์ขององค์ประกอบประเภท GeocodingResults สำหรับทุกสถานที่ตั้งในคำขอ (ต้นทาง ปลายทาง หรือสื่อกลางระหว่างทาง) ที่คุณระบุเป็นสตริงที่อยู่หรือเป็นโค้ด Plus API จะดำเนินการค้นหารหัสสถานที่ แต่ละองค์ประกอบของอาร์เรย์นี้ จะมีรหัสสถานที่ที่ตรงกับตำแหน่งหนึ่งๆ โดยไม่รวมสถานที่ตั้งในคำขอที่ระบุเป็นรหัสสถานที่หรือพิกัดละติจูด/ลองจิจูด หากคุณระบุตำแหน่งทั้งหมดโดยใช้รหัสสถานที่หรือพิกัดละติจูดและลองจิจูด ระบบจะไม่ระบุอาร์เรย์นี้

  • fallbackInfo ประเภท FallbackInfo หาก API คํานวณเส้นทางจากพร็อพเพอร์ตี้อินพุตทั้งหมดไม่ได้ 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"
      ],
     …
    }
  ]
}

ทำความเข้าใจกับ Legs Array

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 เป็นคำพ้องความหมายของ ถนนในฮังการี

ทําความเข้าใจอาร์เรย์ geocoderesultss

สำหรับทุกสถานที่ตั้งในคำขอ (ต้นทาง ปลายทาง หรือจุดอ้างอิงระดับกลาง) ที่ระบุเป็นสตริงที่อยู่หรือเป็นโค้ด 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