导航数据
【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");
}
