Method: computeRouteMatrix

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

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

ตัวอย่างเช่น ด้วยวิธีนี้

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

คุณจำเป็นต้องใส่ status ในมาสก์ของช่อง ไม่เช่นนั้นข้อความทั้งหมดจะเรียบร้อยดี 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)

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

  • ผลรวมของจำนวนต้นทาง + จำนวนปลายทางที่ระบุเป็น 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 ได้ แต่ระบุทั้ง 2 อย่างไม่ได้

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

languageCode

string

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

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 สามารถสตรีม Proto นี้ไปยังไคลเอ็นต์ได้

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

การแสดง 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

ดัชนีที่อิงตามศูนย์ของต้นทางในคำขอ

destinationIndex

integer

ดัชนีที่อิงตามศูนย์ของปลายทางในคำขอ

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)

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