Navigation SDK cho iOS cung cấp các cách nâng cao để chỉ định điểm tham chiếu, giúp
định tuyến chính xác hơn và mang lại 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 navigationPointToken hoặc bằng cách kết hợp toạ độ vị trí
với Mã địa điểm để có thêm ngữ cảnh.
Tính năng làm nổi bật điểm đế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 10.10, bạn có thể xác định Waypoint bằng cách sử dụng toạ độ vị trí
hoặc Mã địa điểm. Mặc dù đôi khi có hiệu quả, nhưng việc chỉ định tuyến đến a
vĩ độ và kinh độ có thể dẫn đến các điểm dừng hoặc điểm đón không tối ưu,
đặc biệt là đối với các địa điểm lớn, công viên hoặc toà nhà có nhiều
lối vào. Kết quả có thể được điều chỉnh theo đoạn đường gần nhất, 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 tham chiếu giải quyết vấn đề này bằng cách cho phép bạn cung cấp thêm ngữ cảnh.
Sử dụng mã thông báo Điểm điều hướng
Để định tuyến chính xác nhất đến các điểm truy cập cụ thể như lối vào, bến bốc dỡ 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 Điểm đến của Geocoding API. Mã thông báo này đạ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 Điểm đến của phản hồi Geocoding API.Chỉ định
navigationPointTokenkhi bạn tạoGMSNavigationWaypoint.
Lưu ý: Bạn không thể đồng thời chỉ định mã thông báo Điểm điều hướng cùng với vị trí và PlaceID.
Swift
// Create a waypoint using a navigation endpoint token
let waypointTwo = GMSNavigationWaypoint(
navigationPointToken: "ChIJALijSXPhQkARHmIozCCbXsASEgkFVjYHGH6PgBFrbM7wl3.."
title: "Sydney Opera House")
// Route to the waypoint
navigator.setDestinations([waypointTwo]) { [weak self] routeStatus in
self?.handleRouteCallback(status: routeStatus)
}
Objective-C
GMSNavigationWaypoint *waypointTwo = [[GMSNavigationWaypoint alloc] initWithNavigationPointToek:@"sampleNavigationPointToken"
Kết hợp Mã địa điểm và Vị trí
Kể từ phiên bản 10.10, bạn có thể cung cấp cả Mã địa điểm và toạ độ vị trí khi tạo điểm tham chiếu. 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ị trí) trong khi vẫn cung cấp ngữ cảnh của địa điểm tổng thể (Mã địa điểm). Điều này cho phép Navigation SDK 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 hiển thị các địa điểm quan tâm gần đó liên quan đến Mã địa điểm.
Swift
// Create a waypoint using both the latlng and placeID
let waypoint = GMSNavigationWaypoint(
location: CLLocationCoordinate2DMake(-33.85657945261524, 151.21535034203333),
placeID: "ChIJ3S-JXmauEmsRUcIaWtf4MzE",
title: "Sydney Opera House")
// Route to the waypoint
navigator.setDestinations([waypoint]) { [weak self] routeStatus in
self?.handleRouteCallback(status: routeStatus)
}
Objective-C
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint = [[GMSNavigationWaypoint alloc] initWithLocation:placeID:coordinate title:@"waypoint from location and placeiD"];
Những điều cần lưu ý:
Khi bạn cung cấp cả placeID và location:
- Tuyến đường chủ yếu nhắm đến
locationđược chỉ định. placeIdđược dùng làm ngữ cảnh để nâng cao trải nghiệm đế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á xalocationđã cho, thìplaceIdsẽ bị bỏ qua. Trong trường hợp này, quá trình định tuyến sẽ chỉ diễn ra đếnlocationvà các tính năng nâng cao trải nghiệm đến nơi dành riêng cho địa điểm sẽ không hoạt động.
Tóm tắt các cấu hình điểm tham chiếu hợp lệ
| Thông số kỹ thuật | location |
placeID |
navigationPointToken |
Hành vi định tuyến | Làm nổi bật điểm đến |
|---|---|---|---|---|---|
| Chỉ toạ độ vị trí | đặt | không có | không có | Định tuyến đến đoạn đường gần nhất với toạ độ đã xác định | Xuất hiện nếu có thể suy ra điểm đến với độ tin cậy cao |
| Chỉ Mã địa điểm | không có | đặt | không có | Định tuyến đến điểm điều hướng mặc định cho Mã địa điểm | Từ Mã địa điểm |
| Chỉ mã thông báo điểm điều hướng | không có | không có | đặt | Định tuyến đến điểm điều hướng chính xác do mã thông báo đại diện | Từ điểm đến được xác định trong phương thức điểm đến ban đầu của yêu cầu Geocoding API |
| Kết hợp toạ độ vị trí và Mã địa điểm | se | đặt | không có | Định tuyến đế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 toạ độ vĩ độ/kinh độ |