导航SDK BNStrategyManagerProtocol提供了丰富的配置接口,可以设置算路、导航中的部分功能,具体如下:
支持设置驾车、货车、摩托车车牌,需要在算路前设置。
/*** 设置驾车车牌(BNTruckCarTypeCommon类型)* @param carNumber 车牌号, 格式如:"粤B00000"*/- (void)syncCarNumber:(NSString *)carNumber;/*** 设置驾车车牌(支持普通和新能源)* @param carNumber 车牌号, 格式如:"粤B00000"* @param type 车牌号, 格式如:"BNTruckCarTypeCommon、BNTruckCarTypeEnegry*/- (void)syncCarNumber:(NSString *)carNumber carType:(BNTruckCarType)type;/*** 设置驾车车牌(支持普通和新能源)* @param carModel 车牌model*/- (void)syncCarModel:(BMCarInfoModel *)carModel;
- (void)setCarPlateInfo {//设置车牌号码 两种都支持 默认普通车/* 方式1 [BNaviService_Strategy syncCarNumber:@"粤B86544"];*//*方式2 [BNaviService_Strategy syncCarNumber:@"粤B86544" carType:BNTruckCarTypeCommon];*/BMCarInfoModel *carInfo = [[BMCarInfoModel alloc] init];carInfo.carNumber = @"粤B86544";carInfo.truckCarType = BNTruckCarTypeCommon;[BNaviService_Strategy syncCarModel:carInfo];}
/*** 设置货车信息*/- (void)syncTruckInfoModel:(BMTruckInfoModel *)model;
// 设置货车信息- (void)setTruckInfo {BMTruckInfoModel *model = [[BMTruckInfoModel alloc] init];// 货车类型的车辆牌照的类型model.truckCarType = BNTruckCarTypeCommon;model.truckType = BMTruckTypeMicro; // 货车类型的车辆牌照的类型model.powerType = BMTruckPowerTypeGasoline; // 动力类型model.carNumber = @"京A66666"; // 车牌号 例如:京B88888model.emission = 1 * 1000; // 排放标准 例如:国五 emission = 5model.weight = 2.565 * 1000; // 车重单位kg 0~100吨 例如:1吨 weight = 1 * 1000model.load = 1.73 * 1000; // 载重单位kg 0~100吨 例如:1吨 load = 1 * 1000model.length = 6 * 1000; // 车长单位mm 0~25米 例如:1米 length = 1 * 1000model.width = 2.15 * 1000; // 车宽单位mm 0~5米 例如:1米 width = 1 * 1000model.height = 3.5 * 1000; // 车高单位mm 0~10米 例如:1米 height = 1 * 1000model.axleNumber = 2; // 轴数 例如 3轴 axleNumber = 3;model.plateColor = BNTruckPlateColorGreen; // 车牌颜色model.axleWeight = 2 * 1000; // 轴重单位kg 0~100吨 例如:1吨 weight = 1 * 1000model.oilCost = 13 * 1000; // 百公里油耗 毫升 0~150L 例如:百公里耗油20升 oilCost = 20 * 1000[BNaviService_Strategy syncTruckInfoModel:model];}
/// 设置摩托车车牌相关信息,不持久化保存/// @param model 摩托车车牌- (void)syncMotorInfoModel:(BNMotorInfoModel *)model;
- (void)setMotorInfoModel {BNMotorInfoModel *model = [[BNMotorInfoModel alloc] init];model.displacement = 5343; //排放量model.plate = @"粤BH3843"; //车牌号码,粤BH4533model.plateType = BNMotorPlateType_Yellow; //车牌类型model.powerType = BNMotorPowerType_Oil; //能耗类型[BNaviService_Strategy syncMotorInfoModel:model];}
/*** 获取驾车车牌(BNTruckCarTypeCommon类型)*/- (NSString *)getCarNumber;/*** 获取驾车车牌*/- (BMCarInfoModel *)getCarModel;
[BNaviService_Strategy getCarNumber];[BNaviService_Strategy getCarModel];
/*** 获取货车信息*/- (BMTruckInfoModel *)getTruckInfoModel;
[BNaviService_Strategy getTruckInfoModel];
///是否开启多路线,需要在算路前设,默认YES@property (nonatomic, assign) BOOL enableMultiRoute;
[BNaviService_Strategy setEnableMultiRoute:YES];
///设置偏航后回到用户指定路线导航 /** 货车SDK偏航路线模式0 默认策略,1 偏航路线api提供,2 偏航回进入导航时选的路线*/@property (nonatomic, assign) int yawSpecifiedRouteNavigation;
BNaviService_Strategy.yawSpecifiedRouteNavigation = 1;
途经点算路偏好支持一次算路中,可以对本次算路的每个途经点设置算路偏好。
例如:算一条路线,分别从A->B->C->D->E,可以设置从A->B,B->C,C->D,D->E分别使用不同的算路偏好。
//是否使用途经点偏好算路 默认 是NO。//如开启途经点算路。起点可以添加偏好设置。//路线偏好传入值为无效。起点没有设置偏好,默认设置智能推荐//只有设置为YES 才启用途经点算路。只针对本次导航生效。@property (nonatomic, assign) BOOL multiplePreferenceEnable;
BNaviService_Strategy.multiplePreferenceEnable = YES;
///退出导航的时候 设置是否 销毁TTS 默认YES。设置为NO TTS会 占用部分内存不释放。需要开发者自己手动释放内存@property (nonatomic, assign) BOOL exitNaviDestroyTTS;
//是否使用iOS 系统的TTS库,默认为NO,如果设置为YES,可以去掉导航SDK自带的TTS库@property (nonatomic, assign) BOOL useSystemTTS;
货车、摩托车、驾车都支持自定义UI,涉及的属性如下。
/// 底部工具栏 和 左右上报按钮 中间的间隙, 默认0@property (nonatomic, assign) CGFloat toolBarViewTopSpace;/// 底部需要预留的高度, 用于填充自身控件默认0@property (nonatomic, assign) CGFloat bottomButtonHeight;/// 车标偏移量@property (nonatomic, assign) CGFloat naviLocationOffset;/// 驾车 - 底部工具栏的Y值@property (nonatomic, assign, readonly) CGFloat carBottomButtonTop;
使用以下属性控制顶部区域高度。 | 使用以下属性控制底部自定义区域高度。 | ||
naviLocationOffset=0是默认高度。 | 使用以下属性获取标红视图的Y坐标值。 |
这部分是导航中的一些功能设置和开关,具体包括如下:
/// 停车场推送@property (nonatomic, assign) BOOL parkInfo;/// 日夜模式@property (nonatomic, assign) BNDayNight_CFG_Type dayNightType;/// 实际的日夜模式 (日 or 夜)@property (nonatomic, assign) BNDayNight_Type realDayNightType;;/// 播报模式@property (nonatomic, assign) BN_Speak_Mode_Enum speakMode;/// 是否显示实景放大图@property (assign, nonatomic) BOOL showLiveExpandRoadMap;/// 显示智能比例尺开关@property (nonatomic, assign) BOOL autoLevelShow;/// 显示到终点红线开关@property (nonatomic, assign) BOOL redLineShow;/// 小窗@property (nonatomic, assign) BOOL showMapTinyView;/// 是否开启多路线,需要在算路前设,默认YES@property (nonatomic, assign) BOOL enableMultiRoute;/// 是否支持更多设置功能,默认YES@property (nonatomic, assign) BOOL supportMoreSettings;/// 进入导航页面是否需要弹“已连接蓝牙...”toast,默认YES,使用内部TTS播报时有效,否则返回NO@property (nonatomic, assign) BOOL showBluetoothToast;/// 是否支持蓝牙设置功能,默认YES,使用内部TTS播报时有效,否则返回NO@property (nonatomic, assign) BOOL supportBluetoothSettings;///二期新增一些可配置项/// 是否显示当前路名@property (nonatomic, assign) BOOL showCurrentRoadName;/// 是否显示车道线@property (nonatomic, assign) BOOL showLanesView;/// 是否显示区间测速@property (nonatomic, assign) BOOL showIntervalSpeedView;/// 是否显示高速信息面板@property (nonatomic, assign) BOOL showHighwayInfoPanel;/// 是否显示出口方向面板@property (nonatomic, assign) BOOL showExitDirectionPanel;/// 货车限行提示view@property (nonatomic, assign) BOOL supportTruckRestrictionView;#pragma mark simulator/// 模拟器速度控制按钮@property (nonatomic, assign) BOOL supportSimulatorSpeedControl;/// 模拟器暂停按钮@property (nonatomic, assign) BOOL supportSimulatorPauseButton;/// 模拟器路况条(barchartView)@property (nonatomic, assign) BOOL supportRoadConditionBar;/// 全览按钮@property (nonatomic, assign) BOOL supportViewAllButton __deprecated_msg("废弃");/// 底部工具栏 和 左右上报按钮 中间的间隙, 默认0@property (nonatomic, assign) CGFloat toolBarViewTopSpace;/// 底部需要预留的高度, 用于填充自身控件默认0@property (nonatomic, assign) CGFloat bottomButtonHeight;/// 底部工具栏的Y值@property (nonatomic, assign, readonly) CGFloat carBottomButtonTop;/// 车标偏移量@property (nonatomic, assign) CGFloat naviLocationOffset;///退出导航的时候 设置是否 销毁TTS 默认YES。设置为NO TTS会 占用部分内存不释放。需要开发者自己手动释放内存@property (nonatomic, assign) BOOL exitNaviDestroyTTS;//是否使用iOS 系统的TTS库,默认为NO,如果设置为YES,可以去掉导航SDK自带的TTS库@property (nonatomic, assign) BOOL useSystemTTS;///// 是否显示通知型消息@property (nonatomic, assign) BOOL supportNoticeMessage;/////// 是否显示干预性消息@property (nonatomic, assign) BOOL supportInterveneMessage;//是否使用途经点偏好算路 默认 是NO。//如开启途经点算路。起点可以添加偏好设置。//路线偏好传入值为无效。起点没有设置偏好,默认设置智能推荐//只有设置为YES 才启用途经点算路。只针对本次导航生效。@property (nonatomic, assign) BOOL multiplePreferenceEnable;///设置偏航后回到用户指定路线导航 /** 货车SDK偏航路线模式0 默认策略,1 偏航路线api提供,2 偏航回进入导航时选的路线*/@property (nonatomic, assign) int yawSpecifiedRouteNavigation;//是否允许点击路况条。YES-允许,NO-不允许,默认允许@property (nonatomic, assign) BOOL tapBarChartViewEnable;//能避开拥堵时路况条是否显示“避开”。YES-显示。NO-不显示。默认显示。@property (nonatomic, assign) BOOL showAvoidJamEnable;///是否支持 后台模拟导航。/// 默认不支持。/// 进导航前调用。@property (nonatomic, assign) BOOL supportBackgroundSimulatedNavi;
上一篇
下一篇
本篇文章对您是否有帮助?