BaiduMap_IOSSDK_v7.1.0_Docs 7.1.0

构造函数 | 类方法 | 属性 | 所有成员列表
BMKWalkNavigationManager类 参考

步行导航控制器类 更多...

`#import <BMKWalkNavigationManager.h>`

类 BMKWalkNavigationManager 继承关系图:

## 构造函数
(BOOL) | - initNaviEngine:
(BOOL) | - initNaviEngine:displayOption:
(BOOL) | - initNaviEngine:options:
(BOOL) | - initNaviEngine:displayOption:npcOption:
(void) | - routePlanWithParams:
(NSArray< BMKWalkCycleRouteResult * > *_Nullable) | - getWalkNaviMulRouteInfos
(BMKWalkCycleRouteResult *_Nullable) | - getWalkNaviRouteInfo
(BMKWalkCycleNavigationData *_Nullable) | - getWalkNavigationLocationData
(NSArray< BMKPolyline * > *_Nullable) | - displayRoutePlanResult:
(BMKWalkCycleTrafficLightData *) | - getTrafficLightData
| 获取红路灯倒计时信息，用于自定义红路灯倒计时，在onTrafficLightDataUpdate回调中调用 更多...
(void) | - naviCalcRoute:
(BOOL) | - startWalkNavi:
("已废弃since 6.5.4，内部无实现，请使用- (BOOL) | - startWalkNavi:withParentController:
(BOOL) | - startWalkNaviWithParentController:isPush:
(void) | - exitWalkNomalNavi
| 退出步行专业导航，等同于点击步行专业导航退出按钮,since 6.5.8 更多...
(BOOL) | - startWalkLightNaviWithParentView:
(void) | - exitWalkLightNavi
| 退出轻导航，当退出轻导航页面时，需要退出轻导航，since 6.5.8 更多...
(BOOL) | - switchToWalkNomalNaviWithParentController:isPush:
| 轻导航切换到专业导航 更多...
(void) | - returnToViewAll
| 轻导航一键恢复全览 更多...
(void) | - enterCarFreeSatus
| 进入自由态，如等待乘客阶段 更多...
(void) | - leaveCarFreeSatus
| 离开自由态 更多...
(UIView *_Nullable) | - getCustomNaviView
| 获取导航自定义图层View 更多...
(BMKMapView *_Nullable) | - getNaviMap
| 获取步行导航底图对象 更多...
(BMKBackgroundNavigationView *) | - getBackgroundNavigationView
(BMKBackgroundNavigationView *) | - getBackgroundNavigationViewWithTag:
(void) | - pause
| 导航过程生命周期函数，暂停导航。 更多...
(void) | - resume
| 导航过程生命周期函数，恢复导航。 更多...
(void) | - stop
| 导航过程生命周期函数，结束导航。 更多...
(void) | - showsBackgroundLocationIndicator:
(BOOL) | - isOnlyIndoorRouteNavi
| 是否是纯室内路线导航 更多...
(void) | - triggerLocation:
| 外部传入定位坐标数据 更多...
(void) | - triggerHeading:
| 外部传入定位heading数据 更多...
(void) | - startSimulateNavi
| 开始模拟导航 更多...
(void) | - stopSimulateNavi
| 结束模拟导航 更多...
(void) | - setSimulateNaviSpeed:
| 设置模拟导航速度,速度范围0～20m/s,默认1m/s 更多...
(NSArray< BMKWalkNavigationNPCGuider * > *_Nullable) | - fetchAllAvailableGuiders
(BOOL) | - showGuider:
(void) | - startSimulateNavi
| 开始模拟导航 更多...
(void) | - stopSimulateNavi
| 结束模拟导航 更多...
(void) | - setSimulateNaviSpeed:
| 设置模拟导航速度,速度范围0～20m/s,默认1m/s 更多...
(void) | - setNaviDrawElementsShow:elements:
(void) | - updateNaviDrawItemDisplayOption:

## 类方法
(instancetype) | + sharedManager
(void) | + destroy
| 销毁单例 更多...

## 属性
BMKWalkNavigationMode | walkNaviMode
| 设置导航模式,默认：BMK_WALK_NAVIGATION_MODE_WALK_NORMAL-普通步行导航 更多...
BOOL | showRedGreenLight
| 设置导航是否显示红路灯倒计时,引擎初始化成功后调用，默认：NO，有高级权限时默认YES，since 6.6.2 更多...
UIEdgeInsets | zoomToSpanInsets
| 路线全览区域在mapview上的insets，since 6.5.8 更多...
BMKNaviMapRotateMode | naviMapRotateMode
| 设置导航地图旋转模式，默认：BMKNaviMapRotateModeRoute 路线朝上，since 6.6.2 更多...
BMKNaviMapOverlookingMode | naviMapOverlookingMode
| 设置导航地图俯仰视角模式，默认：BMKNaviMapOverlookingMode2D 2d视角，since 6.6.2 更多...
BOOL | naviMapViewAllStatus
| 设置导航是否全览状态，默认：NO 导航态，，since 6.6.2 更多...
CGFloat | bottomButtonHeight
CGPoint | carPositionOffset
| 小车XY偏移量,默认无效值(MAXFLOAT, MAXFLOAT），初始化引擎后设置，since 6.6.4 更多...
float | defaultNaviMapLevel
| 设置默认比例尺，默认：19,范围：4～22 更多...
BMKWalkCycleNaviSettingManager * | naviSettingManager
| 导航设置选项,初始化导航后设置 更多...
BOOL | enableMultiRoute
| 设置是否支持多路线规划选择，可在routePlanDelegate回调中处理多路线并进行绘制选择。默认NO 更多...
id< BMKWalkCycleRoutePlanDelegate > | routePlanDelegate
| 多路线规划代理回调 更多...
id< BMKWalkNaviCalcRouteDelegate > | calcRouteDelegate
| 引擎算路代理，回调成功时即可调用startWalkNaviWithParentController开始导航 更多...
id< BMKWalkCycleManagerDelegate > | managerDelegate
| 导航管理回调 更多...
id< BMKWalkCycleRouteGuidanceDelegate > | routeGuidanceDelegate
| 导航状态信息回调 更多...
id< BMKWalkCycleTTSPlayerDelegate > | ttsPlayerDelegate
| 语音播报文本回调 更多...
id< BMKWalkCycleLocationServiceDelegate > | locationAuthorizationDelegate
| 步骑行导航定位权限授权代理，开发者在调用startWalkNavi前主动申请相关定位权限 更多...
BOOL | isSupportExternalTriggerLocation
BOOL | supportHeading
| 导航时是否支持手机传感器方向信息，默认YES 更多...
BOOL | ttsPlayerEnable
| 语音播报是否可用，默认YES，集成TTS SDK后即可正常播报 更多...

## 详细描述

步行导航控制器类

## 函数文档

## ◆ destroy

+ (void) destroy |  |  |

销毁单例

## ◆ displayRoutePlanResult:

- (NSArray<BMKPolyline *> *_Nullable) displayRoutePlanResult: |  | (BMKMapView *) | mapview |

展示步行多路线 since 6.4.0

参数

  mapview | 展示路线的mapView

返回
  obj 路线BMKPolyline

## ◆ enterCarFreeSatus

- (void) enterCarFreeSatus |  |  |

进入自由态，如等待乘客阶段

## ◆ exitWalkLightNavi

- (void) exitWalkLightNavi |  |  |

退出轻导航，当退出轻导航页面时，需要退出轻导航，since 6.5.8

## ◆ exitWalkNomalNavi

- (void) exitWalkNomalNavi |  |  |

退出步行专业导航，等同于点击步行专业导航退出按钮,since 6.5.8

## ◆ fetchAllAvailableGuiders

- (NSArray <BMKWalkNavigationNPCGuider *> *_Nullable) fetchAllAvailableGuiders |  |  |

获取所有可用'3D'引导员资源，其中包括开发者您提供的自定义引导员以及由步骑行导航组件提供图图引导员和经典模式。 可用于自定义引导员选择列表。

返回
  所有可用引导员。

## ◆ getBackgroundNavigationView

- (BMKBackgroundNavigationView *) getBackgroundNavigationView |  |  |

获取步行后台导航视图对象

## ◆ getBackgroundNavigationViewWithTag:

- (BMKBackgroundNavigationView *) getBackgroundNavigationViewWithTag: |  | (NSString *) | tag |

根据tag获取步行后台导航视图对象

## ◆ getCustomNaviView

- (UIView *_Nullable) getCustomNaviView |  |  |

获取导航自定义图层View

## ◆ getNaviMap

- (BMKMapView *_Nullable) getNaviMap |  |  |

获取步行导航底图对象

## ◆ getTrafficLightData

- (BMKWalkCycleTrafficLightData *) getTrafficLightData |  |  |

获取红路灯倒计时信息，用于自定义红路灯倒计时，在onTrafficLightDataUpdate回调中调用

## ◆ getWalkNavigationLocationData

- (BMKWalkCycleNavigationData *_Nullable) getWalkNavigationLocationData |  |  |

获取导航过程中的位置点数据 since 6.6.2 需要在导航过程中调用，否则会为nil

## ◆ getWalkNaviMulRouteInfos

- (NSArray<BMKWalkCycleRouteResult *> *_Nullable) getWalkNaviMulRouteInfos |  |  |

获取导航多路线规划信息 since 6.6.2 需要在算路规划成功(-onRoutePlanResult: naviType:)后获取，否则会为nil

## ◆ getWalkNaviRouteInfo

- (BMKWalkCycleRouteResult *_Nullable) getWalkNaviRouteInfo |  |  |

获取导航算路路线信息 since 6.6.2 需要在引擎算路成功(-onNaviCalcRouteResult: naviType:)和偏航算路成功(-onReRouteComplete:)后获取，否则会为nil

## ◆ initNaviEngine:

- (BOOL) initNaviEngine: |  | (UIViewController *_Nullable) | controller |

初始化引擎 方法一

参数

  controller | 导航页面，由开发者提供。

返回
  引擎初始化结果。

## ◆ initNaviEngine:displayOption:

- (BOOL) initNaviEngine: |  | (UIViewController *_Nullable) | controller
displayOption: |  | (BMKWalkCycleNavigationDisplayOption *_Nullable) | displayOption

初始化引擎 方法二 since 5.3.0

参数

  controller | 导航页面，由开发者提供。
  displayOption | 导航定制化展示相关参数。

返回
  引擎初始化结果。

## ◆ initNaviEngine:displayOption:npcOption:

- (BOOL) initNaviEngine: |  | (UIViewController *_Nullable) | controller
displayOption: |  | (BMKWalkCycleNavigationDisplayOption *_Nullable) | displayOption
npcOption: |  | (BMKWalkNavigationNPCOption *_Nullable) | npcOption

初始化引擎 方法二

参数

  controller | 导航页面，由开发者提供。
  displayOption | 导航定制化展示相关参数。
  npcOption | NPC（AR导航'3D'引导员）相关参数，如果不需要自定义AR3D引导员，可传nil,此参数设置为nil，将不显示打开导引员列表的按钮。

返回
  引擎初始化结果

## ◆ initNaviEngine:options:

- (BOOL) initNaviEngine: |  | (UIViewController *_Nullable) | controller
options: |  | (BMKWalkCycleNavigationOptions *_Nullable) | options

初始化引擎 since 6.6.2

参数

  controller | 导航页面，由开发者提供。
  options | 导航相关可选配置参数。

返回
  引擎初始化结果。

## ◆ isOnlyIndoorRouteNavi

- (BOOL) isOnlyIndoorRouteNavi |  |  |

是否是纯室内路线导航

## ◆ leaveCarFreeSatus

- (void) leaveCarFreeSatus |  |  |

离开自由态

## ◆ naviCalcRoute:

- (void) naviCalcRoute: |  | (NSInteger) | routeIndex |

引擎算路接口 since 6.4.0

参数

  routeIndex | 路线索引

## ◆ pause

- (void) pause |  |  |

导航过程生命周期函数，暂停导航。

## ◆ resume

- (void) resume |  |  |

导航过程生命周期函数，恢复导航。

## ◆ returnToViewAll

- (void) returnToViewAll |  |  |

轻导航一键恢复全览

## ◆ routePlanWithParams:

- (void) routePlanWithParams: |  | (BMKWalkNaviLaunchParam *) | parameter |

发起算路

参数

  parameter | 步行导航起终点参数类

## ◆ setNaviDrawElementsShow:elements:

- (void) setNaviDrawElementsShow: |  | (BOOL) | show
elements: |  | (NSArray *) | elements

导航元素显示控制，包括：引导红线，红绿灯🚥标签，红绿灯倒计时气泡，路名气泡，交通设施标签，交通设施气泡，里程碑标签等

- Parameters:
  - show: YES：显示；NO：隐藏
  - elements: 显示/隐藏的元素,可支持元素类型参考：BMKNaviDrawElementType 如：@[@(BMKNaviDrawElementTypeRedLine), @(BMKNaviDrawElementTypeTrafficLight), @(BMKNaviDrawElementTypeTrafficLightPop)]

## ◆ setSimulateNaviSpeed: [1/2]

- (void) setSimulateNaviSpeed: |  | (int) | speed |

设置模拟导航速度,速度范围0～20m/s,默认1m/s

## ◆ setSimulateNaviSpeed: [2/2]

- (void) setSimulateNaviSpeed: |  | (int) | speed |

设置模拟导航速度,速度范围0～20m/s,默认1m/s

## ◆ sharedManager

+ (instancetype) sharedManager |  |  |

单例全局访问点

返回
  BMKWalkNavigationManager单例对象。

## ◆ showGuider:

- (BOOL) showGuider: |  | (BMKWalkNavigationNPCGuider *) | guider |

加载显示指定的引导员

参数

  guider | 指定引导员。

返回
  返回设置结果。

## ◆ showsBackgroundLocationIndicator:

- (void) showsBackgroundLocationIndicator: |  | (BOOL) | show |

设置是否显示定位指示蓝条

参数

  show | YES:显示（进入后台时保留被授予的临时访问权限） NO：不显示

## ◆ startSimulateNavi [1/2]

- (void) startSimulateNavi |  |  |

开始模拟导航

## ◆ startSimulateNavi [2/2]

- (void) startSimulateNavi |  |  |

开始模拟导航

## ◆ startWalkLightNaviWithParentView:

- (BOOL) startWalkLightNaviWithParentView: |  | (UIView *) | parentView |

导航过程生命周期函数, 开始轻导航,since 6.5.8

参数

  parentView | 放置轻导航MapView的父view，用于展示轻导航路线

## ◆ startWalkNavi:

- (BOOL) startWalkNavi: |  | ("已废弃since 6.0.0，内部无实现，请使用-(BOOL)startWalkNavi") | __deprecated_msg |

导航过程生命周期函数, 开始导航。已废弃 since 6.0.0 选择模式不同，加载导航页面不一样，分为普通步行和AR步行两种模式。

参数

  navigationMode | 步行导航模式。

返回
  开始导航结果

## ◆ startWalkNavi:withParentController:

- ("已废弃since 6.5.4，内部无实现，请使用- (BOOL) startWalkNavi: |  | (id) |
withParentController: |  | (id) | isPush

## ◆ startWalkNaviWithParentController:isPush:

- (BOOL) startWalkNaviWithParentController: |  | (UIViewController *_Nullable) | controller
isPush: |  | (BOOL) | isPush

导航过程生命周期函数, 开始导航。 since 6.5.4 设置walkNaviMode模式的不同，加载导航页面不一样，分为轻步行导航、普通步行、AR步行三种模式。 @controller 父controller，用于push或present @isPush 是否Push出新页面，YES：push；NO：present

返回
  开始导航结果

## ◆ stop

- (void) stop |  |  |

导航过程生命周期函数，结束导航。

## ◆ stopSimulateNavi [1/2]

- (void) stopSimulateNavi |  |  |

结束模拟导航

## ◆ stopSimulateNavi [2/2]

- (void) stopSimulateNavi |  |  |

结束模拟导航

## ◆ switchToWalkNomalNaviWithParentController:isPush:

- (BOOL) switchToWalkNomalNaviWithParentController: |  | (UIViewController *) | controller
isPush: |  | (BOOL) | isPush

轻导航切换到专业导航

## ◆ triggerHeading:

- (void) triggerHeading: |  | (CLHeading *) | heading |

外部传入定位heading数据

## ◆ triggerLocation:

- (void) triggerLocation: |  | (BMKUserLocation *) | location |

外部传入定位坐标数据

## ◆ updateNaviDrawItemDisplayOption:

- (void) updateNaviDrawItemDisplayOption: |  | (BMKWalkCycleNaviDrawItemDisplayOption *) | dispalyOption |

更新导航元素自定义样式

- Parameters:
  - dispalyOption: 自定义主导航实例元素自定义样式（这里自定义多实例的元素样式不会生效）

## 属性说明

## ◆ bottomButtonHeight

- (CGFloat) bottomButtonHeight
| readwritenonatomicassign

底部需要预留高度，用于填充自身控件,默认0

## ◆ calcRouteDelegate

- (id<BMKWalkNaviCalcRouteDelegate>) calcRouteDelegate
| readwritenonatomicweak

引擎算路代理，回调成功时即可调用startWalkNaviWithParentController开始导航

## ◆ carPositionOffset

- (CGPoint) carPositionOffset
| readwritenonatomicassign

小车XY偏移量,默认无效值(MAXFLOAT, MAXFLOAT），初始化引擎后设置，since 6.6.4

## ◆ defaultNaviMapLevel

- (float) defaultNaviMapLevel
| readwritenonatomicassign

设置默认比例尺，默认：19,范围：4～22

## ◆ enableMultiRoute

- (BOOL) enableMultiRoute
| readwritenonatomicassign

设置是否支持多路线规划选择，可在routePlanDelegate回调中处理多路线并进行绘制选择。默认NO

## ◆ isSupportExternalTriggerLocation

- (BOOL) isSupportExternalTriggerLocation
| readwritenonatomicassign

是否支外部传入位置，默认NO（步行室内外一体化导航时设置为YES，配合百度定位SDK由外部传入位置、、楼id，楼层、heading等信息） 配合triggerLocation和triggerHeading接口，实现仅外部传入位置点对导航生效，避免内部系统定位对位置点影响 也可用于模拟导航

## ◆ locationAuthorizationDelegate

- (id<BMKWalkCycleLocationServiceDelegate>) locationAuthorizationDelegate
| readwritenonatomicweak

步骑行导航定位权限授权代理，开发者在调用startWalkNavi前主动申请相关定位权限

## ◆ managerDelegate

- (id<BMKWalkCycleManagerDelegate>) managerDelegate
| readwritenonatomicweak

导航管理回调

## ◆ naviMapOverlookingMode

- (BMKNaviMapOverlookingMode) naviMapOverlookingMode
| readwritenonatomicassign

设置导航地图俯仰视角模式，默认：BMKNaviMapOverlookingMode2D 2d视角，since 6.6.2

## ◆ naviMapRotateMode

- (BMKNaviMapRotateMode) naviMapRotateMode
| readwritenonatomicassign

设置导航地图旋转模式，默认：BMKNaviMapRotateModeRoute 路线朝上，since 6.6.2

## ◆ naviMapViewAllStatus

- (BOOL) naviMapViewAllStatus
| readwritenonatomicassign

设置导航是否全览状态，默认：NO 导航态，，since 6.6.2

## ◆ naviSettingManager

- (BMKWalkCycleNaviSettingManager*) naviSettingManager
| readwritenonatomicstrong

导航设置选项,初始化导航后设置

## ◆ routeGuidanceDelegate

- (id<BMKWalkCycleRouteGuidanceDelegate>) routeGuidanceDelegate
| readwritenonatomicweak

导航状态信息回调

## ◆ routePlanDelegate

- (id<BMKWalkCycleRoutePlanDelegate>) routePlanDelegate
| readwritenonatomicweak

多路线规划代理回调

## ◆ showRedGreenLight

- (BOOL) showRedGreenLight
| readwritenonatomicassign

设置导航是否显示红路灯倒计时,引擎初始化成功后调用，默认：NO，有高级权限时默认YES，since 6.6.2

## ◆ supportHeading

- (BOOL) supportHeading
| readwritenonatomicassign

导航时是否支持手机传感器方向信息，默认YES

## ◆ ttsPlayerDelegate

- (id<BMKWalkCycleTTSPlayerDelegate>) ttsPlayerDelegate
| readwritenonatomicweak

语音播报文本回调

## ◆ ttsPlayerEnable

- (BOOL) ttsPlayerEnable
| readwritenonatomicassign

语音播报是否可用，默认YES，集成TTS SDK后即可正常播报

## ◆ walkNaviMode

- (BMKWalkNavigationMode) walkNaviMode
| readwritenonatomicassign

设置导航模式,默认：BMK_WALK_NAVIGATION_MODE_WALK_NORMAL-普通步行导航

## ◆ zoomToSpanInsets

- (UIEdgeInsets) zoomToSpanInsets
| readwritenonatomicassign

路线全览区域在mapview上的insets，since 6.5.8

该类的文档由以下文件生成:

- BaiduMapAPI_WalkNavi.framework/Headers/BMKWalkNavigationManager.h