Method: computeRouteMatrix

รับรายการต้นทางและปลายทาง แล้วแสดงผลสตรีมที่มีข้อมูลเส้นทางสำหรับชุดค่าผสมต้นทางและปลายทางแต่ละชุด

หมายเหตุ: วิธีการนี้กำหนดให้คุณระบุมาสก์ช่องคำตอบในอินพุต คุณสามารถระบุมาสก์ช่องการตอบกลับได้โดยใช้พารามิเตอร์ URL $fields หรือ fields หรือใช้ส่วนหัว HTTP/gRPC X-Goog-FieldMask (ดูพารามิเตอร์และส่วนหัว URL ที่พร้อมใช้งาน) ค่าดังกล่าวเป็นรายการเส้นทางของช่องที่คั่นด้วยคอมมา ดูเอกสารประกอบโดยละเอียดเกี่ยวกับวิธีสร้างเส้นทางฟิลด์

เช่น ในเมธอดนี้

  • ฟิลด์มาสก์ของช่องที่ใช้ได้ทั้งหมด (สำหรับการตรวจสอบด้วยตนเอง): X-Goog-FieldMask: *
  • มาสก์ฟิลด์ของระยะเวลาเส้นทาง ระยะทาง สถานะองค์ประกอบ เงื่อนไข และดัชนีองค์ประกอบ (ตัวอย่างการตั้งค่าเวอร์ชันที่ใช้งานจริง): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

คุณต้องใส่ status ไว้ในมาสก์ช่อง ไม่เช่นนั้นข้อความทั้งหมดจะปรากฏว่า "OK" Google ไม่แนะนำให้ใช้มาสก์ช่องคำตอบที่เป็นไวลด์การ์ด (*) เนื่องจากเหตุผลต่อไปนี้

  • การเลือกเฉพาะช่องที่คุณต้องการจะช่วยให้เซิร์ฟเวอร์ของเราประหยัดรอบการประมวลผล ซึ่งช่วยให้เราแสดงผลลัพธ์ให้คุณได้เร็วขึ้น
  • การเลือกเฉพาะช่องที่คุณต้องการในเวิร์กสำหรับเวอร์ชันที่ใช้งานจริงจะช่วยให้มั่นใจได้ว่าประสิทธิภาพเวลาในการตอบสนองจะเสถียร เราอาจเพิ่มช่องคำตอบเพิ่มเติมในอนาคต และช่องใหม่เหล่านั้นอาจต้องใช้เวลาในการประมวลผลเพิ่มเติม หากคุณเลือกทุกช่องหรือเลือกทุกช่องที่ระดับบนสุด คุณอาจพบว่าประสิทธิภาพลดลงเนื่องจากช่องใหม่ที่เราเพิ่มจะรวมอยู่ในคำตอบโดยอัตโนมัติ
  • การเลือกเฉพาะช่องที่ต้องการจะทำให้คำตอบมีขนาดเล็กลงและทำให้การรับส่งข้อมูลของเครือข่ายมีประสิทธิภาพมากขึ้น

คำขอ HTTP

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

URL ใช้ไวยากรณ์การแปลง gRPC

เนื้อหาของคำขอ

เนื้อความของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
ช่อง
origins[]

object (RouteMatrixOrigin)

ต้องระบุ อาร์เรย์ของต้นทาง ซึ่งกําหนดแถวของเมทริกซ์การตอบกลับ มีข้อจํากัดด้านขนาดหลายประการสําหรับ Cardinality ของต้นทางและปลายทาง ดังนี้

  • ผลรวมของจำนวนต้นทาง + จำนวนปลายทางที่ระบุเป็น placeId หรือ address ต้องไม่เกิน 50
  • ผลคูณของจํานวนต้นทาง × จํานวนปลายทางต้องไม่เกิน 625 ไม่ว่าในกรณีใดก็ตาม
  • ผลคูณของจํานวนต้นทาง × จํานวนปลายทางต้องไม่เกิน 100 หากตั้งค่า routingPreference เป็น TRAFFIC_AWARE_OPTIMAL
  • ผลคูณของจํานวนต้นทาง × จํานวนปลายทางต้องไม่เกิน 100 หากตั้งค่า travelMode เป็น TRANSIT
destinations[]

object (RouteMatrixDestination)

ต้องระบุ อาร์เรย์ของปลายทาง ซึ่งจะเป็นตัวกำหนดคอลัมน์ของเมทริกซ์การตอบกลับ

travelMode

enum (RouteTravelMode)

ไม่บังคับ ระบุรูปแบบการเดินทาง

routingPreference

enum (RoutingPreference)

ไม่บังคับ ระบุวิธีคํานวณเส้นทาง เซิร์ฟเวอร์พยายามใช้ค่ากำหนดการกำหนดเส้นทางที่เลือกเพื่อคํานวณเส้นทาง หากค่ากำหนดการกำหนดเส้นทางส่งผลให้เกิดข้อผิดพลาดหรือเวลาในการตอบสนองนานมาก ระบบจะแสดงผลข้อผิดพลาด คุณจะระบุตัวเลือกนี้ได้ก็ต่อเมื่อ travelMode เป็น DRIVE หรือ TWO_WHEELER มิเช่นนั้นคำขอจะไม่สำเร็จ

departureTime

string (Timestamp format)

ไม่บังคับ เวลาออกเดินทาง หากไม่ได้ตั้งค่านี้ ค่าเริ่มต้นจะเป็นเวลาที่ส่งคำขอ หมายเหตุ: คุณจะระบุ departureTime ที่ผ่านมาได้ก็ต่อเมื่อตั้งค่า RouteTravelMode เป็น TRANSIT เท่านั้น

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและทศนิยมสูงสุด 9 หลัก ตัวอย่างเช่น "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

arrivalTime

string (Timestamp format)

ไม่บังคับ เวลาถึง หมายเหตุ: ตั้งค่าได้เมื่อตั้งค่า RouteTravelMode เป็น TRANSIT เท่านั้น ระบุ departureTime หรือ arrivalTime เพียงรายการใดรายการหนึ่ง

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและทศนิยมสูงสุด 9 หลัก ตัวอย่างเช่น "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

languageCode

string

ไม่บังคับ รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" โปรดดูข้อมูลเพิ่มเติมที่หัวข้อตัวระบุภาษา Unicode ดูรายการภาษาที่รองรับได้ที่การรองรับภาษา หากคุณไม่ได้ระบุค่านี้ ระบบจะอนุมานภาษาที่แสดงจากสถานที่ตั้งของต้นทางแรก

regionCode

string

ไม่บังคับ รหัสภูมิภาคที่ระบุเป็นค่า 2 อักขระของ ccTLD ("โดเมนระดับบนสุด") ดูข้อมูลเพิ่มเติมได้ที่โดเมนระดับบนสุดแบบรหัสประเทศ

units

enum (Units)

ไม่บังคับ ระบุหน่วยวัดสำหรับช่องแสดงผล

extraComputations[]

enum (ExtraComputation)

ไม่บังคับ รายการการคํานวณเพิ่มเติมที่อาจใช้เพื่อดําเนินการตามคําขอ หมายเหตุ: การคํานวณเพิ่มเติมเหล่านี้อาจแสดงผลลัพธ์ในช่องเพิ่มเติมในการตอบกลับ นอกจากนี้ คุณต้องระบุฟิลด์เพิ่มเติมเหล่านี้ในฟิลด์มาสก์เพื่อให้ระบบแสดงผลในคำตอบด้วย

trafficModel

enum (TrafficModel)

ไม่บังคับ ระบุสมมติฐานที่จะใช้เมื่อคํานวณเวลาในการเข้าชม การตั้งค่านี้มีผลต่อค่าที่แสดงในฟิลด์ระยะเวลาใน RouteMatrixElement ซึ่งมีเวลาในการเข้าชมที่คาดการณ์ตามค่าเฉลี่ยที่ผ่านมา RoutingPreference ถึง TRAFFIC_AWARE_OPTIMAL และ RouteTravelMode ถึง DRIVE ค่าเริ่มต้นจะเป็น BEST_GUESS หากมีการขอการเข้าชมและไม่ได้ระบุ TrafficModel

transitPreferences

object (TransitPreferences)

ไม่บังคับ ระบุค่ากําหนดที่ส่งผลต่อเส้นทางที่แสดงสําหรับเส้นทาง TRANSIT หมายเหตุ: คุณระบุ transitPreferences ได้ก็ต่อเมื่อตั้งค่า RouteTravelMode เป็น TRANSIT เท่านั้น

เนื้อหาการตอบกลับ

มีข้อมูลเส้นทางที่คำนวณสำหรับคู่ต้นทาง/ปลายทางใน v2.computeRouteMatrix API คุณสามารถสตรีมโปรโตนี้ไปยังไคลเอ็นต์ได้

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
ช่อง
status

object (Status)

รหัสสถานะข้อผิดพลาดขององค์ประกอบนี้

condition

enum (RouteMatrixElementCondition)

ระบุว่าพบเส้นทางหรือไม่ โดยไม่คำนึงถึงสถานะ

distanceMeters

integer

ระยะทางของเส้นทางเป็นเมตร

duration

string (Duration format)

ระยะเวลาที่ใช้ในการไปยังจุดหมาย หากคุณตั้งค่า routingPreference เป็น TRAFFIC_UNAWARE ค่านี้จะเหมือนกับ staticDuration หากคุณตั้งค่า routingPreference เป็น TRAFFIC_AWARE หรือ TRAFFIC_AWARE_OPTIMAL ระบบจะคํานวณค่านี้โดยพิจารณาสภาพการจราจร

ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย s เช่น "3.5s"

staticDuration

string (Duration format)

ระยะเวลาการเดินทางบนเส้นทางโดยไม่คำนึงถึงสภาพการจราจร

ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย s เช่น "3.5s"

travelAdvisory

object (RouteTravelAdvisory)

ข้อมูลเพิ่มเติมเกี่ยวกับเส้นทาง เช่น ข้อมูลข้อจำกัดและข้อมูลค่าผ่านทาง

fallbackInfo

object (FallbackInfo)

ในบางกรณีเมื่อเซิร์ฟเวอร์ไม่สามารถคำนวณเส้นทางด้วยค่ากำหนดที่กำหนดสำหรับคู่ต้นทาง/ปลายทางนี้ ก็อาจใช้โหมดการประมวลผลอื่นแทน เมื่อใช้โหมดสำรอง ช่องนี้จะมีข้อมูลโดยละเอียดเกี่ยวกับการตอบกลับสำรอง มิฉะนั้น ระบบจะไม่ตั้งค่าช่องนี้

localizedValues

object (LocalizedValues)

การนําเสนอข้อความของพร็อพเพอร์ตี้ RouteMatrixElement

originIndex

integer

ดัชนีต้นทางแบบนับจาก 0 ในคําขอ

destinationIndex

integer

ดัชนีที่เริ่มต้นจาก 0 ของปลายทางในคําขอ

RouteMatrixOrigin

ต้นทางเดียวสําหรับ ComputeRouteMatrixRequest

การแสดง JSON
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
ช่อง
waypoint

object (Waypoint)

ต้องระบุ จุดอ้างอิงต้นทาง

routeModifiers

object (RouteModifiers)

ไม่บังคับ ตัวแก้ไขสำหรับทุกเส้นทางที่ใช้เส้นทางนี้เป็นแหล่งที่มา

RouteMatrixDestination

ปลายทางเดียวสําหรับ ComputeRouteMatrixRequest

การแสดง JSON
{
  "waypoint": {
    object (Waypoint)
  }
}
ช่อง
waypoint

object (Waypoint)

ต้องระบุ จุดสังเกตปลายทาง

ExtraComputation

การคํานวณเพิ่มเติมที่จะทําขณะดําเนินการตามคําขอ

Enum
EXTRA_COMPUTATION_UNSPECIFIED ไม่ใช้ คำขอที่มีค่านี้จะดำเนินการไม่สำเร็จ
TOLLS ข้อมูลการเรียกเก็บเงินสำหรับองค์ประกอบเมทริกซ์

RouteMatrixElementCondition

สภาพของเส้นทางที่แสดง

Enum
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED ใช้เฉพาะเมื่อ status ขององค์ประกอบไม่ถูกต้อง
ROUTE_EXISTS พบเส้นทางและป้อนข้อมูลที่เกี่ยวข้องสำหรับองค์ประกอบแล้ว
ROUTE_NOT_FOUND ไม่พบเส้นทาง ระบบจะไม่กรอกข้อมูลในช่องที่มีข้อมูลเส้นทาง เช่น distanceMeters หรือ duration ในองค์ประกอบ

LocalizedValues

การนําเสนอข้อความของพร็อพเพอร์ตี้บางอย่าง

การแสดง JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
ช่อง
distance

object (LocalizedText)

ระยะทางที่เดินทางซึ่งแสดงในรูปแบบข้อความ

duration

object (LocalizedText)

ระยะเวลาที่แสดงในรูปแบบข้อความโดยพิจารณาจากสภาพการจราจร หมายเหตุ: หากไม่ได้ขอข้อมูลการเข้าชม ค่านี้จะเหมือนกับ staticDuration

staticDuration

object (LocalizedText)

ระยะเวลาที่แสดงในรูปแบบข้อความโดยไม่พิจารณาสภาพการเข้าชม

transitFare

object (LocalizedText)

ค่าโดยสารขนส่งสาธารณะที่แสดงในรูปแบบข้อความ