专业导航中,通过BNaviModelDelegate中的接口实时透出导航中各种数据。
添加监听BNaviModelListener后,即可收到导航中各种实时数据的回调。
/*** 添加BNaviModel监听* @param listener 监听者*/- (void)addNaviModelListener:(id<BNaviModelDelegate>)listener;[[BNaviModel getInstance] addNaviModelListener:self];
2.1 诱导面板
诱导面板数据更新回调如下:
/*** 诱导面板UI数据**/- (void)onHandleNewSimpleGuideUIInfo:(BNGuideViewCombinationModel *)data;@interface BNGuideViewCombinationModel : NSObject/// 主诱导面板@property (nonatomic, strong) BNGuideViewMainModel *mainModel;/// 辅助面板@property (nonatomic, strong) BNGuideViewAssistModel *assistModel;@end
其中BNGuideViewMainModel是父类,回调中回传的是BNGuideViewDefaultMainModel和BNGuideViewExitMainModel,涉及的诱导面板model类如下:
/// 默认诱导主面板状态typedef NS_ENUM(NSInteger, BNGuideDefaultViewState) {BNGuideDefaultViewStateNormal, // 普通机动点BNGuideDefaultViewStateHighway, // 高速模式BNGuideDefaultViewStateFuzzy // 起点命中模糊诱导};// 道路类型typedef NS_ENUM(NSUInteger, BNGuideViewRoadType) {BNGuideViewRoadNormalType = 0,BNGuideViewRoadStraightType,BNGuideViewRoadVDRType};#pragma mark - 主诱导面板/**主诱导面板Model*/@interface BNGuideViewMainModel : NSObject/// 绑定的主诱导面板类型@property (nonatomic, copy) NSString *mainViewClass;/**6种模版1. icon+XXX公里+进入+XXX路2. icon+现在+进入+XXX路3. icon+XXX公里+出口+驶往+XXX方向4. icon+XXX公里+出口+进入+XXX路5. icon+沿+XXX路+XXX公里6. icon+XXX公里+出口+驶出+XXX主路*//// 转向标icon@property (nonatomic, copy) NSString *turnIconStr;/// 机动点剩余距离(XXX、现在)@property (nonatomic, copy) NSString *remainDistNumStr;/// 剩余距离单位(公里、米)@property (nonatomic, copy) NSString *remainDistUnitStr;/// 衔接词(进入、驶往、驶出)@property (nonatomic, copy) NSString *cohesiveWord;/// 出口(出口+id)@property (nonatomic, copy) NSString *exitInfo;/// 填充词(XXX方向、XXX路、XXX主路)@property (nonatomic, copy) NSString *supplementWord;/// 辅助词(方向、主路)@property (nonatomic, copy) NSString *assistWord;/// 机动点剩余距离(XXX)单位是 米。 原始的诱导距离数据。@property (nonatomic, assign) NSInteger remainDistNum;/// 诱导转向类型@property (nonatomic, assign) BNaviManeuver_Kind_Enum curTurnKind;/// 机动点剩余距离 转化后 单位是 公里@property (nonatomic, assign) CGFloat kmValue;/// 机动点剩余距离 转化后 单位是 米@property (nonatomic, assign) CGFloat mValue;///距离 整体描述@property (nonatomic, copy) NSString *distDescription;@end#pragma mark 无出口的诱导面板/**不带出口的主面板Model基类*/@interface BNGuideViewWithoutExitMainModel : BNGuideViewMainModel/// 状态@property (nonatomic, assign) BNGuideDefaultViewState state;/// 是否是车标自由态@property (nonatomic, assign) BOOL isCarFree;/// 是否需要loading@property (nonatomic, assign) BOOL isLoading;/// loading文案@property (nonatomic, copy) NSString *loadingText;/// 道路类型@property (nonatomic, assign) BNGuideViewRoadType roadType;/// fuzzy文案@property (nonatomic, copy) NSString *fuzzyText;@end/**默认诱导主面板Model*/@interface BNGuideViewDefaultMainModel : BNGuideViewWithoutExitMainModel@end#pragma mark 有出口的诱导面板/**有出口的诱导主面板Model*/@interface BNGuideViewExitMainModel : BNGuideViewMainModel@end#pragma mark - 辅助面板/**辅助面板Model*/@interface BNGuideViewAssistModel : NSObject@end/**随后辅助面板Model*/@interface BNGuideViewNextTurnAssistModel : BNGuideViewAssistModel/// 是否是高快速出口,是的话要变绿色,不是则为黑色@property (nonatomic, assign) BOOL highFastExitMode;@property (nonatomic, strong) BNGuideViewNextTurnContentAssistModel *contentAssistModel;@end/**None辅助面板*/@interface BNGuideViewNoneAssistModel : BNGuideViewAssistModel@end#pragma mark - 随后面板内容Model/**随后Style内容*/@interface BNGuideViewNextTurnContentAssistModel : NSObject/**随后有6种模版1. 随后+icon+驶往+XXX方向2. 随后+icon+进入+XXX路3. 随后+icon+到达+目的地4. 驶往+XXX+方向5. 进入+XXX6. 到达+目的地首先判断是否有方向数据,有方向则为第一种没有方向数据,则判断icon是否是到达目的地icon,是的话,则为第三种否则为第二种,第二种可能没有icon*//// 写死的“随后”@property (nonatomic, copy) NSString *nextTurnStr;/// icon@property (nonatomic, copy) NSString *nextTurnIconStr;/// 衔接词(驶往、进入、到达)@property (nonatomic, copy) NSString *cohesiveWord;/// 填充词(XXX方向、XXX路、目的地)@property (nonatomic, copy) NSString *supplementWord;/// 辅助词(方向、主路)@property (nonatomic, copy) NSString *assistWord;///诱导转向类型@property (nonatomic, assign) BNaviManeuver_Kind_Enum curTurnKind;@end
下面分别介绍这两个类下的诱导面板UI样式。
(1)BNGuideViewDefaultMainModel
诱导面板的UI主要是由面板状态(state)、道路类型(roadType)、是否车标自由(isCarFree)、是否加载中(isLoading)这几个字段的影响。具体如下:
UI样式 | 面板状态 state | 道路类型 roadType | 是否车标自由 isCarFree | 是否加载中 isLoading | 字段说明 |
---|---|---|---|---|---|
Normal | VDRType | NO | NO | 转向标:turnIconStr 衔接词(往):cohesiveWord 填充路名(海斯路):supplementWord | |
Normal | NormalType | NO | NO | 转向标:turnIconStr 距离(394 、现在):remainDistNumStr 距离单位(米):remainDistUnitStr 衔接词(进入):cohesiveWord 填充路名(科苑南路、海斯路):supplementWord | |
Highway | NormalType | NO | NO | 转向标:turnIconStr 距离:remainDistNumStr 距离单位:remainDistUnitStr 衔接词(去往):cohesiveWord 出口标签(出口758):exitInfo 路名(肇庆s4001):supplementWord | |
Highway | StraightType | NO | NO | 转向标:turnIconStr 距离:remainDistNumStr 距离单位:remainDistUnitStr 衔接词(进入):cohesiveWord 路名(广昆高速):supplementWord | |
Fuzzy | / | NO | NO | 转向标:turnIconStr 模糊诱导文案:fuzzyText | |
/ | / | NO | YES | 转向标:turnIconStr 文案:loadingText | |
/ | / | YES | NO | 文案: carFreeText |
(2)BNGuideViewExitMainModel
UI样式 | 面板状态 state | 道路类型 roadType | 字段说明 |
---|---|---|---|
/ | / | 转向标:turnIconStr 距离:remainDistNumStr 距离单位:remainDistUnitStr 衔接词(出往):cohesiveWord 出口标签(出口770):exitInfo 路名(梧州市区 G207):supplementWord |
2.2 放大图
放大图数据更新回调如下:
- (void)onHandleExpandMap:(UIView *)rasterExpandMap guideModel:(BNaviExpandGuideModel *)model;
其中rasterExpandMap为放大图视图,model为放大图诱导面板model。如果rasterExpandMap有值就表示需要展示放大图,没有就代表不需要展示。
BNaviExpandGuideModel包含以下字段:
@interface BNaviExpandGuideModel : NSObject///当前进度@property (nonatomic, assign) CGFloat progress;///剩余距离@property (nonatomic, strong) NSString *remainDist;/// 当前路口转向@property (nonatomic, strong) UIImage *midTurnImage;/// 当前路图片名称@property (nonatomic, copy) NSString *midTurnImageStr;//// 高速出口@property (nonatomic, copy) NSString *exitRoad;/// 往 xx路@property (nonatomic, copy) NSString *roadName;//随后@property (nonatomic, copy) NSString *nextTurnStr;/// 随后转向标@property (nonatomic, strong) UIImage *nextTurnImage;/// 随后转向标名称@property (nonatomic, copy) NSString *nextTurnImageStr;@end
放大图的诱导面板UI有以下三种形式,UI和各个字段说明如下:
UI样式 | 字段说明 |
---|---|
rasterExpandMap:放大图图片。当rasterExpandMap未空的时候 需要隐藏放大图。放大图表示是在顶部进度条下面部分。不包含放大图上车信。 progress:放大图顶部进度条进度。 remainDist:剩余距离。 midTurnImage:转向Image midTurnImageStr:转向的图片名称 exitRoad:出口标签 roadName: 往 xxx路 nextTurnStr:随后 nextTurnImage:随后UIImage nextTurnImageStr:随后转向的图片名称 |
2.3 车道线
车道线更新的回调如下:
- (void)onHandleNaviLaneInfoChanged:(BNaviLaneInfo *)param withLanesIcons:(NSArray<BNaviLanesIconModel*> *)array;
其中BNaviLaneInfo和BNaviLanesIconModel包含以下字段:
typedef enum _BNaviMessage_Action_Enum{BNaviMessage_Action_Invalid, // 无效值 - InvalidBNaviMessage_Action_Show, // 显示 - Show actionBNaviMessage_Action_Update, // 更新 - Update actionBNaviMessage_Action_Hide, // 隐藏 - Hide action}BNaviMessage_Action_Enum;/// 车道线信息@interface BNaviLaneInfo : BNNaviMsgBase@property (nonatomic, assign) BNaviMessage_Action_Enum eAction;@end@interface BNaviLanesIconModel : NSObject//可能是string,也可能是image// 当icontype是1、2 的时候icon是NSString类型。// iconType是3代表是高亮中间的间隔线,是空白的占位图UIImage类型。@property (nonatomic, strong) id icon;// 1:车道,2:车道间隔虚线,3:高亮车道间隔线;@property (nonatomic) NSInteger iconType;@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
param:用来判断是否要展示和隐藏。 array:数组里面存放的是BNaviLanesIconModel。 BNaviLanesIconModel:使用前需要判断iconType。 iconType为1 或者2 的时候。icon 的取值是String。图片的名称; iconType 为3:icon为UIImage 类型。用来做占位图用。 |
2.4 全程剩余时间、距离
全程剩余时间、距离更新回调如下:
/*** 剩余信息 + 到达* - Parameter remainInfo: eta数据*/- (void)onHandleRemainUIInfo:(BNaviEtaRemainUIInfo *)remainInfo;
BNaviEtaRemainUIInfo定义如下:
@interface BNaviEtaRemainUIInfo : NSObject@property(nonatomic,copy)NSString *remainDist; // 剩余距离 - remain distance@property(nonatomic,copy)NSString *remainTime; // 剩余时间 - remain time@property(nonatomic,copy)NSString *arrivalTime; ///到达时间@end
全程剩余时间、距离、到达时间更新如下:
/*** 处理剩余信息** @param remainInfo 剩余信息*/- (void)onHandleRemainInfo:(BNaviRemainInfo*)remainInfo;
BNaviRemainInfo 定义如下:
/// 转化后 距离 model@interface BNaviDistanceDescriptionModel : NSObject/// 单位是千米 1.1 表示 1.1km@property (nonatomic, assign) CGFloat kmValue;/// 单位是米 889 表示 889m@property (nonatomic, assign) CGFloat mValue;///距离 整体描述@property (nonatomic, copy) NSString *distanceDescription;@end/// 转化后 时间Model@interface BNaviTimeDescriptionModel : NSObject/// 小时@property (nonatomic, assign) int hour;/// 分钟@property (nonatomic, assign) int minute;///天的 类型@property (nonatomic, assign) BNaviDayType dayType;///时间整体描述@property (nonatomic, copy) NSString *timeDescription;@end/// 剩余信息(距离、时间)@interface BNaviRemainInfo : BNNaviMsgBase@property(nonatomic,assign)BNaviMessage_Action_Enum eAction; // 动作类型 - action type@property(nonatomic,assign)NSInteger remainDist; // 剩余距离 - remain distance@property(nonatomic,assign)NSInteger remainTime; // 剩余时间 - remain time/// 转化后 全程剩余时间@property (nonatomic, strong) BNaviTimeDescriptionModel *remainingTimeModel;/// 转化后 到达时间@property (nonatomic, strong) BNaviTimeDescriptionModel *estimatedArrivalTimeModel;/// 转化后 剩余距离@property (nonatomic, strong) BNaviDistanceDescriptionModel *etaRemainingDistanceModel;@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
剩余距离(15.9公里): remainDist; 剩余时间(23分钟) :remainTime 到达时间(11:38到达):arrivalTime |
2.5 剩余红绿灯
剩余红绿灯数回调如下:
-(void)onHandleRemainTrafficlightsInfo:(BNaviRemainTrafficlightsInfo*)remainTrafficlightsInfo;
BNaviRemainTrafficlightsInfo定义如下:
/// 剩余红绿灯(目的地、途经点)@interface BNaviRemainTrafficlightsInfo : BNNaviMsgBase@property(nonatomic,assign)NSInteger remainTrafficights; // 离目的地剩余红绿灯@property(nonatomic,assign)NSInteger viaRemainTrafficights; // 离下个途经点剩余红绿灯@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
离目的地的剩余红绿灯(4): remainTrafficights 离下个途经点剩余红绿灯(5):viaRemainTrafficights |
2.6 定位信号
导航信号数据回调:
/*** 导航GPS信号内容展示**/- (void)onHandleSignalStatusChange:(BNaviSignalModel *)model;
BNaviSignalModel 定义如下:
///信号展示状态类型typedef NS_ENUM(NSUInteger, BNaviSignalModelState) {BNaviSignalModelState_Tunnel, // 在隧道BNaviSignalModelState_Underground, // 在地库BNaviSignalModelState_Weak, // 信号弱BNaviSignalModelState_Medium, // 信号中BNaviSignalModelState_Strong, // 信号强BNaviSignalModelState_BDNotHighPrecision, // 北斗非高精定位BNaviSignalModelState_BDHighPrecision, // 北斗高精定位};@interface BNaviSignalModel : NSObject@property (nonatomic, copy) NSString *siginalText;@property (nonatomic, copy) NSString *siginalImgName;@property (nonatomic, assign) BNaviSignalModelState state;@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
定位信号弱 :siginalText 图片icon名称: siginalImgName 定位样式类型: state |
2.7 路名
路名回调:
/*** 处理当前路名变化接口** @param curRoadName 当前路名信息*/- (void)onHandleCurrentRoadName:(BNaviCurrentRoadName*)curRoadName;
BNaviCurrentRoadName 定义如下:
/// 当前路名信息@interface BNaviCurrentRoadName : BNNaviMsgBase@property(nonatomic,copy)NSString* curRoadName; // 当前路名, current road name@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
海斯路:curRoadName |
2.8 车速
车速回调接口:
/*** GPS速度变化回调* @param speed 当前速度 -1 代表 需要展示 -- 单位:km/h* @param speedLimit 单位:km/h 在无限速的情况下是0*/- (void)onHandleGPSSpeedChange:(BNKMNaviSpeed *)speed speedLimit:(int)speedLimit;
BNKMNaviSpeed 定义如下:
/// 车速信息@interface BNKMNaviSpeed : NSObject@property (nonatomic, assign) int speed; // 单位km/h@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
speed (0:)当前速度 -1 代表 需要展示 -- 单位:km/h speedLimit:speed 超过 speedLimit 会出现码表变红。 |
2.9 区间测速
区间测速接口:
/*** 区间测速* @param infoModel 区间测速model*/- (void)onHandleIntervalSpeedChange:(BNIntervalSpeedModel *)infoModel;
BNIntervalSpeedModel 定义如下:
///区间速度状态typedef NS_ENUM(NSUInteger, BNIntervalSpeedModelState) {BNIntervalSpeedModelStateShow,BNIntervalSpeedModelStateUpdate,BNIntervalSpeedModelStateHide,};@interface BNIntervalSpeedModel : NSObject/// 限速区域长度 单位:m@property (nonatomic, assign) NSInteger intervalLength;/// 当前区域 限速 单位:km/h@property (nonatomic, assign) NSInteger limitSpeed;/// 限速区域平均速度 单位:km/h@property (nonatomic, assign) NSInteger limitAverageSpeed;///限速区域剩余距离 单位 m@property (nonatomic, assign) NSInteger limitAreaRemainDist;//区间测速 状态@property (nonatomic, assign) BNIntervalSpeedModelState state;@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
整个限速区域长度: intervalLength 当前限速值(100): limitSpeed 平均车速(67):limitAverageSpeed 剩余公里:(6.7)limitAreaRemainDist 区间测速的状态: state |
2.10 实时路况
实时路况数据接口:
/*** 路况更新**/- (void)onHandleRoadConditionChange:(BNaviRoadConditionModel *)model;
BNaviRoadConditionModel 定义如下:
@interface BNaviRoadConditionItem : NSObject@property(nonatomic,assign)int endIndex;@property(nonatomic,assign)BNaviRoadCondition_Type_Enum eRoadConditionType;@end///导航中路况数据@interface BNaviRoadConditionModel : NSObject///每个元素是BNaviRoadConditionItem类型@property (nonatomic, copy) NSArray<BNaviRoadConditionItem *> *roadConditionArray;@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
roadConditionArray数组内部是每一段路况的数据。 数组内部每一个 BNaviRoadConditionItem 元素代表一段路况。 eRoadConditionType:代表这一段路的路况。 endIndex:代表这段路的最后一个坐标的点。注意endIndex 是第二段的起点。 例如: 当前有3段路况。分别为[BNaviRoadConditionItem,BNaviRoadConditionItem,BNaviRoadConditionItem]。 第一个路况是畅通,第二段拥堵,第三段严重拥堵。 代码示例:
|
2.11 高速面板
高速面板数据回调如下:
/*** 高速面板数据* BNaviHighwayPanelModel*/- (void)onHandleHighwayPanelChange:(BNaviHighwayPanelModel *)model;
其中BNaviHighwayPanelModel含以下字段:
///高速面板类型typedef NS_ENUM(NSUInteger, BNaviHighwayInfoType) {BNaviHighwayInfoInvalid = 0, /**< 无效*/BNaviHighwayInfoTollStation, /**< 收费站 */BNaviHighwayInfoEntrance, /**< 高速入口 */BNaviHighwayInfoExit, /**< 高速出口 */BNaviHighwayInfoServiceArea, /**< 高速服务区 */BNaviHighwayInfoFastwayExit, /**< 快速出口 */BNaviHighwayInfoChargeStation, /**< 充电站*/BNaviHighwayInfoSAWithCS, /**< 带充电站的服务区*/BNaviHighwayInfoDirection /**< 方向面板*/};///服务区 提供的服务类型typedef NS_ENUM(NSUInteger, BNaviHighwayInfoDetailType) {BNaviHighwayInfoDetailTypeAll = 0,BNaviHighwayInfoDetailTypePark = 1, /**< 停车 */BNaviHighwayInfoDetailTypePetrol, /**< 加油 */BNaviHighwayInfoDetailTypeCharge, /**< 充电 */BNaviHighwayInfoDetailTypeFood, /**< 餐饮 */BNaviHighwayInfoDetailTypeToilet, /**< 厕所 */BNaviHighwayInfoDetailTypeMarket, /**< 超市 */BNaviHighwayInfoDetailTypeFix, /**< 汽修 */BNaviHighwayInfoDetailTypeEntertainment, /**< 休闲 */BNaviHighwayInfoDetailTypeGas /**< 加气 */};/*** 定义导航消息的动作类型:显示、更新、隐藏* --------------------------* Action type of navigation message*/typedef enum _BNaviMessage_Action_Enum{BNaviMessage_Action_Invalid, // 无效值 - InvalidBNaviMessage_Action_Show, // 显示 - Show actionBNaviMessage_Action_Update, // 更新 - Update actionBNaviMessage_Action_Hide, // 隐藏 - Hide action}BNaviMessage_Action_Enum;/*** 高速面板内容*/@interface BNaviHighwayContentModel : NSObject///高速面板类型@property (nonatomic, assign) BNaviHighwayInfoType highwayInfoType;///服务区名称@property (nonatomic, copy) NSString *name;///距离 单位 m@property (nonatomic, assign) NSUInteger remainDist;///服务区 icon 类型 BNaviHighwayInfoDetailType@property (nonatomic, copy) NSArray<NSNumber *> *typeArray;///icon 图片名称@property (nonatomic, copy) NSArray<NSString *> *typeIconStrArray;/// 距离 转化 Model@property (nonatomic, strong) BNaviDistanceDescriptionModel *disModel;@end/*** 高速面板*/@interface BNaviHighwayPanelModel : NSObject@property (nonatomic, strong) BNaviHighwayContentModel *topModel;@property (nonatomic, strong) BNaviHighwayContentModel *bottomModel;@property (nonatomic, assign) BNaviMessage_Action_Enum eAction;@end
UI样式和字段说明如下:
UI样式 | 字段说明 |
---|---|
(1)BNaviHighwayPanelModel各个字段: topModel:顶部高速面板 bottomModel:底部高速面板 eAction:动作类型:显示、更新、隐藏 (2)BNaviHighwayContentModel各个字段: highwayInfoType:面板类型 name:服务区名称,比如标红区域的【大坡】 remainDist:剩余距离,比如标红区域的【13.5km】原始数据是1350,单位是m typeArray:服务区支持服务类型 typeIconStrArray:服务区服务类型图片名称 disModel:转换后的距离数据 |
2.12 主辅路高架桥上桥下
主辅路高架桥上桥下相关回调如下:
/** 高架桥,主辅路显示** @param msg*/- (void)onHandleMainSlaveViaductChange:(BNaviMainSlaveViaductInfo *)changeInfo;/*** 高架桥,主辅路切换结果消息** @param msg 高架桥主辅路切换消息*/- (void)onHandleMainSlaveViaductInfoResult:(BNaviMainSlaveViaductMsg *)msg;
切换到主辅路高架桥上桥下接口如下:
/*** 主辅路切换(桥上桥下切换)* @param type 切换类型,只能传入 BNRoadType_MainRoad、BNRoadType_SideRoad、BNRoadType_OnBridge、BNRoadType_UnderBridge* @return 是否切换成功*/- (BOOL)mapMainSlaveViaductChangeTo:(BNRoadType)type;
3.1 路线变化相关回调
/*** 导航中开始偏航*/- (void)naviYawingDidStart:(BNaviModel *)model withStamp:(NSString *)yawingStamp;/// 导航中主路变化回调/// @param routeModel 路线数据model- (void)onHandleDrivingRouteChange:(BNCarRouteModel *)routeModel;/*** 导航更新路线前回调*/- (void)onHandleNaviRouteWillChangedByType:(BNCalculateSourceType)type;/*** 导航中更新 途径点 终点 成功或者失败回调。error != nil 是成功*//// type 算路当前算路的类型。删除途经点 添加途经点 更改终点 类型/// @param node 途经点/// @param index 途径点下标序号 从1 开始/// @param error 失败错误- (void)onHandleNaviRouteDidChangedByType:(BNCalculateSourceType)type node:(BNRoutePlanNode *)node index:(int)index error:(NSError *)error;///开始刷新路线- (void)onHandleNaviRouteWillRefresh;///刷新路线返回刷新结果类型- (void)onHandleNaviRouteDidRefreshWithType:(BNaviMessage_OtherRoute_Enum)type;/*** 导航中更改路线成功*/- (void)reCalculateNaviRouteDidFinished:(BNaviModel *)model sourceType:(BNCalculateSourceType)sourceType;/*** 导航中更改路线失败*/- (void)reCalculateNaviRouteDidFailed:(BNaviModel *)model sourceType:(BNCalculateSourceType)sourceType;/*** 导航中取消更改路线*/- (void)reCalculateNaviRouteDidCancel:(BNaviModel *)model sourceType:(BNCalculateSourceType)sourceType;
3.2 沿途搜相关回调
/*** 沿途搜索结果* @param code 沿途搜索结果* @param poiArray 当code为BNaviSearch_ResultCode_Succeed时,poiArray返回搜索结果*/- (void)viaSearchResult:(BNaviSearch_ResultCode_ENUM)code poiArray:(NSArray *)poiArray;/*** 清空沿途搜索结果*/- (void)viaSearchClearResult;
3.3 货车标识相关回调
/// 货车限行标识(限高,限重等)显示/// @param msgParam 货车限行消息结构体- (void)onHandleTruckTrafficSignShow:(BNaviTruckTrafficSignInfo *)msgParam;/// 货车限行标识(限高,限重等)更新/// @param msgParam 货车限行消息结构体- (void)onHandleTruckTrafficSignUpdate:(BNaviTruckTrafficSignInfo *)msgParam;/// 货车限行标识(限高,限重等)隐藏/// @param msgParam 货车限行消息结构体- (void)onHandleTruckTrafficSignHide:(BNaviTruckTrafficSignInfo *)msgParam;
3.4 车道级相关回调
* 车道级路线自动 进入和 退出 消息*/- (void)onHandleNavigationMapLaneMsg:(BOOL)isEnter;/**
3.5 其他回调
/*** 处理导航状态变化接口** @param naviStatusInfo 导航状态信息*/- (void)onHandleNaviStatusChange:(BNaviStatusInfo*)naviStatusInfo;/*** 处理地图刷新相关信息** @param mapRefreshInfo 地图刷新消息*/- (void)onHandleMapRefresh:(BNaviMapRefreshInfo*)mapRefreshInfo;/*** 经过途经点/偏航时移除途经点消息** @discussion 以下两种情况会回调该方法:** 1.经过某个途经点时;** 2.接近某个途经点并产生偏航,这是SDK会抛弃该途经点进行偏航算路并抛出该回调消息。** 如何区分上面两种情况?** passViaInfo参数的属性enType==1时表示经过某个途经点,enType==2时表示偏航时该途经点被自动删除** @param passViaInfo 途经点消息* @note passViaInfo参数的属性viaIndex表示正在经过/删除的是第几个途经点(编号从0开始)*/- (void)onHandlePassViaPoint:(BNaviPassViaPointInfo *)passViaInfo;/*** 回调规避提示** @param tips 规避提示*/- (void)onHandleNaviLocalRouteTips:(NSString *)tips;/*** 车标位置进度变化*/- (void)onHandleCarProgressChange;
上一篇
下一篇
本篇文章对您是否有帮助?