导航数据
【Navinfo Navigation SDK for iOS】提供相应的接口返回导航数据,具体数据包括:当前车的位置(经纬度),当前车头所朝方向,当前车速,当前道路名,当前路线的长度,路线剩余时间,当前转向标ID,建议的地图显示比例尺等数据,具体数据请参考【Navinfo Navigation SDK for iOS】接口说明文档。
(完整代码详见 SDKDemo 工程的 MBNaviController.m) @property (nonatomic ,strong) MBNaviSession*naviSession; // 初始化MBNaviSession naviSession = [MBNaviSession sharedInstance]; // 初始化MBNaviSessionParams MBNaviSessionParams* params = [MBNaviSessionParams defaultParams]; // 是否算路后自动开始导航[默认开启] params.autoTakeRoute = NO; // 是否启动路口放大图。默认关闭 params.enableOnlineJunctionView = YES; // 设置导航相关参数 naviSession.params = params; naviSession.delegate = self; naviSession.enableSound = YES; // 设置详细播报模式(前方去往****) [naviSession setNaviStartVoiceMode:MBNaviSessionNaviStartVoiceMode_detailed]; // 开启摄像头播报 [naviSession setEnableCamera:YES]; // 设置在线/离线算路 [naviSession setNavPreference:MBDataPreference_preferOnline]; // 设置电子眼播报模式 [naviSession setCameraMode:MBCamerFilterMode_all]; // 设置语音播报模式 [naviSession setGuidanceMode:MBGuidanceMode_safe]; // 高速行程模块工作模式 [naviSession setHighwayGuidemode:MBHighwayGuideMode_complete]; // 设置导航 tmc 参数 MBTmcOptions options; // 算路间隔(毫秒) options.rerouteCheckInterval = 1000; // 路线颜色更新间隔(毫秒) options.routeColorUpdateInterval = 1000; // 是否开启 TMC options.enableTmcReroute = NO; // 设置TMC相关选项 [naviSession setTmcOptions:options]; // 采纳指定的路线,将其设为当前路线,routeBase,请参考9.1算路 [naviSession takeRoute:_routeBase]; // MBNaviSessionDelegate - (void)naviSessionTracking:(MBNaviSessionData *)sData { NSLog(@"当前车的位置:%d,%d",sData.carPos.x,sData.carPos.y); NSLog(@"当前车头朝向:%ld",(long)sData.carOri); NSLog(@"当前建议比例尺:%ld",(long)sData.suggestedMapScale); NSLog(@"是否有下一个转弯:%@,还有%ld米转弯",sData.hasTurn?@"是":@"没有",(long)sData.turnIconDistance); NSLog(@"当前转向标ID:%ld",(long)sData.turnIcon); NSLog(@"转弯之后的道路名称:%@",sData.nextRoadName); NSLog(@"当前所在道路名称:%@",sData.roadName); NSLog(@"\n"); }