导航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 truckbottombuttontop;
使用以下属性控制顶部区域高度。 | 使用以下属性控制底部自定义区域高度。 | ||
navilocationoffset=0是默认高度。 | 使用以下属性获取标红视图的y坐标值。 |
这部分是导航中的一些功能设置和开关,具体包括如下:
/// 日夜模式@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;
上一篇
下一篇
本篇文章对您是否有帮助?