路线结果页依赖app的页面生命周期,开发时需要通过baidunavimanagerfactory.getrouteresultmanager()获取到ibnrouteresultmanager,将ibnrouteresultmanager对应页面的生命周期挂接到页面的对应生命周期方法即可,app页面既可以是activity,也可以是fragment。
publicviewoncreateview(@nonnulllayoutinflater inflater, @nullableviewgroup container,@nullablebundle savedinstancestate){baidunavimanagerfactory.getrouteresultmanager().oncreate(getactivity());}
ibnrouteresultmanager中对应的方法如下:
/*** 生命周期oncreate,在{@linkplain activity#oncreate()}} 或者 {@linkplain fragment#oncreateview()}} 中调用*/voidoncreate(context context);/*** 生命周期onresume,在{@linkplain activity#onresume()}} 或者 {@linkplain fragment#onresume()}}中调用*/voidonresume();/*** 生命周期onpause,在{@linkplain activity#onpause()}} 或者 {@linkplain fragment#onpause()}} 中调用*/voidonpause();/*** 生命周期ondestroy,在{@linkplain activity#ondestroy()}} 或者 {@linkplain fragment#ondestroy()}} 中调用*/voidondestroy();/*** 为小黄条增加一个容器** @param viewgroup 添加小黄条的容器*/voidaddyellowtipstocontainer(viewgroup viewgroup);/*** 移出小黄条*/voidremoveyellowtipsfromcontainer();/*** 根据路线索引选择路线*/voidselectroute(int index);/*** 全览当前路线*/voidfullview();/*** 根据传入的坐标点全览图区,传入的坐标点不得小于2个*/voidfullviewbynode(list<bnrouteplannode> nodes);/*** 开启专业导航** @return 返回true,代表可以跳转至专业导航*/boolean startnavi();/*** 获取3tab信息和路线详情*/@deprecatedbundlegetrouteinfo();/*** 获取3tab信息和路线详情* @return*/@deprecatedbnrouteplaninfosgetrouteplaninfo();/*** 获取是否是长途*/boolean islongdistance();/*** 处理长途途径市按钮的点击** @param checked 按钮是否选中*/voidhandlecityclick(boolean checked);/*** 处理长途途径路按钮的点击** @param checked 按钮是否选中*/voidhandlerouteclick(boolean checked);/*** 处理长途途径服务区按钮的点击** @param checked 按钮是否选中*/voidhandleserviceclick(boolean checked);/*** 处理长途检查站按钮的点击** @param checked 按钮是否选中*/voidhandlecheckpointclick(boolean checked);/*** 处理长途天气按钮的点击** @param checked 按钮是否选中*/voidhandleweatherclick(boolean checked);/*** 路线点击事件监听*/voidsetrouteclickedlistener(irouteclickedlistener listener);/*** 途经点点击事件,监听事件该可自定义途径点气泡样式* 注:如果监听了该事件,sdk内置途经点气泡不会展示*/voidsetonthroughnodeclicklistener(ithroughnodeclickedlistener listener);/*** 内置长途路线气泡增删途径点算路事件监听*/voidsetcalcroutebyvialistener(icalcroutebyvialistener listener);/*** 沿途搜* @param types 搜索类型 {@link nearbysearchkeyword}* @param listener*/voidpoisearch(arraylist<string> types,poisearchlistener listener);
算路结果页算路事件监听:
baidunavimanagerfactory.getrouteresultmanager().setcalcroutebyvialistener(newibnrouteresultmanager.icalcroutebyvialistener(){@overridepublicvoidonstart(){}@overridepublicvoidonsuccess(){}@overridepublicvoidonfailed(int errorcode){}});
路线点击事件监听:
baidunavimanagerfactory.getrouteresultmanager().setrouteclickedlistener(newibnrouteresultmanager.irouteclickedlistener(){@overridepublicvoidrouteclicked(int index){baidunavimanagerfactory.getrouteresultmanager().selectroute(index);switch(index){case0:// 路线0点击break;case1:// 路线1点击break;case2:// 路线2点击break;default:break;}}});
上一篇
下一篇
本篇文章对您是否有帮助?