所谓实时导航,是指通过持续的定位信息输入来驱动实际的导航过程。路线规划成功后,就可以进入实时导航。下图是导航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:noextrainfo: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的根视图控制器。
上一篇
下一篇
本篇文章对您是否有帮助?