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

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

ทําความเข้าใจอาร์เรย์ 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" และหน่วยเมตริก