Tài liệu tham khảo về lớp GMSNavigator

Tài liệu tham khảo về lớp GMSNavigator

Tổng quan

Đây là lớp chính trong SDK Điều hướng của Google dành cho iOS và cung cấp các phương thức để kiểm soát điều hướng tới một đích đến cũng như truy cập thông tin tuyến đường và tiến trình.

Lớp này không hỗ trợ phân lớp con.

Lớp này không an toàn cho luồng. Tất cả các phương thức phải được gọi từ luồng chính.

Hàm thành viên công khai

(void) addListener:
 Thêm trình nghe.
(BOOL) removeListener:
 Xoá trình nghe.
(void) setDestinations:callback:
 Đặt nhiều đích đến để điều hướng, ghi đè mọi đích đến đã đặt trước đó.
(void) setDestinations:routingOptions:callback:
 Đặt nhiều đích đến để điều hướng, ghi đè mọi đích đến đã đặt trước đó.
(void) setDestinations:routeToken:callback:
 Thiết lập nhiều đích đến để điều hướng, sử dụng mã thông báo tuyến để điều hướng trên một tuyến được tính toán trước.
(void) getRouteInfoForDestination:withRoutingOptions:callback:
 Trả về thông tin tuyến đường dựa trên chiến lược định tuyến: tuyến đường mặc định tốt nhất hoặc ngắn hơn.
(GMSNavigationWaypoint có thể nhận giá trị rỗng *)continueToNextDestination
 Không dùng nữa.
(void) clearDestinations
 Xoá mọi điểm đến đã đặt trước đó và xoá mọi tuyến đường đã tính toán khỏi bản đồ.
(NSTimeInterval)timeToWaypoint:
 Trả về thời gian ước tính cho điểm tham chiếu cho trước, hoặc CLTimeIntervalMax nếu điểm tham chiếu không nằm trong tuyến đường hiện tại.
(Khoảng cách vị trí CLLocation)distanceTowaypoint:
 Trả về khoảng cách ước tính tới điểm tham chiếu cho trước, hoặc CLLocationDistanceMax nếu điểm tham chiếu không nằm trong tuyến đường hiện tại.
(void) setTransactionIDs:errorHandler:
 Đặt và ghi nhật ký cho máy chủ các mã giao dịch liên tục áp dụng cho các sự kiện điều hướng trong phiên điều hướng hiện tại.

Thuộc tính

CẢM GIÁCavoidsHighways
 Liệu có tránh đường cao tốc khi tạo tuyến đường tới các điểm đến hay không.
CẢM GIÁCavoidsTolls
 Có tránh đường có thu phí khi tạo tuyến đường tới các điểm đến hay không.
CẢM GIÁCavoidsFerries
 Có tránh phà khi tạo tuyến đường tới điểm đến hay không.
GMSNavigationLicensePlateRestrictionlicensePlateRestriction
 Đặt giới hạn biển số xe bằng chữ số cuối cùng của biển số xe và mã quốc gia hiện tại của người lái xe.
CẢM GIÁCguidanceActive
 Liệu tính năng hướng dẫn từng chặng hiện đã được bật hay chưa.
CẢM GIÁCstopGuidanceAtArrival
 Xem hướng dẫn có tự động dừng khi -navigator:didGeneratedAtwaypoint: được gọi hay không.
Khoảng thời gian NSTimetimeUpdateThreshold
 Sự thay đổi tối thiểu về thời gian ước tính tới đích đến tiếp theo sẽ kích hoạt phương thức navigator:didUpdateRemainingTime: được gọi.
Khoảng cách vị trí CLdistanceUpdateThreshold
 Thay đổi tối thiểu về khoảng cách ước tính tới đích đến tiếp theo sẽ kích hoạt phương thức navigator:didUpdateRemainingDistance: được gọi.
Khoảng thời gian NSTimetimeToNextDestination
 Trả về thời gian ước tính cho tới điểm đến tiếp theo.
Khoảng cách vị trí CLdistanceToNextDestination
 Trả về quãng đường ước tính đến điểm đến tiếp theo.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Trả về danh mục độ trễ cho điểm đến tiếp theo.
GMSRouteLegcurrentRouteLeg
 Giai đoạn hiện tại của hành trình.
NSArray< GMSRouteLeg * > * routeLegs
 Một mảng các chân tuyến đường, trong đó mỗi chân tương ứng với một đích đến đã được thiết lập.
GMSPathtraveledPath
 Đường đi mà thiết bị đã đi kể từ lần gần đây nhất hướng dẫnActive được đặt thành YES.
GMSNavigationVoiceGuidancevoiceGuidance
 Xác định xem có cần bật hướng dẫn bằng giọng nói cho cảnh báo giao thông và cảnh báo từng chặng hay không.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 Xác định xem có thể phát hướng dẫn bằng giọng nói nào trên thiết bị âm thanh.
CẢM GIÁCvibrationEnabled
 Xác định xem thiết bị có phải rung khi phát cảnh báo bằng giọng nói hay không.
CẢM GIÁCsendsBackgroundNotifications
 Xác định xem UILocalNotifications chứa thông tin hướng dẫn có được hiển thị khi ứng dụng chạy ở chế độ nền hay không.
GMSNavigationLightingModesuggestedLightingMode
 Chế độ chiếu sáng được đề xuất, dựa trên thời gian trong ngày và vị trí của thiết bị.
CẢM GIÁCshouldDisplayPrompts
 Xác định xem có hiển thị lời nhắc về giao thông, tuyến đường tốt hơn và sự cố hay không.
GMSNavigationSpeedAlertOptionsspeedAlertOptions
 GMSNavigationSpeedAlertOptions để tuỳ chỉnh các ngưỡng kích hoạt cho GMSNavigationSpeedAlertSeverity.

(Lưu ý rằng đây không phải là các hàm thành phần.)

typedef void(^ GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 Được gọi khi tìm thấy một tuyến đường từ vị trí của thiết bị đến(các) đích đến đã cung cấp hoặc không tìm thấy vì một lý do mà RouteStatus chỉ ra.
typedef void(^ GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 Được gọi khi thông tin tuyến đường (ETA và khoảng cách) đến điểm tham chiếu được cung cấp được tính toán.
typedef void(^ GMSNavigationTransactionIDErrorHandler )(NSError *lỗi)
 Được gọi nếu không đặt được mã giao dịch thông qua setTransactionID.

Tài liệu về hàm thành phần

– (vô hiệu) addListener: (id< GMSNavigatorListener >) trình nghe

Thêm trình nghe.

Trình nghe được giữ lại với một tham chiếu yếu.

Các tham số:
trình ngheMột đối tượng tuân thủ giao thức GMSNavigatorListener.
– (BOOL) removeListener: (id< GMSNavigatorListener >) trình nghe

Xoá trình nghe.

Các tham số:
trình ngheMột đối tượng tuân thủ giao thức GMSNavigatorListener.
Trường hợp trả lại hàng:
Trả về YES nếu trình nghe đã bị xoá. Trả về NO nếu đối tượng không phải là trình nghe.
– (vô hiệu) setDestinations: (NSArray< GMSNavigationWaypoint * > *) đích đến
gọi lại: (GMSRouteStatusCallback) lệnh gọi lại

Đặt nhiều đích đến để điều hướng, ghi đè mọi đích đến đã đặt trước đó.

Lệnh gọi lại đã cung cấp sẽ được gọi bằng GMSRouteStatusOK nếu tìm thấy tuyến từ vị trí của thiết bị tới đích đến đã cho. Nếu điểm đến mới được đặt trước khi tìm thấy một tuyến đường, thì yêu cầu sẽ bị huỷ và lệnh gọi lại sẽ được gọi với GMSRouteStatusCanceled. Nếu không thể tìm thấy tuyến đường vì bất kỳ lý do nào khác, lệnh gọi lại sẽ được gọi với trạng thái lỗi thích hợp.

Lệnh gọi lại sẽ luôn được gửi không đồng bộ trên hàng đợi chính.

– (vô hiệu) setDestinations: (NSArray< GMSNavigationWaypoint * > *) đích đến
định tuyến các tuỳ chọn: (GMSNavigationRoutingOptions *) routingOptions
gọi lại: (GMSRouteStatusCallback) lệnh gọi lại

Đặt nhiều đích đến để điều hướng, ghi đè mọi đích đến đã đặt trước đó.

Các tuyến đường trả về được tính toán bằng các tuỳ chọn định tuyến.

Các tham số:
đích đếnMột mảng các điểm tham chiếu đích.
routingOptionsCác tuỳ chọn ảnh hưởng đến logic định tuyến (chiến lược định tuyến).
số gọi lạiĐược gọi khi tìm thấy một tuyến đường từ vị trí của người tiêu dùng đến(các) đích đến đã cung cấp hoặc không tìm thấy vì một lý do mà RouteStatus chỉ ra.
– (vô hiệu) setDestinations: (NSArray< GMSNavigationWaypoint * > *) đích đến
RouteToken: (NSString *) routeToken
gọi lại: (GMSRouteStatusCallback) lệnh gọi lại

Thiết lập nhiều đích đến để điều hướng, sử dụng mã thông báo tuyến để điều hướng trên một tuyến được tính toán trước.

Các tuyến đường sẽ giống nhau, mô-đun thay đổi đối với vị trí xuất phát của người lái và tình trạng đường/giao thông. Việc định tuyến lại vẫn sẽ diễn ra dựa trên các tuỳ chọn định tuyến được mã hoá trong mã thông báo.

Chỉ GMSNavigationTravelModeDrivingGMSNavigationTravelModeTwoWheeler được hỗ trợ khi bạn sử dụng mã thông báo tuyến đường để bắt đầu một phiên chỉ đường. Thiết lập chế độ đi lại bằng cách thiết lập travelMode. Lệnh gọi sẽ không thành công nếu chế độ đi lại hiện tại không được hỗ trợ và GMSRouteStatusTravelModeUnsupported sẽ được trả về trong lệnh gọi lại.

Các tham số:
đích đếnMột mảng các điểm tham chiếu đích phải giống với đích đến đã cấp cho API RoutesPreferences để lấy mã thông báo tuyến đường.
routeTokenChuỗi mã thông báo tuyến đường do API RoutesPreferences trả về. Các tuỳ chọn định tuyến được chỉ định trong RoutesPreference API được mã hoá trong mã thông báo tuyến này và sẽ được dùng để tạo lại tuyến được tính toán trước hoặc một tuyến mới khi việc định tuyến lại diễn ra.
số gọi lạiĐược gọi khi tìm thấy một tuyến đường từ vị trí của người tiêu dùng đến(các) điểm đến đã cung cấp hoặc không tìm thấy vì một lý do mà RouteStatus chỉ ra.
– (vô hiệu) getRouteInfoForDestination: (GMSNavigationWaypoint *) đích
withĐịnh tuyếnOptions: (GMSNavigationRoutingOptions *) routingOptions
gọi lại: (GMSRouteInfoCallback) lệnh gọi lại

Trả về thông tin tuyến đường dựa trên chiến lược định tuyến: tuyến đường mặc định tốt nhất hoặc ngắn hơn.

Trả về giá trị nil nếu dự án thiếu quyền gọi API này.

Các tham số:
tài khoản đíchĐiểm tham chiếu đích.
routingOptionsCác tuỳ chọn dùng để tìm nạp thông tin tuyến đường. Chiến lược định tuyến và chiến lược định tuyến thay thế bị bỏ qua vì phương thức này trả về thông tin tuyến đường đối với mọi chiến lược định tuyến.
số gọi lạiLệnh gọi lại được gọi khi nhận được thông tin về tuyến đường.
– (có thể nhận giá trị rỗng GMSNavigationWaypoint *) continueToNextDestination

Không dùng nữa.

Gọi một trong các phương thức -setDestinations:... bằng danh sách đích mới thay vì gọi phương thức này.

Kéo đích đến đầu tiên trong danh sách đích đến hiện tại. Sau cuộc gọi này, hướng dẫn sẽ đến điểm đến tiếp theo, nếu có.

Trường hợp trả lại hàng:
hướng dẫn về điểm tham chiếu hiện đang hướng tới hoặc biến thành không nếu không còn điểm tham chiếu nào.
Lưu ý:
Tính năng này không còn được dùng nữa. Thay vào đó, hãy sử dụng một trong các phương thức -setDestinations:...
– (vô hiệu) clearDestinations

Xoá mọi điểm đến đã đặt trước đó và xoá mọi tuyến đường đã tính toán khỏi bản đồ.

Nếu hướng dẫn đang hoạt động, thao tác này sẽ tự động dừng hướng dẫn.

– (NSTimeInterval) timeToWaypoint: (GMSNavigationWaypoint *) điểm tham chiếu

Trả về thời gian ước tính cho điểm tham chiếu cho trước, hoặc CLTimeIntervalMax nếu điểm tham chiếu không nằm trong tuyến đường hiện tại.

Thông tin này được cập nhật dựa trên vị trí hiện tại của thiết bị trong khi hướng dẫn đang hoạt động.

Trả về CLTimeIntervalMax nếu điểm tham chiếu đã cho không phải là một đích đến trong tuyến hiện tại.

– (CLLocationDistance) distanceToSidepoint: (GMSNavigationWaypoint *) điểm tham chiếu

Trả về khoảng cách ước tính tới điểm tham chiếu cho trước, hoặc CLLocationDistanceMax nếu điểm tham chiếu không nằm trong tuyến đường hiện tại.

Thông tin này sẽ được cập nhật dựa trên vị trí hiện tại của thiết bị trong khi hướng dẫn đang hoạt động.

Trả về CLLocationDistanceMax nếu điểm tham chiếu được cung cấp không phải là một điểm đến trong tuyến đường hiện tại.

- (vô hiệu) setTransactionID: (NSArray< NSString * > *) transactionIDs
errorHandler: (GMSNavigationTransactionIDErrorHandler có giá trị rỗng) errorHandler

Đặt và ghi nhật ký cho máy chủ các mã giao dịch liên tục áp dụng cho các sự kiện điều hướng trong phiên điều hướng hiện tại.

Mã giao dịch sẽ bị xoá vào cuối phiên đi theo chỉ dẫn.

Các tham số:
transactionIDsMã giao dịch áp dụng cho phiên điều hướng hiện tại. Mã giao dịch phải là mã riêng biệt cho từng giao dịch có thể thanh toán. Mã giao dịch cá nhân phải chứa ít nhất một và tối đa 64 ký tự. Danh sách này có thể trống khi một giao dịch đã kết thúc (nhưng phiên vẫn đang diễn ra).
errorHandlerMột khối sẽ được gọi không đồng bộ trên luồng chính nếu xảy ra lỗi khi mã giao dịch không hợp lệ.

– (typedef void(^ GMSRouteStatusCallback)(GMSRouteStatus routeStatus)) [related]

Được gọi khi tìm thấy một tuyến đường từ vị trí của thiết bị đến(các) đích đến đã cung cấp hoặc không tìm thấy vì một lý do mà RouteStatus chỉ ra.

– (typedef void(^ GMSRouteInfoCallback)(GMSNavigationRouteInfo *_Nullable routeInfo)) [related]

Được gọi khi thông tin tuyến đường (ETA và khoảng cách) đến điểm tham chiếu được cung cấp được tính toán.

Các tham số:
routeInfoThông tin tuyến đường tới điểm đến nhất định. Giá trị này sẽ bằng 0 nếu tính toán không thành công.
– (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *lỗi)) [related]

Được gọi nếu không đặt được mã giao dịch thông qua setTransactionID.

Hãy tham khảo tài liệu về API để biết thêm chi tiết.


Tài liệu về tài sản

– (BOOL) avoidsHighways [read, write, assign]

Liệu có tránh đường cao tốc khi tạo tuyến đường tới các điểm đến hay không.

Giá trị mặc định là NO.

- (BOOL) avoidsTolls [read, write, assign]

Có tránh đường có thu phí khi tạo tuyến đường tới các điểm đến hay không.

Giá trị mặc định là NO.

– (BOOL) avoidsFerries [read, write, assign]

Có tránh phà khi tạo tuyến đường tới điểm đến hay không.

Giá trị mặc định là YES.

Đặt giới hạn biển số xe bằng chữ số cuối cùng của biển số xe và mã quốc gia hiện tại của người lái xe.

Điều này cho phép chúng tôi định tuyến xung quanh một số loại tuyến đường hạn chế đường bộ nhất định dựa trên biển số xe. Điều này sẽ chỉ áp dụng cho các lệnh gọi setDestinations được thực hiện sau khi bạn đặt giá trị này. Tốt nhất bạn nên thiết lập chế độ này ngay sau khi tải trình điều hướng.

Đặt thành nil nếu không có quy định hạn chế biển số xe nào. Mặc định là không.

– (BOOL) guidanceActive [read, write, assign]

Liệu tính năng hướng dẫn từng chặng hiện đã được bật hay chưa.

Nếu hướng dẫnActive là CÓ nhưng hiện không có tuyến đường nào thì hướng dẫn sẽ bắt đầu khi có tuyến đường. Thuộc tính này sẽ được đặt thành KHÔNG nếu clearDestinations được gọi hoặc chúng tôi đến một điểm tham chiếu.

– (BOOL) stopGuidanceAtArrival [read, write, assign]

Xem hướng dẫn có tự động dừng khi -navigator:didGeneratedAtwaypoint: được gọi hay không.

Khi KHÔNG, chú thích đầu trang và chân trang điều hướng sẽ tiếp tục hiển thị sau khi bạn đến. Tiêu đề điều hướng sẽ tiếp tục hiển thị bước hướng dẫn cuối cùng và chân trang điều hướng sẽ tiếp tục cập nhật thời gian và khoảng cách còn lại cho đến khi đạt đến thời gian/khoảng cách bằng 0. Ngoài ra, các bản cập nhật -navigator:didUpdateRemainingTime và -navigator:didUpdateRemainingDistance sẽ tiếp tục. Thiết lập rõ ràng guidanceActive thành KHÔNG để dừng hướng dẫn và cập nhật thời gian/khoảng cách còn lại.

Nếu CÓ, guidanceActive sẽ tự động được đặt thành KHÔNG khi đến nơi.

Giá trị mặc định là YES.

– (NSTimeInterval) timeUpdateThreshold [read, write, assign]

Sự thay đổi tối thiểu về thời gian ước tính tới đích đến tiếp theo sẽ kích hoạt phương thức navigator:didUpdateRemainingTime: được gọi.

Nếu bạn đặt giá trị này thành NSTimeIntervalMax, thì các lệnh gọi lại cập nhật thời gian sẽ bị tắt. Nếu bạn đặt giá trị này thành giá trị âm thì ngưỡng mặc định là 1 giây sẽ được sử dụng. Mặc định là 1 giây.

Lưu ý:
Giá trị này sẽ bị bỏ qua nếu không có trình nghe nào triển khai navigator:didUpdateRemainingTime:.
– (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

Thay đổi tối thiểu về khoảng cách ước tính tới đích đến tiếp theo sẽ kích hoạt phương thức navigator:didUpdateRemainingDistance: được gọi.

Nếu giá trị này được đặt thành CLLocationDistanceMax, thì lệnh gọi lại cập nhật khoảng cách sẽ bị tắt. Nếu bạn đặt giá trị này thành giá trị âm, thì ngưỡng mặc định là 1 định mức sẽ được sử dụng. Giá trị mặc định là 1 mét.

Lưu ý:
Giá trị này sẽ bị bỏ qua nếu không có trình nghe nào triển khai navigator:didUpdateRemainingDistance:.
– (NSTimeInterval) timeToNextDestination [read, assign]

Trả về thời gian ước tính cho tới điểm đến tiếp theo.

Thông tin này sẽ được cập nhật dựa trên vị trí hiện tại của thiết bị trong khi hướng dẫn đang hoạt động.

Trả về CLTimeIntervalMax nếu không có tuyến nào.

– (CLLocationDistance) distanceToNextDestination [read, assign]

Trả về quãng đường ước tính đến điểm đến tiếp theo.

Thông tin này sẽ được cập nhật dựa trên vị trí hiện tại của thiết bị trong khi hướng dẫn đang hoạt động.

Trả về CLLocationDistanceMax nếu không có tuyến đường nào.

– (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

Trả về danh mục độ trễ cho điểm đến tiếp theo.

Thông tin này sẽ được cập nhật dựa trên vị trí hiện tại của thiết bị trong khi hướng dẫn đang hoạt động.

Trả về GMSNavigationDelayCategoryNoData nếu không có tuyến đường nào hoặc không có dữ liệu lưu lượng truy cập.

– (GMSRouteLeg*) currentRouteLeg [read, assign]

Giai đoạn hiện tại của hành trình.

GMSRouteLeg này sẽ có vị trí bắt đầu là vị trí đã biết (bắt đầu chụp đường) gần đây nhất của thiết bị.

– (NSArray<GMSRouteLeg *>*) routeLegs [read, assign]

Một mảng các chân tuyến đường, trong đó mỗi chân tương ứng với một đích đến đã được thiết lập.

– (GMSPath*) traveledPath [read, assign]

Đường đi mà thiết bị đã đi kể từ lần gần đây nhất hướng dẫnActive được đặt thành YES.

Đường dẫn này trống nếu hướng dẫn chưa từng bắt đầu. Đường dẫn bao gồm vị trí bị chặn do GMSRoadSnappedLocationProvider trả về nhưng được đơn giản hoá để xoá các điểm thừa. Ví dụ: chuyển các điểm thẳng hàng liên tiếp thành một đoạn thẳng.

– (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

Xác định xem có cần bật hướng dẫn bằng giọng nói cho cảnh báo giao thông và cảnh báo từng chặng hay không.

Giá trị mặc định là GMSNavigationNavigationGuideAlertsAndGuide.

– (GMSVoiceGuidanceAudioDeviceType) audioDeviceType [read, write, assign]

Xác định xem có thể phát hướng dẫn bằng giọng nói nào trên thiết bị âm thanh.

Giá trị mặc định là GMSVoiceGuideAudioDeviceTypeBluetooth.

– (BOOL) vibrationEnabled [read, write, assign]

Xác định xem thiết bị có phải rung khi phát cảnh báo bằng giọng nói hay không.

– (BOOL) sendsBackgroundNotifications [read, write, assign]

Xác định xem UILocalNotifications chứa thông tin hướng dẫn có được hiển thị khi ứng dụng chạy ở chế độ nền hay không.

Giá trị mặc định là YES.

Chế độ chiếu sáng được đề xuất, dựa trên thời gian trong ngày và vị trí của thiết bị.

– (BOOL) shouldDisplayPrompts [read, write, assign]

Xác định xem có hiển thị lời nhắc về giao thông, tuyến đường tốt hơn và sự cố hay không.

Giá trị mặc định là YES.

– (GMSNavigationSpeedAlertOptions*) speedAlertOptions [read, write, assign]

GMSNavigationSpeedAlertOptions để tuỳ chỉnh các ngưỡng kích hoạt cho GMSNavigationSpeedAlertSeverity.

Bạn có thể sử dụng thuộc tính này để tuỳ chỉnh ngưỡng kích hoạt cảnh báo tốc độ (tính theo tỷ lệ phần trăm) cho cả cảnh báo nhỏ và cảnh báo chính. Bạn cũng có thể sử dụng phương pháp này để tuỳ chỉnh thời gian dựa trên ngưỡng kích hoạt cho cảnh báo tốc độ chính.

Nếu đặt bằng không, bạn sẽ không nhận được bất kỳ dữ liệu nguồn cấp dữ liệu tăng tốc nào và cảnh báo tốc độ mặc định của NavSDK sẽ hiển thị: cảnh báo tốc độ hiển thị văn bản màu đỏ khi vượt quá 5 dặm/giờ hay 10 km/giờ, đồng thời hiển thị văn bản màu trắng và nền màu đỏ khi tăng tốc hơn 10 dặm/giờ hay 20 km/giờ.