ios 地图sdk自v4.2.0版本起新增骑行导航功能,支持普通自行车骑行导航和电动车骑行导航、偏航纠偏等导航功能。
注册监听
骑行导航提供给开发者三类监听,分别是骑行导航算路回调、诱导信息回调、tts语音播报文本。 使用方法如下:
bmkcyclenavigationmanager*manager =[bmkcyclenavigationmanager sharedmanager];manager.routeplandelegate= self;//设置算路回调manager.routeguidancedelegate= self;//设置导航状态信息回调manager.ttsplayerdelegate= self;//设置语音播报回调
开始骑行导航前,需要进行骑行导航引擎初始化。
使用方法如下:
//由开发者提供导航页面walknaviviewcontroller*controller =[[walknaviviewcontroller alloc] init];//初始化bool inited =[[bmkcyclenavigationmanager sharedmanager] initnaviengine:controller];if(inited){//初始化成功,发起算路...}
引擎初始化成功之后,发起导航算路,其中bmkcyclenavilaunchparam的参数navitype用于指定是普通骑行导航或是电动车骑行导航。
使用方法如下:
bmkcyclenavilaunchparam*param =[[bmkcyclenavilaunchparam alloc] init];param.startpoint= _startannotation.coordinate;//设置起点param.endpoint= _endannotation.coordinate;//设置终点param.navitype=bmk_walk_cycle_navigation_type_normal_cycle;[[bmkcyclenavigationmanager sharedmanager] routeplanwithparams:param];
算路成功后,即可以执行弹出导航页面(即引擎初始化时传入的参数controller)操作。
使用方法如下:
#pragma mark -<bmkwalknavicalcroutedelegate>/// 引擎算路结果-(void)onnavicalcrouteresult:(bmkwalkcyclerouteplanerrorcode)errorcode navitype:(bmkwalkcyclenavigationtype)navitype {if(errorcode ==bmk_walk_cycle_routeplan_result_success){if(navitype ==bmk_walk_cycle_navigation_type_walk){// 进入导航页面开始步行导航[[bmkwalknavigationmanager sharedmanager] startwalknaviwithparentcontroller:self ispush:yes];}else{// 进入导航页面开始骑行导航[[bmkcyclenavigationmanager sharedmanager] startcyclenaviwithparentcontroller:self ispush:yes];}}else{nslog(@"sdk-引擎算路失败 %zd", errorcode);}}
在导航页面的- (void)viewwillappear:(bool)animated方法中发起骑行导航。
调用- (bool)startcyclenavi; 方法开始骑行导航。
使用方法如下:
//初始化导航引擎时开发者提供的导航页面-(void)viewwillappear:(bool)animated {[superviewwillappear:animated];[[bmkcyclenavigationmanager sharedmanager] startcyclenavi];}
步行导航和骑行导航均使用相同的代理回调,回调中参数navitype会告知开发者当前回调是骑行导航还是步行导航,请开发者注意区分。
bmkwalknavicalcroutedelegatee
·骑行、步行导航算路代理类,其中只有算路结果为成功的情况,开始骑行导航,算路失败发起导航无效。
/// 引擎算路结果/// @param errorcode 错误码-(void)onnavicalcrouteresult:(bmkwalkcyclerouteplanerrorcode)errorcode;-(void)onnavicalcrouteresult:(bmkwalkcyclerouteplanerrorcode)errorcode navitype:(bmkwalkcyclenavigationtype)navitype;
bmkwalkcyclemanagerdelegate
·步行、骑行导航管理代理类,提供退出导航等回调。
bmkwalkcyclerouteguidancedelegate
·骑行、步行导航诱导信息代理类,提供12个回调方法,主要包括导航开始、结束、导航过程中偏航、偏航结束、诱导信息(包含诱导默认图标、诱导类型、诱导信息、剩余距离、时间、振动回调等)。
·详见 bmkwalkcyclenavigationdelegates.h 头文件。
bmkwalkcyclettsplayerdelegate
·骑行、步行导航tts语音播报代理类,此组件只提供导航过程中的文本输出,不包含语音播报功能,需要自行传入对应的语音回调,形成播报功能。
·建议使用百度语音识别服务sdk。下载地址:
上一篇
下一篇
本篇文章对您是否有帮助?