Navigation SDK cho Android cung cấp các cách thức nâng cao để chỉ định điểm tham chiếu, mang lại khả năng định tuyến chính xác hơn và trải nghiệm đến nơi tốt hơn, đặc biệt là đối với những điểm đến có nhiều lối vào hoặc điểm điều hướng cụ thể. Bạn có thể định tuyến đến các vị trí chính xác bằng cách sử dụng navigationPointToken hoặc bằng cách kết hợp toạ độ vĩ độ và kinh độ với Mã địa điểm để thêm ngữ cảnh. Tính năng làm nổi bật đích đến sẽ tiếp tục được thực hiện nếu có.
Thông tin khái quát
Trước phiên bản 7.4, bạn có thể xác định Waypoint bằng cách sử dụng toạ độ vĩ độ và kinh độ hoặc một Mã địa điểm. Mặc dù đôi khi hiệu quả, nhưng việc chỉ định tuyến đến một vĩ độ và kinh độ đôi khi có thể dẫn đến các điểm trả hàng hoặc đón khách không tối ưu, đặc biệt là đối với các địa điểm, công viên hoặc toà nhà lớn có nhiều lối vào. Kết quả có thể chuyển đến đoạn đường gần nhất, nhưng đây có thể không phải là điểm điều hướng thuận tiện hoặc chính xác nhất.
Các lựa chọn nâng cao về điểm đánh dấu giải quyết vấn đề này bằng cách cho phép cung cấp thêm bối cảnh.
Sử dụng mã thông báo điểm điều hướng
Để có được lộ trình chính xác nhất đến các điểm điều hướng cụ thể như lối vào, bến tải hàng hoặc khu vực đón khách được chỉ định, bạn có thể sử dụng navigationPointToken. Bạn có thể lấy mã thông báo này bằng cách gọi phương thức destinations của Geocoding API. Đại diện cho một điểm điều hướng cụ thể, có thể định tuyến được liên kết với một địa điểm.
Cách chỉ định mã thông báo Điểm điều hướng:
- Lấy
navigationPointTokentừ phương thức Destinations của Geocoding API. - Tạo
Waypointbằng phương thứcsetNavigationPointToken()trong trình tạo.
Lưu ý: Khi sử dụng setNavigationPointToken(), bạn không thể đồng thời sử dụng setLatLng() hoặc setPlaceIdString(). Các phương thức này loại trừ lẫn nhau với setNavigationPointToken().
// Assuming 'navPointToken' is a String obtained from the destinations method of the Geocoding API
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithToken = Waypoint.builder()
.setTitle(destinationName)
.setNavigationPointToken(navPointToken)
.build();
// Use this waypoint in navigator.setDestinations()
Kết hợp mã địa điểm với vĩ độ và kinh độ
Kể từ phiên bản 7.4, bạn có thể cung cấp cả mã địa điểm và toạ độ vĩ độ và kinh độ khi tạo Waypoint. Phương thức này hữu ích khi bạn muốn chỉ định một điểm chính xác (vĩ độ/kinh độ) trong khi vẫn cung cấp bối cảnh của địa điểm tổng thể (Mã địa điểm). Nhờ đó, Navigation SDK có thể mang lại trải nghiệm đến nơi phong phú hơn bằng cách làm nổi bật toà nhà đích hoặc cho thấy các địa điểm yêu thích ở gần có liên quan đến Place ID.
// Assuming 'placeId' is the Place ID String
// Assuming 'lat' and 'lng' are the double values for latitude and longitude
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithPlaceIdAndLatLng = Waypoint.builder()
.setTitle(destinationName)
.setPlaceIdString(placeId)
.setLatLng(lat, lng)
.build();
// Use this waypoint in navigator.setDestinations()
Lưu ý
Khi bạn cung cấp cả placeId và latlng:
- Tuyến đường này chủ yếu nhắm đến
latlngđược chỉ định. placeIdđược dùng làm bối cảnh để nâng cao trải nghiệm khi người dùng đến trang đích.- Dự phòng: Nếu SDK xác định rằng
placeIdđược cung cấp tương ứng với một tính năng quá xalatlngđã cho, thìplaceIdsẽ bị bỏ qua. Trong trường hợp này, quá trình định tuyến sẽ chỉ diễn ra ởlatlngvà bạn sẽ không thể sử dụng các tính năng nâng cao trải nghiệm khi đến nơi theo địa điểm.
Tóm tắt các cấu hình điểm tham chiếu hợp lệ
| Phương thức | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
Hành vi định tuyến | Đánh dấu đích đến |
|---|---|---|---|---|---|
| Chỉ có toạ độ vĩ độ/kinh độ | đặt | vắng mặt | vắng mặt | Tuyến đường đến đoạn đường gần nhất với toạ độ đã xác định | Xuất hiện nếu có thể suy luận đích đến với độ tin cậy cao |
| Chỉ mã địa điểm | vắng mặt | đặt | vắng mặt | Tuyến đường đến điểm chỉ đường mặc định cho Mã địa điểm | Mã địa điểm đi |
| Chỉ mã thông báo điểm điều hướng | vắng mặt | vắng mặt | đặt | Tuyến đường đến điểm điều hướng chính xác do mã thông báo đại diện | Từ đích đến được xác định trong yêu cầu phương thức đích đến của Geocoding API ban đầu |
| Kết hợp toạ độ vĩ độ/kinh độ và Mã địa điểm | đặt | đặt | vắng mặt | Tuyến đường đến đoạn đường gần nhất với toạ độ đã xác định | Từ mã địa điểm, mặc dù không xuất hiện nếu mã địa điểm quá xa so với toạ độ vĩ độ/kinh độ |