BaiduMap_IOSSDK_v7.1.0_Docs  7.1.0
BMKCycleNavigationManager.h
浏览该文件的文档.
1 //
2 // BMKCycleNaviHelper.h
3 // CycleComponent
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>
12 
13 #import "BMKWalkCycleDefine.h"
16 #import <BaiduMapAPI_Base/BMKBaseComponent.h>
20 
22 @class BMKMapView;
23 @class BMKPolyline;
24 NS_ASSUME_NONNULL_BEGIN
25 #pragma mark - 骑行导航控制器类
26 
29 @interface BMKCycleNavigationManager : NSObject
30 
32 @property (nonatomic, assign) BMKCycleNavigationMode cycleNaviMode;
33 
35 @property (nonatomic, assign) UIEdgeInsets zoomToSpanInsets;
37 @property (nonatomic, assign) BMKNaviMapRotateMode naviMapRotateMode;
39 @property (nonatomic, assign) BMKNaviMapOverlookingMode naviMapOverlookingMode;
40 
42 @property (nonatomic, assign) BOOL naviMapViewAllStatus;
44 @property (nonatomic, assign) BOOL showRedGreenLight;
46 @property (nonatomic, assign) BOOL enableMultiRoute;
47 
48 //最大值为BMKWalkMaxBottomButtonHeight,70
49 /*
50  导航中剩余时间距离面板底部需要预留高度,默认为0。,since 6.5.8
51 对于刘海屏设备,bottomButtonHeight等于【底部安全区域的顶部】 到 【导航中剩余时间距离面板的底部】的距离
52 对于非刘海屏设备,bottomButtonHeight等于【屏幕底部】到【导航中剩余时间距离面板的底部】的距离
53  */
54 @property (nonatomic, assign) CGFloat bottomButtonHeight;
56 @property (nonatomic, assign) CGPoint carPositionOffset;
59 @property (nonatomic, assign) float defaultNaviMapLevel;
61 @property (nonatomic, strong) BMKWalkCycleNaviSettingManager *naviSettingManager;
65 @property (nonatomic, weak, nullable) id <BMKWalkCycleRoutePlanDelegate> routePlanDelegate;
66 
70 @property (nonatomic, weak, nullable) id <BMKWalkNaviCalcRouteDelegate> calcRouteDelegate;
71 
75 @property (nonatomic, weak, nullable) id <BMKWalkCycleManagerDelegate> managerDelegate;
76 
80 @property (nonatomic, weak, nullable) id <BMKWalkCycleRouteGuidanceDelegate> routeGuidanceDelegate;
81 
85 @property (nonatomic, weak, nullable) id <BMKWalkCycleTTSPlayerDelegate> ttsPlayerDelegate;
86 
90 @property (nonatomic, weak, nullable) id <BMKWalkCycleLocationServiceDelegate> locationAuthorizationDelegate;
91 
97 @property (nonatomic, assign) BOOL isSupportExternalTriggerLocation;
98 
100 @property (nonatomic, assign) BOOL supportHeading;
101 
103 @property (nonatomic, assign) BOOL ttsPlayerEnable;
104 
110 + (instancetype)sharedManager;
111 
115 + (void)destroy;
116 
124 - (BOOL)initNaviEngine:(UIViewController *_Nullable)controller option:(BMKWalkCycleNavigationDisplayOption *)option;
125 
130 - (BOOL)initNaviEngine:(UIViewController *_Nullable)controller
131  options:(BMKWalkCycleNavigationOptions *)options;
137 - (void)routePlanWithParams:(BMKCycleNaviLaunchParam *)parameter;
138 
142 - (NSArray<BMKPolyline *> *_Nullable)displayRoutePlanResult:(BMKMapView *)mapview;
143 
146 - (void)naviCalcRoute:(NSInteger)routeIndex;
147 
150 - (NSArray<BMKWalkCycleRouteResult *> *_Nullable)getCycleNaviMulRouteInfos;
151 
157 
158 
164 
172 - (BOOL)startCycleNavi __deprecated_msg("已废弃since 6.5.4,内部无实现,请使用- (BOOL)startCycleNaviWithParentController:isPush");
173 
180 - (BOOL)startCycleNaviWithParentController:(UIViewController *_Nullable)controller isPush:(BOOL)isPush;
181 
183 - (void)exitCycleNomalNavi;
184 
187 - (BOOL)startCycleLightNaviWithParentView:(UIView *)parentView;
188 
190 - (void)exitCycleLightNavi;
191 
193 - (BOOL)switchToCycleNomalNaviWithParentController:(UIViewController *)controller isPush:(BOOL)isPush;
194 
196 - (void)returnToViewAll;
197 
199 - (void)enterCarFreeSatus;
200 
202 - (void)leaveCarFreeSatus;
203 
207 - (BMKMapView *_Nullable)getNaviMap;
208 
213 
217 - (BMKBackgroundNavigationView *)getBackgroundNavigationViewWithTag:(NSString *)tag;
218 
220 - (UIView *_Nullable)getCustomNaviView;
221 
225 - (void)pause;
226 
230 - (void)resume;
231 
235 - (void)stop;
236 
243 - (void)showsBackgroundLocationIndicator:(BOOL)show;
244 
246 - (void)triggerLocation:(BMKUserLocation *)location;
248 - (void)triggerHeading:(CLHeading *)heading;
249 
250 #pragma mark - 模拟导航相关
251 - (void)startSimulateNavi;
254 - (void)stopSimulateNavi;
256 - (void)setSimulateNaviSpeed:(int)speed;
257 
258 #pragma mark - 导航元素控制
259 - (void)setNaviDrawElementsShow:(BOOL)show elements:(NSArray *)elements;
265 
269 - (void)updateNaviDrawItemDisplayOption:(BMKWalkCycleNaviDrawItemDisplayOption *)dispalyOption;
270 @end
271 NS_ASSUME_NONNULL_END
BMKCycleNavigationManager::naviSettingManager
BMKWalkCycleNaviSettingManager * naviSettingManager
导航设置选项,初始化导航后设置
Definition: BMKCycleNavigationManager.h:61
BMKWalkCycleTrafficLightData
Definition: BMKWalkCycleTrafficLightData.h:49
BMKCycleNavigationManager
Definition: BMKCycleNavigationManager.h:30
-[BMKCycleNavigationManager leaveCarFreeSatus]
void leaveCarFreeSatus()
离开自由态,since 6.5.8
BMKCycleNaviLaunchParam
算路起始点设置类
Definition: BMKCycleNaviLaunchParam.h:16
BMKWalkCycleNaviSettingManager
Definition: BMKWalkCycleNaviSettingManager.h:14
-[BMKCycleNavigationManager exitCycleLightNavi]
void exitCycleLightNavi()
退出轻导航,当退出轻导航页面时,需要退出轻导航,since 6.5.8
BMKCycleNavigationManager::cycleNaviMode
BMKCycleNavigationMode cycleNaviMode
骑行导航模式,目前支持普通骑行导航、骑行轻导航
Definition: BMKCycleNavigationManager.h:32
-[BMKCycleNavigationManager enterCarFreeSatus]
void enterCarFreeSatus()
进入自由态,如等待乘客阶段,since 6.5.8
BMKWalkCycleNaviDrawItemDisplayOption
导航地图页面元素自定义样式
Definition: BMKWalkCycleNavigationDisplayOption.h:189
BMKMapView
地图View类,使用此View可以显示地图窗口,并且对地图进行相关的操作
Definition: BMKMapView.h:132
BMKWalkCycleRouteResult
Definition: BMKWalkCycleRouteResult.h:26
-[BMKCycleNavigationManager getBackgroundNavigationView]
BMKBackgroundNavigationView * getBackgroundNavigationView()
-[BMKCycleNavigationManager returnToViewAll]
void returnToViewAll()
轻导航一键恢复全览,since 6.5.8
-[BMKCycleNavigationManager getNaviMap]
BMKMapView *_Nullable getNaviMap()
-[BMKCycleNavigationManager getCycleNavigationLocationData]
BMKWalkCycleNavigationData *_Nullable getCycleNavigationLocationData()
-[BMKCycleNavigationManager stopSimulateNavi]
void stopSimulateNavi()
结束模拟导航
BMKWalkCycleNavigationData
Definition: BMKWalkCycleNavigationData.h:14
BMKPolyline
此类用于定义一段折线
Definition: BMKPolyline.h:16
BMKCycleNavigationManager::naviMapViewAllStatus
BOOL naviMapViewAllStatus
设置导航是否全览状态,默认:NO 导航态,,since 6.6.2
Definition: BMKCycleNavigationManager.h:42
BMKCycleNavigationManager::routePlanDelegate
id< BMKWalkCycleRoutePlanDelegate > routePlanDelegate
Definition: BMKCycleNavigationManager.h:65
BMKWalkCycleNavigationDisplayOption.h
BMKCycleNavigationManager::locationAuthorizationDelegate
id< BMKWalkCycleLocationServiceDelegate > locationAuthorizationDelegate
Definition: BMKCycleNavigationManager.h:90
-[BMKCycleNavigationManager pause]
void pause()
BMKCycleNavigationManager::defaultNaviMapLevel
float defaultNaviMapLevel
设置默认比例尺,默认:19,范围:4~22,since 6.6.4
Definition: BMKCycleNavigationManager.h:59
-[BMKCycleNavigationManager stop]
void stop()
BMKCycleNavigationManager::carPositionOffset
CGPoint carPositionOffset
小车XY偏移量,默认无效值(MAXFLOAT, MAXFLOAT),初始化引擎后设置,since 6.6.4
Definition: BMKCycleNavigationManager.h:57
BMKWalkCycleRouteResult.h
BMKWalkCycleDefine.h
BMKWalkCycleNavigationDelegates.h
BMKCycleNavigationManager::routeGuidanceDelegate
id< BMKWalkCycleRouteGuidanceDelegate > routeGuidanceDelegate
Definition: BMKCycleNavigationManager.h:80
+[BMKCycleNavigationManager destroy]
void destroy()
BMKCycleNavigationManager::isSupportExternalTriggerLocation
BOOL isSupportExternalTriggerLocation
Definition: BMKCycleNavigationManager.h:97
-[BMKCycleNavigationManager getCycleNaviMulRouteInfos]
NSArray< BMKWalkCycleRouteResult * > *_Nullable getCycleNaviMulRouteInfos()
-[BMKCycleNavigationManager getCustomNaviView]
UIView *_Nullable getCustomNaviView()
获取导航自定义图层View,since 6.5.8
BMKCycleNavigationManager::naviMapRotateMode
BMKNaviMapRotateMode naviMapRotateMode
设置导航地图旋转模式,默认:BMKNaviMapRotateModeRoute 路线朝上,since 6.6.2
Definition: BMKCycleNavigationManager.h:37
-[BMKCycleNavigationManager getTrafficLightData]
BMKWalkCycleTrafficLightData * getTrafficLightData()
获取红路灯倒计时信息,用于自定义红路灯倒计时,在onTrafficLightDataUpdate回调中调用 since 6.6.3
-[BMKCycleNavigationManager exitCycleNomalNavi]
void exitCycleNomalNavi()
退出骑行专业导航,等同于点击骑行专业导航退出按钮,since 6.5.8
+[BMKCycleNavigationManager sharedManager]
instancetype sharedManager()
BMKCycleNaviLaunchParam.h
BMKCycleNavigationManager::bottomButtonHeight
CGFloat bottomButtonHeight
Definition: BMKCycleNavigationManager.h:54
-[BMKCycleNavigationManager getCycleNaviRouteInfo]
BMKWalkCycleRouteResult *_Nullable getCycleNaviRouteInfo()
-[BMKCycleNavigationManager startSimulateNavi]
void startSimulateNavi()
开始模拟导航
BMKCycleNavigationManager::managerDelegate
id< BMKWalkCycleManagerDelegate > managerDelegate
Definition: BMKCycleNavigationManager.h:75
BMKCycleNavigationManager::ttsPlayerEnable
BOOL ttsPlayerEnable
语音播报是否可用,默认YES,集成TTS SDK后即可正常播报
Definition: BMKCycleNavigationManager.h:103
BMKWalkCycleNavigationOptions
Definition: BMKWalkCycleNavigationOptions.h:17
BMKWalkCycleNavigationOptions.h
BMKCycleNavigationManager::naviMapOverlookingMode
BMKNaviMapOverlookingMode naviMapOverlookingMode
设置导航地图俯仰视角模式,默认:BMKNaviMapOverlookingMode2D 2d视角,since 6.6.2
Definition: BMKCycleNavigationManager.h:39
-[BMKCycleNavigationManager resume]
void resume()
BMKCycleNavigationManager::calcRouteDelegate
id< BMKWalkNaviCalcRouteDelegate > calcRouteDelegate
Definition: BMKCycleNavigationManager.h:70
BMKCycleNavigationManager::supportHeading
BOOL supportHeading
导航时是否支持手机传感器方向信息,默认YES
Definition: BMKCycleNavigationManager.h:100
BMKWalkCycleNavigationDisplayOption
Definition: BMKWalkCycleNavigationDisplayOption.h:26
BMKWalkCycleNaviSettingManager.h
BMKBackgroundNavigationView
Definition: BMKBackgroundNavigationView.h:76
BMKCycleNavigationManager::enableMultiRoute
BOOL enableMultiRoute
设置是否支持多路线规划选择,可在routePlanDelegate回调中处理多路线并进行绘制选择。默认NO
Definition: BMKCycleNavigationManager.h:46
BMKCycleNavigationManager::zoomToSpanInsets
UIEdgeInsets zoomToSpanInsets
路线全览区域在mapview上的insets,since 6.5.8
Definition: BMKCycleNavigationManager.h:35
BMKUserLocation
Definition: BMKUserLocation.h:14
BMKCycleNavigationManager::showRedGreenLight
BOOL showRedGreenLight
设置导航是否显示红路灯倒计时,引擎初始化成功后调用,默认:NO,有高级权限时默认YES,since 6.6.2
Definition: BMKCycleNavigationManager.h:44
BMKCycleNavigationManager::ttsPlayerDelegate
id< BMKWalkCycleTTSPlayerDelegate > ttsPlayerDelegate
Definition: BMKCycleNavigationManager.h:85