รับเมทริกซ์เส้นทาง

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

ใช้ Routes API เพื่อคำนวณระยะทางและระยะเวลาของเส้นทางสำหรับ ต้นทางและปลายทางหลายแห่งโดยเรียกใช้เมธอด computeRouteMatrix (REST) หรือเมธอดสตรีมมิง ComputeRouteMatrix (gRPC)

เมื่อระบุรายการต้นทางและปลายทาง เมธอดจะคำนวณระยะทางและระยะเวลาของเส้นทางที่เริ่มต้นจากต้นทางแต่ละแห่งและสิ้นสุดที่ปลายทางแต่ละแห่ง

รับเมทริกซ์เส้นทางขนส่งสาธารณะ

นอกจากนี้ คุณยังคำนวณเมทริกซ์เส้นทางในการเดินทางด้วยขนส่งสาธารณะได้ด้วย ดูตัวอย่างได้ที่รับเมทริกซ์เส้นทางในการเดินทางด้วยขนส่งสาธารณะ

ขีดจำกัดของคำขอ

เมธอด Compute Route Matrix จะบังคับใช้ขีดจำกัดคำขอต่อไปนี้ สำหรับจุดอ้างอิงโดยใช้ที่อยู่หรือรหัสสถานที่ และสำหรับองค์ประกอบ องค์ประกอบคือ เส้นทางระหว่างต้นทางและปลายทางแต่ละแห่งในเมทริกซ์เส้นทาง ดังนั้นจำนวน องค์ประกอบจึงเท่ากับจำนวนต้นทางคูณจำนวนปลายทาง ตัวอย่างเช่น หากคุณมีต้นทาง 10 แห่งและปลายทาง 10 แห่ง คุณจะมีองค์ประกอบ 100 รายการ ดังนี้

  • จำนวนองค์ประกอบต้องไม่เกิน 625 รายการสำหรับเส้นทางที่ไม่ได้เป็นเส้นทาง TRANSIT

  • หากคุณระบุTRANSITเส้นทาง จำนวนองค์ประกอบต้องไม่เกิน 100

  • หากคุณระบุ TRAFFIC_AWARE_OPTIMAL จำนวนองค์ประกอบต้องไม่เกิน 100 ดูข้อมูลเพิ่มเติมเกี่ยวกับ TRAFFIC_AWARE_OPTIMAL ได้ที่ ระบุวิธีและระบุว่าจะรวมข้อมูลการเข้าชมหรือไม่

  • หากคุณระบุต้นทางหรือปลายทางโดยใช้ที่อยู่หรือรหัสสถานที่ คุณจะระบุได้สูงสุด 50 รายการด้วยวิธีนี้

ข้อผิดพลาดในการตอบกลับ

ฟีเจอร์หนึ่งของเมธอด Compute Route Matrix คือสามารถส่งคืนข้อผิดพลาด ได้ทั้งการตอบกลับทั้งหมดหรือองค์ประกอบการตอบกลับแต่ละรายการ ตัวอย่างเช่น การตอบกลับทั้งหมดจะมีข้อผิดพลาดหากคำขอมีรูปแบบไม่ถูกต้อง (เช่น มีต้นทางเป็น 0)

อย่างไรก็ตาม หากข้อผิดพลาดมีผลกับชุดย่อยขององค์ประกอบในการตอบกลับ (เช่น คำนวณเส้นทางสำหรับต้นทางและปลายทางชุดหนึ่งไม่ได้) เฉพาะองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดเท่านั้นที่จะแสดงรหัสข้อผิดพลาด

ผลลัพธ์ของสตรีม gRPC

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

ระบบไม่รับประกันว่าจะแสดงผลองค์ประกอบที่สตรีมส่งคืนตามลำดับใดๆ ดังนั้น องค์ประกอบการตอบกลับแต่ละรายการจึงมี origin_index และ destination_index สำหรับต้นทางและปลายทางที่ระบุโดยคำขอ ต้นทางของเส้นทางจะเทียบเท่ากับ origins[origin_index] สำหรับองค์ประกอบที่กำหนด และปลายทางของเส้นทางจะเทียบเท่ากับ destinations[destination_index] อาร์เรย์เหล่านี้เป็นแบบ Zero-indexed คุณควรจัดเก็บลำดับรายการต้นทางและ ปลายทาง

ตัวอย่างการคำนวณเมทริกซ์เส้นทาง

ใช้เมธอด computeRouteMatrix ในคำขอ HTTP เพื่อคำนวณเมทริกซ์เส้นทาง

ตัวอย่าง HTTP

ตัวอย่างต่อไปนี้แสดงคำขอ HTTP ของ computeRouteMatrix ในตัวอย่างนี้ คุณ:

  • ระบุอาร์เรย์ของจุดอ้างอิงต้นทาง 2 จุดและจุดอ้างอิงปลายทาง 2 จุด เมธอด จะคำนวณเส้นทางจากต้นทางแต่ละแห่งไปยังปลายทางแต่ละแห่ง ดังนั้นการตอบกลับ จึงมีเส้นทาง 4 เส้นทาง

    ในอาร์เรย์ องค์ประกอบแรกจะอยู่ที่ดัชนี 0 องค์ประกอบที่สองจะอยู่ที่ดัชนี 1 และต่อไปเรื่อยๆ

  • รวมมาสก์ของช่องการตอบกลับเพื่อระบุช่องของการตอบกลับ (REST) หรือ ComputeRoutesResponse (gRPC) ที่จะแสดงผล ในตัวอย่างนี้ ให้กำหนดค่าคำขอให้แสดง originIndex, destinationIndex, duration, distanceMeters, status และ condition สำหรับแต่ละเส้นทาง ดูข้อมูลเพิ่มเติมได้ที่เลือกช่องที่จะแสดง

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

การตอบกลับมีเส้นทางที่เป็นไปได้ 4 เส้นทางสำหรับการรวมจุดอ้างอิงต้นทาง และปลายทางทั้งหมด

ระบุแต่ละเส้นทางในการตอบกลับโดยใช้ช่องการตอบกลับ originIndex และ destinationIndex ตัวอย่างเช่น originIndex 1 ในการตอบกลับจะสอดคล้องกับเส้นทางที่คำนวณจากจุดอ้างอิงที่ดัชนี 1 ของอาร์เรย์ origins ในคำขอ

[
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 822,
        "duration": "160s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2919,
        "duration": "361s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 5598,
        "duration": "402s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 7259,
        "duration": "712s",
        "condition": "ROUTE_EXISTS"
    }
]

ตัวอย่าง gRPC

เช่น คำขอ gRPC โปรดดูตัวอย่างใน ตัวอย่างคำขอ gRPC ตัวอย่าง Java ในหน้านั้นจะเรียกทั้ง Compute Routes และ Compute Route Matrix