BaiduMap_IOSSDK_v7.1.0_Docs  7.1.0
BMKWalkNavigationManager.h
浏览该文件的文档.
1 //
2 // BMKWalkNaviHelper.h
3 // WalkCycleComponent
4 //
5 // Created by Xin,Qi on 24/01/2018.
6 // Copyright © 2018 Baidu. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h>
16 #import <BaiduMapAPI_Base/BMKBaseComponent.h>
21 @class BMKMapView;
22 @class BMKPolyline;
23 NS_ASSUME_NONNULL_BEGIN
24 #pragma mark - 步行导航控制器类
25 @interface BMKWalkNavigationManager : NSObject
28 @property (nonatomic, assign) BMKWalkNavigationMode walkNaviMode;
30 @property (nonatomic, assign) BOOL showRedGreenLight;
31 
33 @property (nonatomic, assign) UIEdgeInsets zoomToSpanInsets;
34 
36 @property (nonatomic, assign) BMKNaviMapRotateMode naviMapRotateMode;
38 @property (nonatomic, assign) BMKNaviMapOverlookingMode naviMapOverlookingMode;
40 @property (nonatomic, assign) BOOL naviMapViewAllStatus;
41 
42 /*
43  导航中剩余时间距离面板底部需要预留高度,默认为0。,since 6.5.8
44 对于刘海屏设备,bottomButtonHeight等于【底部安全区域的顶部】 到 【导航中剩余时间距离面板的底部】的距离
45 对于非刘海屏设备,bottomButtonHeight等于【屏幕底部】到【导航中剩余时间距离面板的底部】的距离
46  */
47 @property (nonatomic, assign) CGFloat bottomButtonHeight;
48 @property (nonatomic, assign) CGPoint carPositionOffset;
51 @property (nonatomic, assign) float defaultNaviMapLevel;
53 @property (nonatomic, strong) BMKWalkCycleNaviSettingManager *naviSettingManager;
54 
56 @property (nonatomic, assign) BOOL enableMultiRoute;
57 
59 @property (nonatomic, weak, nullable) id <BMKWalkCycleRoutePlanDelegate> routePlanDelegate;
60 
62 @property (nonatomic, weak, nullable) id <BMKWalkNaviCalcRouteDelegate> calcRouteDelegate;
63 
65 @property (nonatomic, weak, nullable) id <BMKWalkCycleManagerDelegate> managerDelegate;
66 
68 @property (nonatomic, weak, nullable) id <BMKWalkCycleRouteGuidanceDelegate> routeGuidanceDelegate;
69 
71 @property (nonatomic, weak, nullable) id <BMKWalkCycleTTSPlayerDelegate> ttsPlayerDelegate;
72 
74 @property (nonatomic, weak, nullable) id <BMKWalkCycleLocationServiceDelegate> locationAuthorizationDelegate;
75 
81 @property (nonatomic, assign) BOOL isSupportExternalTriggerLocation;
82 
84 @property (nonatomic, assign) BOOL supportHeading;
85 
87 @property (nonatomic, assign) BOOL ttsPlayerEnable;
88 
91 + (instancetype)sharedManager;
92 
94 + (void)destroy;
95 
99 - (BOOL)initNaviEngine:(UIViewController * _Nullable)controller;
100 
105 - (BOOL)initNaviEngine:(UIViewController * _Nullable)controller
106  displayOption:(BMKWalkCycleNavigationDisplayOption * _Nullable)displayOption;
107 
112 - (BOOL)initNaviEngine:(UIViewController * _Nullable)controller
113  options:(BMKWalkCycleNavigationOptions * _Nullable)options;
114 
120 - (BOOL)initNaviEngine:(UIViewController * _Nullable)controller
121  displayOption:(BMKWalkCycleNavigationDisplayOption * _Nullable)displayOption
122  npcOption:(BMKWalkNavigationNPCOption * _Nullable)npcOption;
123 
126 - (void)routePlanWithParams:(BMKWalkNaviLaunchParam *)parameter;
127 
130 - (NSArray<BMKWalkCycleRouteResult *> *_Nullable)getWalkNaviMulRouteInfos;
131 
135 
139 
143 - (NSArray<BMKPolyline *> *_Nullable)displayRoutePlanResult:(BMKMapView *)mapview;
144 
147 
150 - (void)naviCalcRoute:(NSInteger)routeIndex;
151 
156 - (BOOL)startWalkNavi:(BMKWalkNavigationMode)navigationMode __deprecated_msg("已废弃since 6.0.0,内部无实现,请使用- (BOOL)startWalkNavi");
157 
158 - (BOOL)startWalkNavi __deprecated_msg("已废弃since 6.5.4,内部无实现,请使用- (BOOL)startWalkNavi:withParentController:isPush");
159 
165 - (BOOL)startWalkNaviWithParentController:(UIViewController * _Nullable)controller isPush:(BOOL)isPush;
166 
168 - (void)exitWalkNomalNavi;
169 
172 - (BOOL)startWalkLightNaviWithParentView:(UIView *)parentView;
173 
175 - (void)exitWalkLightNavi;
176 
178 - (BOOL)switchToWalkNomalNaviWithParentController:(UIViewController *)controller isPush:(BOOL)isPush;
179 
181 - (void)returnToViewAll;
182 
184 - (void)enterCarFreeSatus;
185 
187 - (void)leaveCarFreeSatus;
188 
189 
190 
192 - (UIView *_Nullable)getCustomNaviView;
193 
195 - (BMKMapView *_Nullable)getNaviMap;
196 
201 
205 - (BMKBackgroundNavigationView *)getBackgroundNavigationViewWithTag:(NSString *)tag;
206 
208 - (void)pause;
209 
211 - (void)resume;
212 
214 - (void)stop;
215 
218 - (void)showsBackgroundLocationIndicator:(BOOL)show;
219 
221 - (BOOL)isOnlyIndoorRouteNavi;
222 
224 - (void)triggerLocation:(BMKUserLocation *)location;
226 - (void)triggerHeading:(CLHeading *)heading;
227 
228 #pragma mark - 模拟导航相关
229 - (void)startSimulateNavi;
232 - (void)stopSimulateNavi;
234 - (void)setSimulateNaviSpeed:(int)speed;
235 
236 #pragma mark - 步行AR导航3D模型显示相关接口
237 
241 - (NSArray <BMKWalkNavigationNPCGuider *> *_Nullable)fetchAllAvailableGuiders;
242 
246 - (BOOL)showGuider:(BMKWalkNavigationNPCGuider *)guider;
247 
248 #pragma mark - 模拟导航相关
249 - (void)startSimulateNavi;
252 - (void)stopSimulateNavi;
254 - (void)setSimulateNaviSpeed:(int)speed;
255 
256 #pragma mark - 导航元素控制
257 - (void)setNaviDrawElementsShow:(BOOL)show elements:(NSArray *)elements;
263 
267 - (void)updateNaviDrawItemDisplayOption:(BMKWalkCycleNaviDrawItemDisplayOption *)dispalyOption;
268 @end
269 NS_ASSUME_NONNULL_END
BMKWalkCycleTrafficLightData
Definition: BMKWalkCycleTrafficLightData.h:49
BMKWalkCycleNaviSettingManager
Definition: BMKWalkCycleNaviSettingManager.h:14
BMKWalkNavigationManager::ttsPlayerDelegate
id< BMKWalkCycleTTSPlayerDelegate > ttsPlayerDelegate
语音播报文本回调
Definition: BMKWalkNavigationManager.h:71
-[BMKWalkNavigationManager stop]
void stop()
导航过程生命周期函数,结束导航。
BMKWalkNavigationManager::zoomToSpanInsets
UIEdgeInsets zoomToSpanInsets
路线全览区域在mapview上的insets,since 6.5.8
Definition: BMKWalkNavigationManager.h:33
-[BMKWalkNavigationManager returnToViewAll]
void returnToViewAll()
轻导航一键恢复全览
-[BMKWalkNavigationManager enterCarFreeSatus]
void enterCarFreeSatus()
进入自由态,如等待乘客阶段
BMKWalkNavigationManager::supportHeading
BOOL supportHeading
导航时是否支持手机传感器方向信息,默认YES
Definition: BMKWalkNavigationManager.h:84
BMKWalkCycleNaviDrawItemDisplayOption
导航地图页面元素自定义样式
Definition: BMKWalkCycleNavigationDisplayOption.h:189
-[BMKWalkNavigationManager exitWalkNomalNavi]
void exitWalkNomalNavi()
退出步行专业导航,等同于点击步行专业导航退出按钮,since 6.5.8
BMKMapView
地图View类,使用此View可以显示地图窗口,并且对地图进行相关的操作
Definition: BMKMapView.h:132
BMKWalkCycleRouteResult
Definition: BMKWalkCycleRouteResult.h:26
-[BMKWalkNavigationManager getWalkNaviRouteInfo]
BMKWalkCycleRouteResult *_Nullable getWalkNaviRouteInfo()
-[BMKWalkNavigationManager getCustomNaviView]
UIView *_Nullable getCustomNaviView()
获取导航自定义图层View
BMKWalkNavigationManager::isSupportExternalTriggerLocation
BOOL isSupportExternalTriggerLocation
Definition: BMKWalkNavigationManager.h:81
BMKWalkCycleNavigationData
Definition: BMKWalkCycleNavigationData.h:14
BMKWalkNavigationManager::naviMapViewAllStatus
BOOL naviMapViewAllStatus
设置导航是否全览状态,默认:NO 导航态,,since 6.6.2
Definition: BMKWalkNavigationManager.h:40
-[BMKWalkNavigationManager getWalkNaviMulRouteInfos]
NSArray< BMKWalkCycleRouteResult * > *_Nullable getWalkNaviMulRouteInfos()
BMKPolyline
此类用于定义一段折线
Definition: BMKPolyline.h:16
BMKWalkNavigationNPCOption.h
+[BMKWalkNavigationManager destroy]
void destroy()
销毁单例
BMKWalkNavigationManager::walkNaviMode
BMKWalkNavigationMode walkNaviMode
设置导航模式,默认:BMK_WALK_NAVIGATION_MODE_WALK_NORMAL-普通步行导航
Definition: BMKWalkNavigationManager.h:28
-[BMKWalkNavigationManager isOnlyIndoorRouteNavi]
BOOL isOnlyIndoorRouteNavi()
是否是纯室内路线导航
-[BMKWalkNavigationManager getBackgroundNavigationView]
BMKBackgroundNavigationView * getBackgroundNavigationView()
BMKWalkCycleNavigationDisplayOption.h
BMKWalkNavigationManager::calcRouteDelegate
id< BMKWalkNaviCalcRouteDelegate > calcRouteDelegate
引擎算路代理,回调成功时即可调用startWalkNaviWithParentController开始导航
Definition: BMKWalkNavigationManager.h:62
BMKWalkNavigationManager::ttsPlayerEnable
BOOL ttsPlayerEnable
语音播报是否可用,默认YES,集成TTS SDK后即可正常播报
Definition: BMKWalkNavigationManager.h:87
-[BMKWalkNavigationManager startSimulateNavi]
void startSimulateNavi()
开始模拟导航
BMKWalkCycleTrafficLightData.h
BMKWalkNaviLaunchParam.h
-[BMKWalkNavigationManager pause]
void pause()
导航过程生命周期函数,暂停导航。
BMKWalkCycleRouteResult.h
+[BMKWalkNavigationManager sharedManager]
instancetype sharedManager()
BMKWalkNavigationManager
步行导航控制器类
Definition: BMKWalkNavigationManager.h:27
BMKWalkCycleNavigationDelegates.h
BMKWalkNaviLaunchParam
算路起始点设置类
Definition: BMKWalkNaviLaunchParam.h:18
BMKWalkNavigationManager::defaultNaviMapLevel
float defaultNaviMapLevel
设置默认比例尺,默认:19,范围:4~22
Definition: BMKWalkNavigationManager.h:51
BMKWalkNavigationNPCGuider
Definition: BMKWalkNavigationNPCGuider.h:18
BMKWalkNavigationManager::naviMapRotateMode
BMKNaviMapRotateMode naviMapRotateMode
设置导航地图旋转模式,默认:BMKNaviMapRotateModeRoute 路线朝上,since 6.6.2
Definition: BMKWalkNavigationManager.h:36
-[BMKWalkNavigationManager resume]
void resume()
导航过程生命周期函数,恢复导航。
-[BMKWalkNavigationManager getWalkNavigationLocationData]
BMKWalkCycleNavigationData *_Nullable getWalkNavigationLocationData()
BMKWalkNavigationNPCOption
Definition: BMKWalkNavigationNPCOption.h:15
BMKWalkNavigationManager::bottomButtonHeight
CGFloat bottomButtonHeight
Definition: BMKWalkNavigationManager.h:47
BMKWalkNavigationManager::routePlanDelegate
id< BMKWalkCycleRoutePlanDelegate > routePlanDelegate
多路线规划代理回调
Definition: BMKWalkNavigationManager.h:59
BMKWalkNavigationManager::locationAuthorizationDelegate
id< BMKWalkCycleLocationServiceDelegate > locationAuthorizationDelegate
步骑行导航定位权限授权代理,开发者在调用startWalkNavi前主动申请相关定位权限
Definition: BMKWalkNavigationManager.h:74
-[BMKWalkNavigationManager leaveCarFreeSatus]
void leaveCarFreeSatus()
离开自由态
BMKWalkNavigationManager::managerDelegate
id< BMKWalkCycleManagerDelegate > managerDelegate
导航管理回调
Definition: BMKWalkNavigationManager.h:65
BMKWalkNavigationManager::carPositionOffset
CGPoint carPositionOffset
小车XY偏移量,默认无效值(MAXFLOAT, MAXFLOAT),初始化引擎后设置,since 6.6.4
Definition: BMKWalkNavigationManager.h:49
BMKWalkNavigationManager::enableMultiRoute
BOOL enableMultiRoute
设置是否支持多路线规划选择,可在routePlanDelegate回调中处理多路线并进行绘制选择。默认NO
Definition: BMKWalkNavigationManager.h:56
BMKWalkNavigationManager::naviSettingManager
BMKWalkCycleNaviSettingManager * naviSettingManager
导航设置选项,初始化导航后设置
Definition: BMKWalkNavigationManager.h:53
-[BMKWalkNavigationManager getNaviMap]
BMKMapView *_Nullable getNaviMap()
获取步行导航底图对象
BMKWalkCycleNavigationOptions
Definition: BMKWalkCycleNavigationOptions.h:17
BMKWalkCycleNavigationOptions.h
-[BMKWalkNavigationManager getTrafficLightData]
BMKWalkCycleTrafficLightData * getTrafficLightData()
获取红路灯倒计时信息,用于自定义红路灯倒计时,在onTrafficLightDataUpdate回调中调用
BMKWalkCycleNavigationDisplayOption
Definition: BMKWalkCycleNavigationDisplayOption.h:26
-[BMKWalkNavigationManager exitWalkLightNavi]
void exitWalkLightNavi()
退出轻导航,当退出轻导航页面时,需要退出轻导航,since 6.5.8
BMKWalkCycleNaviSettingManager.h
BMKWalkNavigationManager::naviMapOverlookingMode
BMKNaviMapOverlookingMode naviMapOverlookingMode
设置导航地图俯仰视角模式,默认:BMKNaviMapOverlookingMode2D 2d视角,since 6.6.2
Definition: BMKWalkNavigationManager.h:38
BMKWalkNavigationManager::routeGuidanceDelegate
id< BMKWalkCycleRouteGuidanceDelegate > routeGuidanceDelegate
导航状态信息回调
Definition: BMKWalkNavigationManager.h:68
BMKBackgroundNavigationView
Definition: BMKBackgroundNavigationView.h:76
BMKUserLocation
Definition: BMKUserLocation.h:14
-[BMKWalkNavigationManager stopSimulateNavi]
void stopSimulateNavi()
结束模拟导航
-[BMKWalkNavigationManager fetchAllAvailableGuiders]
NSArray< BMKWalkNavigationNPCGuider * > *_Nullable fetchAllAvailableGuiders()
BMKWalkNavigationManager::showRedGreenLight
BOOL showRedGreenLight
设置导航是否显示红路灯倒计时,引擎初始化成功后调用,默认:NO,有高级权限时默认YES,since 6.6.2
Definition: BMKWalkNavigationManager.h:30