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

เมื่อ 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 โดยที่องค์ประกอบอาร์เรย์แต่ละรายการเป็นประเภท เส้นทาง องค์ประกอบอาร์เรย์แต่ละรายการจะแสดงเส้นทางทั้งเส้นทางจากต้นทางไปยังปลายทาง 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 Code แอตทริบิวต์ API จะพยายามค้นหาตําแหน่งที่เกี่ยวข้องมากที่สุดซึ่งมีสถานที่ที่เกี่ยวข้อง ID องค์ประกอบแต่ละรายการของ 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" ภาษา และ METRIC