Map Doc  1.0
iOS-引擎SDK-开放平台
MBNaviSession.h
浏览该文件的文档.
1 //
2 // MBNaviSession.h
3 // iNaviCore
4 //
5 // Created by fanwei on 2/21/13.
6 // Copyright (c) 2013 Mapbar. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 
11 #import "MBNaviBaseTypes.h"
12 #import "MBEngine.h"
13 
14 @class MBRoutePlan;
15 @class MBRouteBase;
16 @class MBRouteRequest;
17 @class MBNaviSessionParams;
18 @class MBNaviSessionData;
20 @class MBRouteCollection;
21 @class MBHighwayGuide;
23 
24 @protocol MBNaviSessionDelegate;
25 
26 #pragma mark - 辽宁算路需求接口
27 
29 // 辽宁算路需求接口
31 
32 typedef void (^LiaoNingRouteRequest)(MBRouteRequest* req,void* userdata);
33 typedef void (^LiaoNingRouteResponse)(NSString* response,void* userdata);
34 
35 #pragma mark - 企服算路需求接口
36 
38 // 企服算路需求接口
40 
49 typedef void(*MBRouteResponseCallback)(const char* response, size_t responseLength, void* userdata);
50 
63 typedef void(*MBRouteRequestCallback)(MBRouteRequest* request, void* userdata);
64 
67 
68 typedef NS_OPTIONS(NSUInteger, MBTmcRequest) {
69  MBTmcRequest_updateRouteColors = 0x1,
70  MBTmcRequest_unused = 0x2,
71  MBTmcRequest_checkReroute = 0x4,
72  MBTmcRequest_all = MBTmcRequest_updateRouteColors + MBTmcRequest_checkReroute
73 };
74 
78 typedef NS_ENUM(NSInteger, MBCameraDataState) {
79  //电子眼数据加载失败,或未开启电子眼模块
81  //已经加载的电子眼数据为VIP数据
83  //已经加载的电子眼数据为普通版数据
85 };
86 
90 typedef NS_ENUM(NSInteger, MBTRouterError) {
99 
103 
107 
109 
113 
115 
117 };
118 
122 typedef NS_ENUM(NSInteger, MBAvoidUTurnMode) {
123  //不防调头
125  //偏航多次后自动防掉头
127  //一直防掉头(测试用,客户端一般不使用此值)
129 };
130 
134 typedef NS_ENUM(NSInteger, MBNaviSessionNaviStartVoiceMode) {
141 };
142 
146 typedef NS_ENUM(NSInteger, MBNaviSessionRouteMethod) {
150 };
151 
155 @interface MBNaviSession : NSObject
156 {
157  @public
160 }
165 + (instancetype)sharedInstance;
171 + (void)cleanup;
175 @property (nonatomic, strong) MBNaviSessionParams *params;
179 @property (nonatomic, readonly, assign) MBSdkAuthError authErrorType;
183 @property (nonatomic, copy) NSString *tmcUrlBase;
184 
188 @property (nonatomic, copy) NSString *tiUrlBase;
192 @property (nonatomic, assign) BOOL enableCamera;
193 @property (nonatomic, assign) BOOL customize4LiaoNing;
197 @property (nonatomic, weak) id<MBNaviSessionDelegate> delegate;
205 - (void)setTTSRole:(NSUInteger)value;
212 - (void)enableModule:(MBNaviSessionModule)module enable:(BOOL)enable;
221 - (BOOL)isModuleEnabled:(MBNaviSessionModule)module;
222 
223 // 设置导航模式,在线,离线,在线优先,离线优先
224 @property (nonatomic, assign) MBDataPreference navPreference;
225 
234 - (void)startRoute:(const MBRoutePlan *)newPlan routeMethod:(MBNaviSessionRouteMethod)method;
242 - (void)startRoute:(const MBRoutePlan *)newPlan avoidRoadType:(MBRouteRule)type;
247 - (void)cancelRouting;
252 - (MBRouteBase *)getRoute;
257 - (MBRoutePlan *)getPlan;
263 - (void)takeRoute:(MBRouteBase *)route;
268 - (void)removeRoute;
273 - (BOOL)isRouting;
278 - (NSInteger)getStepCounter;
283 - (BOOL)canResumeNavigation:(MBRoutePlan *)plan;
288 - (void)resumeNavigation;
293 - (NSString *)getErrorStr;
300 - (const void *)getNaviData __attribute__((deprecated("准备废弃此方法")));
307 - (void)startSimulation;
314 - (void)startSimulationWithPlan:(MBRoutePlan *)plan;
315 
321 - (void)endSimulation;
322 
329 - (BOOL)isInSimulation;
330 
337 - (void)pauseSimulation;
338 
345 - (void)resumeSimulation;
346 
353 - (BOOL)isSimulationPaused;
354 
362 - (void)setSimulationSpeed:(float)speed;
363 
370 - (float)getSimulationSpeed;
371 
379 - (void)enableRepeatSimulation:(BOOL)enable;
380 
387 - (BOOL)isRepeatSimulationEnabled;
388 
396 - (void)setSimulationInterval:(uint)milliseconds;
397 
404 - (void)startRouteOverview;
405 
412 - (void)endRouteOverview;
413 
420 - (void)pauseNavi;
421 
428 - (void)resumeNavi;
429 
436 - (BOOL)isNaviPaused;
437 
444 - (BOOL)isInManualStartState;
445 
452 - (void)endManualStartState;
456 -(void)updateSessionTracking;
465 - (BOOL)tryGrabSegments:(MBPoint *)pos ori:(short)ori;
466 
474 - (void)setRouteUrlBase:(NSString *)urlBase;
475 
483 - (void)setGuidanceMode:(MBGuidanceMode)mode;
484 
492 - (void)setCameraMode:(MBCameraFilterMode)mode;
493 
498 @property (nonatomic, assign) MBNaviSessionNaviStartVoiceMode naviStartVoiceMode;
499 
503 @property (nonatomic, readonly, strong) MBRouteCollection *routes;
504 
508 @property (nonatomic, readonly, strong) MBNaviSessionData *sessionData;
509 
513 @property (nonatomic, readonly, strong) MBNaviSessionSmoothData *smoothData;
514 
518 - (void)disableOfflineCamera;
519 
525 - (MBAuthError)getCameraAuthError __attribute__((deprecated("已废弃此方法")));
526 
532 - (MBCameraDataState)getCameraDataState __attribute__((deprecated("已废弃此方法")));
533 
537 - (BOOL)isVipCameraData __attribute__((deprecated("已废弃此方法")));
538 
544 - (BOOL)isPositionFixed;
545 
546 // 开启或者关闭各种播报语音
547 @property (nonatomic, assign) BOOL enableSound;
548 
554 - (void)setAvoidUTurnMode:(MBAvoidUTurnMode)mode;
555 
564 - (void)setReroutePreferExisting:(BOOL)prefer;
565 - (void)setRouteRequestCallback:(MBRouteRequestCallback)callback userdata:(void*)data;
566 - (void)setRouteResponseCallback:(MBRouteResponseCallback)callback userdata:(void*)data;
567 - (void)setRouteRequestBlock:(LiaoNingRouteRequest)requestBlock;
568 - (void)setRouteResponseBlock:(LiaoNingRouteResponse)responseBlock;
569 @end
内存不足。
Definition: MBNaviSession.h:97
Definition: MBNaviSession.h:128
Definition: MBNaviSession.h:155
Definition: MBNaviSession.h:138
Definition: MBNaviSession.h:147
Definition: MBNaviSessionParams.h:15
Definition: MBNaviSessionData.h:28
Definition: MBNaviSession.h:80
Definition: MBNaviSession.h:140
终点所在位置数据与基础数据(base.dat)不匹配
Definition: MBNaviSession.h:111
MBSdkAuthError
Definition: MBEngine.h:62
Definition: MBNaviSession.h:84
Definition: MBNaviSessionData.h:216
起点所在位置数据与基础数据(base.dat)不匹配
Definition: MBNaviSession.h:110
途经点所在位置数据与基础数据(base.dat)不匹配
Definition: MBNaviSession.h:112
起点终点距离太近
Definition: MBNaviSession.h:92
起点所在位置数据授权错误
Definition: MBNaviSession.h:104
LiaoNingRouteResponse _routeResponseBlock
Definition: MBNaviSession.h:159
MBAuthError
Definition: MBEngine.h:12
Definition: MBRoutePlan.h:17
Definition: MBRouteCollection.h:29
途经点所在位置数据授权错误
Definition: MBNaviSession.h:106
某些省份的数据不存在或没有授权,省份的名称保存在 additionalMessage 中。
Definition: MBNaviSession.h:96
Definition: MBNaviSession.h:124
typedef NS_OPTIONS(NSUInteger, MBTmcRequest)
Definition: MBNaviSession.h:68
MBNaviSessionRouteMethod
Definition: MBNaviSession.h:146
设置终点失败,常见的原因是终点离道路很远
Definition: MBNaviSession.h:94
MBNaviSessionModule
Definition: MBNaviBaseTypes.h:244
Definition: MBNaviSession.h:126
Definition: MBNaviSessionDelegate.h:13
路线计算失败。如果是在线算路,则错误码会以字符串形式保存在 additionalMessage 中。 ...
Definition: MBNaviSession.h:95
Definition: MBNaviLaneCollection.h:42
MBAvoidUTurnMode
Definition: MBNaviSession.h:122
void(^ LiaoNingRouteResponse)(NSString *response, void *userdata)
Definition: MBNaviSession.h:33
设置起点失败,常见的原因是起点离道路很远,或者没有算路数据文件(.red)
Definition: MBNaviSession.h:93
MBGuidanceMode
Definition: MBNaviBaseTypes.h:42
途经点所在位置没有数据
Definition: MBNaviSession.h:102
MBDataPreference
Definition: MBNaviBaseTypes.h:288
MBNaviSessionNaviStartVoiceMode
Definition: MBNaviSession.h:134
Definition: MBRouteRequest.h:14
终点所在位置没有数据
Definition: MBNaviSession.h:101
MBCameraDataState
Definition: MBNaviSession.h:78
Definition: MBRouteBase.h:62
不合理的调用接口导致的错误,如不支持步行离线算路的引擎中,调用离线步行
Definition: MBNaviSession.h:108
算一条路
Definition: MBNaviSession.h:148
MBTRouterError
Definition: MBNaviSession.h:90
起点所在位置没有数据
Definition: MBNaviSession.h:100
MBCameraFilterMode
Definition: MBNaviBaseTypes.h:179
Definition: MBNaviSession.h:82
终点所在位置数据授权错误
Definition: MBNaviSession.h:105
Definition: MBHighwayGuide.h:18
路线结果过短(长度为0)
Definition: MBNaviSession.h:116
Definition: MBNaviSession.h:91
网络出错。在线算路时网络链接出错或服务器出错。
Definition: MBNaviSession.h:98
用“系统推荐”、“距离优先”、“高速优先”、“避让收费” 4种规则算出4条路线结果(其中可能有相同结果),...
Definition: MBNaviSession.h:149
LiaoNingRouteRequest _routeRequestBlock
Definition: MBNaviSession.h:158
Definition: MBNaviSession.h:136
基础数据(base.dat)无效或不存在
Definition: MBNaviSession.h:114
void(* MBRouteRequestCallback)(MBRouteRequest *request, void *userdata)
用以拦截在线算路请求的回调函数形式,允许使用者修改请求数据。
Definition: MBNaviSession.h:63
void(* MBRouteResponseCallback)(const char *response, size_t responseLength, void *userdata)
用以拦截在线算路服务器响应数据的回调函数形式,响应数据不可修改。
Definition: MBNaviSession.h:49
Definition: MBNaviCoreBase.h:31
void(^ LiaoNingRouteRequest)(MBRouteRequest *req, void *userdata)
Definition: MBNaviSession.h:32