浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
高级功能
下载开发文档

导航SDK BNStrategyManagerProtocol提供了丰富的配置接口,可以设置算路、导航中的部分功能,具体如下:

车牌相关

支持设置驾车、货车、摩托车车牌,需要在算路前设置。

1. 设置驾车车牌(普通车牌+新能源车牌)
/**
* 设置驾车车牌(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];
}
2. 设置货车车牌
/**
* 设置货车信息
*/
- (void)syncTruckInfoModel:(BMTruckInfoModel *)model;

// 设置货车信息
- (void)setTruckInfo {
BMTruckInfoModel *model = [[BMTruckInfoModel alloc] init];
// 货车类型的车辆牌照的类型
model.truckCarType = BNTruckCarTypeCommon;
model.truckType = BMTruckTypeMicro; // 货车类型的车辆牌照的类型
model.powerType = BMTruckPowerTypeGasoline; // 动力类型
model.carNumber = @"京A66666"; // 车牌号 例如:京B88888
model.emission = 1 * 1000; // 排放标准 例如:国五 emission = 5
model.weight = 2.565 * 1000; // 车重单位kg 0~100吨 例如:1吨 weight = 1 * 1000
model.load = 1.73 * 1000; // 载重单位kg 0~100吨 例如:1吨 load = 1 * 1000
model.length = 6 * 1000; // 车长单位mm 0~25米 例如:1米 length = 1 * 1000
model.width = 2.15 * 1000; // 车宽单位mm 0~5米 例如:1米 width = 1 * 1000
model.height = 3.5 * 1000; // 车高单位mm 0~10米 例如:1米 height = 1 * 1000
model.axleNumber = 2; // 轴数 例如 3轴 axleNumber = 3;
model.plateColor = BNTruckPlateColorGreen; // 车牌颜色
model.axleWeight = 2 * 1000; // 轴重单位kg 0~100吨 例如:1吨 weight = 1 * 1000
model.oilCost = 13 * 1000; // 百公里油耗 毫升 0~150L 例如:百公里耗油20升 oilCost = 20 * 1000
[BNaviService_Strategy syncTruckInfoModel:model];
}
3. 设置摩托车车牌
/// 设置摩托车车牌相关信息,不持久化保存
/// @param model 摩托车车牌
- (void)syncMotorInfoModel:(BNMotorInfoModel *)model;

- (void)setMotorInfoModel {
BNMotorInfoModel *model = [[BNMotorInfoModel alloc] init];
model.displacement = 5343; //排放量
model.plate = @"粤BH3843"; //车牌号码,粤BH4533
model.plateType = BNMotorPlateType_Yellow; //车牌类型
model.powerType = BNMotorPowerType_Oil; //能耗类型
[BNaviService_Strategy syncMotorInfoModel:model];
}
4. 获取驾车车牌
/**
* 获取驾车车牌(BNTruckCarTypeCommon类型)
*/
- (NSString *)getCarNumber;
/**
* 获取驾车车牌
*/
- (BMCarInfoModel *)getCarModel;

[BNaviService_Strategy getCarNumber];
[BNaviService_Strategy getCarModel];
5. 获取货车车牌
/**
* 获取货车信息
*/
- (BMTruckInfoModel *)getTruckInfoModel;

[BNaviService_Strategy getTruckInfoModel];
路线相关
1. 设置多路线导航模式。算路完成后默认可能会出多条路线,如果不需要多条路线,可以设置该值为NO。
///是否开启多路线,需要在算路前设,默认YES
@property (nonatomic, assign) BOOL enableMultiRoute;

[BNaviService_Strategy setEnableMultiRoute:YES];
2. 设置偏航回到指定路线(只支持货车导航)
///设置偏航后回到用户指定路线导航 /** 货车SDK偏航路线模式0 默认策略,1 偏航路线api提供,2 偏航回进入导航时选的路线*/
@property (nonatomic, assign) int yawSpecifiedRouteNavigation;

BNaviService_Strategy.yawSpecifiedRouteNavigation = 1;
3. 设置是否使用途经点算路偏好

途经点算路偏好支持一次算路中,可以对本次算路的每个途经点设置算路偏好。

例如:算一条路线,分别从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相关
1. 退出导航是否释放销毁TTS
///退出导航的时候 设置是否 销毁TTS 默认YES。设置为NO TTS会 占用部分内存不释放。需要开发者自己手动释放内存
@property (nonatomic, assign) BOOL exitNaviDestroyTTS;
2. 是否使用iOS系统自定义的TTS能力播报
//是否使用iOS 系统的TTS库,默认为NO,如果设置为YES,可以去掉导航SDK自带的TTS库
@property (nonatomic, assign) BOOL useSystemTTS;
自定义UI

只有货车/摩托车支持自定义UI,涉及的属性如下。

/// 底部工具栏 和 左右上报按钮 中间的间隙, 默认0
@property (nonatomic, assign) CGFloat toolBarViewTopSpace;
/// 底部需要预留的高度, 用于填充自身控件默认0
@property (nonatomic, assign) CGFloat bottomButtonHeight;
/// 车标偏移量
@property (nonatomic, assign) CGFloat naviLocationOffset;
/// 货车 - 底部工具栏的Y值
@property (nonatomic, assign, readonly) CGFloat truckBottomButtonTop;

senior1.pngsenior2.png

使用以下属性控制顶部区域高度。
toolBarViewTopSpace

使用以下属性控制底部自定义区域高度。
bottomButtonHeight

senior3.pngsenior4.png

naviLocationOffset=0是默认高度。
naviLocationOffset 为正数车标往上。
naviLocationOffset为负数车标往下。

使用以下属性获取标红视图的Y坐标值。
truckBottomButtonTop

导航中设置项

这部分是导航中的一些功能设置和开关,具体包括如下:

/// 日夜模式
@property (nonatomic, assign) BNDayNight_CFG_Type dayNightType;
/// 播报模式
@property (nonatomic, assign) BN_Speak_Mode_Enum speakMode;
/// 诱导面板模式,仅驾车支持
@property (nonatomic, assign) BN_Simple_Guide_Mode simpleGuideMode;
/// 是否显示实景放大图
@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 supportMoreSettings;
/// 导航设置面板是否开放路线偏好功能入口,默认YES,仅货车/摩托车支持
@property (nonatomic, assign) BOOL supportPreference;
/// 导航设置面板是否开放沿途检索功能入口,默认YES,仅货车支持
@property (nonatomic, assign) BOOL supportPoiSearch;
/// 进入导航页面是否需要弹“已连接蓝牙...”toast,默认YES,使用内部TTS播报时有效,否则返回NO
@property (nonatomic, assign) BOOL showBluetoothToast;
/// 是否支持蓝牙设置功能,默认YES,使用内部TTS播报时有效,否则返回NO
@property (nonatomic, assign) BOOL supportBluetoothSettings;
/// 是否支持UGC上报功能,默认YES,仅货车支持
@property (nonatomic, assign) BOOL supportUGCReportButton;
/// 是否显示区间测速
@property (nonatomic, assign) BOOL showIntervalSpeedView;
/// 是否显示高速信息面板
@property (nonatomic, assign) BOOL showHighwayInfoPanel;
/// 是否显示主辅路切换
@property (nonatomic, assign) BOOL showMainAuxiliaryButton;
/// 是否显示路线刷新
@property (nonatomic, assign) BOOL showRrefreshRouteButton;
/// 是否显示缩放按钮
@property (nonatomic, assign) BOOL showZoomButton;
/// 货车限行提示view
@property (nonatomic, assign) BOOL supportTruckRestrictionView;
#pragma mark simulator
/// 模拟器速度控制按钮
@property (nonatomic, assign) BOOL supportSimulatorSpeedControl;
/// 模拟器暂停按钮
@property (nonatomic, assign) BOOL supportSimulatorPauseButton;
/// 全览按钮
@property (nonatomic, assign) BOOL supportViewAllButton;
///是否显示通知型消息
@property (nonatomic, assign) BOOL supportNoticeMessage;
///是否显示干预性消息
@property (nonatomic, assign) BOOL supportInterveneMessage;
///是否允许点击路况条。YES-允许,NO-不允许,默认允许
@property (nonatomic, assign) BOOL tapBarChartViewEnable;
///能避开拥堵时路况条是否显示“避开”。YES-显示。NO-不显示。默认显示。
@property (nonatomic, assign) BOOL showAvoidJamEnable;

上一篇

基础功能

下一篇

驾车路线规划

本篇文章对您是否有帮助?