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 truy cập 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ột 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 hoạt động 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ù hiệu quả đối với hầu hết các trường hợp sử dụng, 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ả khách 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ể khớp với đoạn đường gần nhất, nhưng đây có thể không phải là điểm truy cập 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.
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()
Những điều cần 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 nơi.- 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.
Sử dụng mã thông báo Điểm điều hướng
Để có được tuyến đường chính xác nhất đến các điểm tiếp cận cụ thể như lối vào, bến tàu 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 đích đến của Geocoding API.
Đại diện cho một điểm điều hướng cụ thể, có thể định tuyến 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ản hồi 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 không được giống 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()
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ỉ LatLng | đặ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 | Không được hiển thị |
| Chỉ mã địa điểm | vắng mặt | đặt | vắng mặt | Tuyến đường đến điểm truy cập mặc định cho Mã địa điểm | Từ PlaceID |
| 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 truy cập chính xác do mã thông báo đại diện | Từ đích đến được xác định trong phương thức đích đến ban đầu của yêu cầu Geocoding API |
| LatLng và mã địa điểm kết hợp | đặt | đặt | vắng mặt | Tuyến đường đến đoạn đường gần nhất với toạ độ đã xác định | Từ PlaceID, mặc dù không hiển thị nếu PlaceID quá xa LatLng |