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

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

เมื่อ 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 เป็นค่าเริ่มต้น