Điểm tham chiếu trung gian là những vị trí được chỉ định giữa điểm khởi hành và điểm đến mà bạn muốn tuyến đường đi qua.
Bạn có thể xác định tối đa 25 điểm tham chiếu trung gian trong một yêu cầu bằng cách sử dụng thuộc tính mảng intermediates của phương thức REST computeRoutes hoặc phương thức gRPC ComputeRoutes.
Điểm dừng chân so với điểm tham chiếu đi qua
Bạn có thể định cấu hình một điểm đánh dấu trung gian làm điểm dừng hoặc vị trí đi qua:
- Điểm dừng chân: Theo mặc định, xe sẽ dừng tại vị trí này. Mỗi điểm dừng chân sẽ chia tuyến đường bằng cách thêm một mục
RouteLegvào mảnglegstrong phản hồi. Để biết thêm thông tin, hãy xem bài viết Đặt một điểm dừng dọc theo tuyến đường. - Điểm tham chiếu trung gian có
"via"được đặt thànhtrue: Xe đi qua vị trí mà không dừng lại. Các điểm tham chiếu truyền qua không thêm các mục vào mảnglegs. Để biết thêm thông tin, hãy xem bài viết Đặt điểm để tuyến đường đi qua.
Các đoạn đường và điểm tham chiếu trung gian
Đối với mỗi điểm dừng chân trung gian trong một yêu cầu, phản hồi sẽ chứa một đối tượng RouteLeg riêng biệt trong mảng routes.legs.
Ví dụ: một tuyến đường có điểm xuất phát, một điểm dừng chân trung gian và một điểm đến sẽ chứa hai đoạn đường: * Đoạn đường 1: Từ điểm xuất phát đến điểm dừng chân trung gian. * Chặng 2: Từ điểm dừng chân trung gian đến đích đến.
Ví dụ: Yêu cầu có một điểm tham chiếu trung gian
Ví dụ sau đây sử dụng mảng intermediates để thêm một điểm dừng chân trung gian duy nhất vào một tuyến đường.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Phản hồi có nhiều đoạn đường
Vì điểm tham chiếu trung gian trong yêu cầu là một điểm dừng chân không đặt "via": true, nên phản hồi sẽ chia tuyến đường thành 2 chặng trong mảng legs:
{ "routes": [ { "distanceMeters": 805, "duration": "248s", "legs": [ { "distanceMeters": 207, "duration": "89s", "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } } }, { "distanceMeters": 598, "duration": "159s", "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } }, "endLocation": { "latLng": { "latitude": 37.4176166, "longitude": -122.0793882 } } } ] } ] }