Theo mặc định, các điểm tham chiếu trung gian được dùng để dừng đón và trả khách, nhưng bạn cũng có thể chỉ định rằng một điểm tham chiếu trung gian chỉ dùng để đi qua.
Một tuyến đường có chứa một điểm đánh dấu điểm khởi hành, một điểm đánh dấu trung gian đi qua và một điểm đánh dấu điểm đến chỉ chứa một đoạn đường kết nối điểm khởi hành và điểm đến, đồng thời đi qua điểm đánh dấu trung gian (gọi là via).
Định cấu hình một điểm tham chiếu trung gian thành điểm tham chiếu truyền qua bằng cách đặt thuộc tính via của điểm tham chiếu thành true bằng giao diện Waypoint.
Thuộc tính via hoạt động hiệu quả nhất khi tạo các tuyến đường để phản hồi việc người dùng kéo các điểm tham chiếu trên bản đồ. Việc này cho phép người dùng xem tuyến đường cuối cùng có thể trông như thế nào theo thời gian thực và giúp đảm bảo rằng các điểm tham chiếu được đặt ở những vị trí mà thư viện Tuyến đường có thể truy cập.
Ví dụ về yêu cầu
Yêu cầu mẫu sau đây minh hoạ cách đánh dấu một điểm tham chiếu trung gian là điểm tham chiếu xuyên suốt.
const routeRequestWithVia = { origin: '100 Moffett Blvd, Mountain View, CA 94043', destination: '1199 9th Ave, San Francisco, CA 94122', travelMode: 'DRIVING', intermediates: [ {location: 'Half Moon Bay, CA', via: true} // Set the via property to true ], fields: ['path', 'legs'], }; // Make the request. const {routes, fallbackInfo, geocodingResults} = await Route.computeRoutes(routeRequestWithIntermediates);
Truy cập ID địa điểm cho các điểm dừng trung gian
Nếu bạn chỉ định vị trí của điểm xuất phát, điểm đến hoặc điểm tham chiếu trung gian dưới dạng chuỗi địa chỉ hoặc dưới dạng Plus code, thì thư viện Tuyến đường sẽ cố gắng tìm vị trí phù hợp nhất có mã địa điểm tương ứng. Mảng geocodingResults.intermediates trong kết quả chứa mã địa điểm tương ứng với vị trí của các điểm tham chiếu, cùng với dữ liệu bổ sung về vị trí.
Ví dụ về phản hồi kết quả mã hoá địa lý
{ "origin": { "geocoderStatus": "OK", "types": [ "premise", "street_address" ], "partialMatch": false, "placeId": "ChIJb5NgcTa3j4ARrfF4Oc_f6q8", "intermediateWaypointRequestIndex": null }, "destination": { "geocoderStatus": "OK", "types": [ "premise", "street_address" ], "partialMatch": false, "placeId": "ChIJAbIPLl2HhYARQ0SSdDFxU-s", "intermediateWaypointRequestIndex": null }, "intermediates": [ { "geocoderStatus": "OK", "types": [ "locality", "political" ], "partialMatch": false, "placeId": "ChIJC8sZCqULj4ARVJvnNcic_V4", "intermediateWaypointRequestIndex": 0 } ] }