GMSNavigationServices 类参考文档

GMSNavigationServices 类参考

概览

此类服务可用于控制通过移动设备访问 Google Maps Navigation SDK for iOS。

静态公开成员函数

(BOOL)+ areTermsAndConditionsAccepted
 对于 5.5.0 及更高版本,指明用户是否已确认条款及条件。
(void) + showTermsAndConditionsDialogIfNeededWithOptions:callback:
 如果应用用户尚未接受 Navigation SDK 条款及条件,则显示模态对话框。
(void) + showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback:
 已弃用。
(void) + showTermsAndConditionsDialogIfNeededWithTitle:companyName:callback:
 已弃用。
(void) + showTermsAndConditionsDialogIfNeededWithCompanyName:callback
 已弃用。
(void) + resetTermsAndConditionsAccepted
 将条款及条件重置为未接受状态。
(void) + setAbnormalTerminationReportingEnabled:
 启用对异常 SDK 终止(例如应用在 SDK 仍在运行时时发生崩溃)的报告。
(可为 null 的 GMSNavigationSession *)+ createNavigationSession
 创建一个未与地图视图相关联的新导航会话。
(NSString *) + openSourceLicenseInfo
 返回 iOS 版 Google Navigation SDK 的开源软件许可信息。
(NSString *) + navSDKVersion
 返回此版本的 Navigation SDK for iOS 的版本。

属性

BOOL shouldOnlyShowDriverAwarenesssDisclaimer
 已弃用。

(请注意,这些并非成员函数。)

类型定义符 void(^GMSTermsResponseCallback(接受 BOOL 条款)
 在用户接受或拒绝条款及条件时调用。

成员函数文档

对于 5.5.0 及更高版本,指明用户是否已确认条款及条件。

对于早期版本,指示用户是否已接受条款及条件。

如果为 false,服务将禁止访问导航界面。

+ (void) showTermsAndConditionsDialogIfNeededWithOptions: (GMSNavigationTermsAndConditionsOptions *) options
回调: (GMSTermsResponseCallback) 回调函数

如果应用用户尚未接受 Navigation SDK 条款及条件,则显示模态对话框。

回调将随用户的响应一起发送到主队列中。

如果用户已接受条款及条件,系统不会显示任何对话框,并且回调会包含 termsAccepted = YES

参数:
选项GMSNavigationTermsAndConditionsOptions 对象,用于修改条款及条件对话框的外观。如需了解详情,请参阅 @ GMSNavigationTermsAndConditionsOptions
callback块随用户的响应一起在主队列中发送。
+ (void) showTermsAndConditionsDialogIfNeededWithTitle: (可为 null 的 NSString *) title
公司名称: (NSString *)  companyName
UIParams: (可为 null 的 GMSNavigationTermsDialogUIParams *) UIParams
回调: (GMSTermsResponseCallback) 回调函数

已弃用。

请改用 showTermsAndConditionsDialogIfNeededWithOptions:callback:

如果应用用户尚未接受 Navigation SDK 条款及条件,则显示模态对话框。回调将随用户的响应一起发送到主队列中。

如果用户已接受条款及条件,系统不会显示任何对话框,并且回调会包含 termsAccepted = YES

companyName 参数设置为您的公司。公司名称会显示在条款及条件文本中。这段文字向应用用户解释,Google 可能会与这家公司分享位置数据,以便改善运营。

从主线程调用此方法。多次调用而不等待响应不会产生任何效果。

参数:
标题对话框的标题。如果 title 为 nil,则对话框使用默认标题。
注意
对于自定义商品名,此方法的调用方需要本地化此参数。服务会自动本地化默认标题。
参数:
companyName发布应用的公司的名称,该公司与 Google 就位置数据共享协议签订了协议。
UIParams用于定义对话框外观和风格的参数。如果为 nil,则对话框使用默认外观和风格。
callback块随用户的响应一起在主队列中发送。
+ (void) showTermsAndConditionsDialogIfNeededWithTitle: (可为 null 的 NSString *) title
公司名称: (NSString *)  companyName
回调: (GMSTermsResponseCallback) 回调函数

已弃用。

请改用 showTermsAndConditionsDialogIfNeededWithOptions:callback:

显示使用默认外观和风格的条款及条件对话框。

如需了解详情(包括参数 companyNamecallback 的说明),请参阅 +showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback:。

+ (void) showTermsAndConditionsDialogIfNeededWithCompanyName: (NSString *)  companyName
回调: (GMSTermsResponseCallback) 回调函数

已弃用。

请改用 showTermsAndConditionsDialogIfNeededWithOptions:callback:

使用默认标题和外观和风格显示条款及条件对话框。

如需了解详情(包括参数 companyNamecallback 的说明),请参阅 +showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback:。

将条款及条件重置为未接受状态。

调用此方法后,areTermsAndConditionsAccepted 会返回 NO,并且 #if SDK_BUILD_CONFIG(EnableNavSDKSkipToSOptions) showTermsAndConditionsDialogIfNeededWithOptions:callback: 和 #endif showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 会显示条款及条件对话框。任何现有GMSMapView实例的navigationEnabled属性都将重置为 NO。

+ (void) setAbnormalTerminationReportingEnabled: (BOOL) abnormalTerminationReportingEnabled

启用对异常 SDK 终止(例如应用在 SDK 仍在运行时时发生崩溃)的报告。

这样,Google 便可以在适用时提高 SDK 的稳定性。默认值为 YES,在初始化服务实例之前必须更新该值。

此属性必须从主线程设置。

创建一个未与地图视图相关联的新导航会话。

这会分配并返回新的导航会话。可以在会话中设置航点和选项,并且可以向其中添加监听器。

如果尚未接受条款及条件,则此方法将返回 nil。这就是此方法会返回 nil 的唯一原因。

您可以在创建地图后,使用 GMSMapView 方法 -enableNavigationWithSession 将此会话与地图相关联:会话是消耗内存、数据和电量的重量级对象,因此只有在持续导航会话是应用的主要功能时才应分配会话。出于同样的原因,如果您的应用在建立导航会话后创建导航界面,请确保使用现有导航会话启动导航界面,而不是创建新的导航会话。

导航会话的生命周期由常规 Objective-C 语义控制。因此,此例程的调用方应保存对会话的引用。

+ (NSString *) openSourceLicenseInfo

返回 iOS 版 Google Navigation SDK 的开源软件许可信息。

此信息必须在您的应用中提供。

+ (NSString *) navSDKVersion

返回此版本的 Navigation SDK for iOS 的版本。


- (typedef void(^ GMSTermsResponseCallback)(BOOL termsAccepted) [related]

在用户接受或拒绝条款及条件时调用。

对于 5.5.0 及更高版本,termsAccepted 将始终为 YES。


属性说明

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

已弃用。

请改为将 GMSNavigationTermsAndConditionsOptions API 与 showTermsAndConditionsDialogIfNeededWithOptions:callback: 搭配使用。

指明 showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 是否应仅显示驾驶员认知免责声明。默认值为 NO,除了 Navigation SDK 提供的默认条款和服务之外,系统还会显示免责声明。设置为 YES 可指示应仅显示驾驶员认知免责声明。

如果项目必须显示“条款及条件”对话框,则将此变量设置为 YES 不会产生任何影响。此外,getter 方法始终返回 NO

必须在主线程中设置或读取此属性。

注意
此 API 已弃用。请改用GMSNavigationTermsAndConditionsOptions API。