所谓实时导航,是指通过持续的定位信息输入来驱动实际的导航过程。路线规划成功后,就可以进入实时导航。下图是导航SDK提供的默认的驾车导航示意图。
这个功能的相关接口和回调在BNUIManagerProtocol.h中。
实现实时导航的步骤如下:
具体算路参考驾车/货车。
在路线规划成功的回调函数中,开启实时导航。
[BNaviService_UI showPage:BNaviUI_NormalNavi delegate:self extParams:@{BNaviUI_NormalNavi_TypeKey: @(BN_NaviTypeReal)];
模拟导航,仅用于室内模拟使用,目的是让您对导航功能有一些更直观的了解,比如预先了解既定路线的一些情况,如路况信息、电子眼信息等。注意:不要将模拟导航作为实际导航展示。 模拟导航的实现步骤与实时导航基本一致,
[BNaviService_UI showPage:BNaviUI_NormalNavi delegate:self extParams:@{BNaviUI_NormalNavi_TypeKey: @(BN_NaviTypeSimulator)}];
在导航中如果需要强制退出导航,可以使用以下接口:
[BNaviService_UI exitPage:EN_BNavi_ExitAllVC animated:NO extraInfo:nil];
和进入退出导航相关的回调如下:
/*** 导航页面的调起controller* 可不实现,默认为最上层的controller*/- (id)naviPresentedViewController;/*** 即将退出UI的回调** @param pageType UI类型* @param extraInfo 额外参数*/- (void)willExitPage:(BNaviUIType)pageType extraInfo:(NSDictionary*)extraInfo;/*** 退出UI的回调** @param pageType UI类型* @param extraInfo 额外参数*/- (void)onExitPage:(BNaviUIType)pageType extraInfo:(NSDictionary*)extraInfo;/// 专业导航中暴露出来的View- (void)onHandleNaviViewDidLoad:(UIView*)naviView;
其中- (id)naviPresentedViewController可以自定义调起导航控制器的ViewController,默认使用appdelegate中window的根视图控制器。
上一篇
下一篇
本篇文章对您是否有帮助?