路线结果页依赖App的页面生命周期,开发时需要通过BaiduNaviManagerFactory.getRouteResultManager()获取到IBNRouteResultManager,将IBNRouteResultManager对应页面的生命周期挂接到页面的对应生命周期方法即可,App页面既可以是Activity,也可以是Fragment。
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {BaiduNaviManagerFactory.getRouteResultManager().onCreate(getActivity());}
IBNRouteResultManager中对应的方法如下:
/*** 生命周期onCreate,在{@linkplain Activity#onCreate()}} 或者 {@linkplain Fragment#onCreateView()}} 中调用*/void onCreate(Context context);/*** 生命周期onResume,在{@linkplain Activity#onResume()}} 或者 {@linkplain Fragment#onResume()}}中调用*/void onResume();/*** 生命周期onPause,在{@linkplain Activity#onPause()}} 或者 {@linkplain Fragment#onPause()}} 中调用*/void onPause();/*** 生命周期onDestroy,在{@linkplain Activity#onDestroy()}} 或者 {@linkplain Fragment#onDestroy()}} 中调用*/void onDestroy();/*** 为小黄条增加一个容器** @param viewGroup 添加小黄条的容器*/void addYellowTipsToContainer(ViewGroup viewGroup);/*** 移出小黄条*/void removeYellowTipsFromContainer();/*** 根据路线索引选择路线*/void selectRoute(int index);/*** 全览当前路线*/void fullView();/*** 根据传入的坐标点全览图区,传入的坐标点不得小于2个*/void fullViewByNode(List<BNRoutePlanNode> nodes);/*** 开启专业导航** @return 返回true,代表可以跳转至专业导航*/boolean startNavi();/*** 获取3Tab信息和路线详情*/@DeprecatedBundle getRouteInfo();/*** 获取3Tab信息和路线详情* @return*/@DeprecatedBNRoutePlanInfos getRoutePlanInfo();/*** 获取是否是长途*/boolean isLongDistance();/*** 处理长途途径市按钮的点击** @param checked 按钮是否选中*/void handleCityClick(boolean checked);/*** 处理长途途径路按钮的点击** @param checked 按钮是否选中*/void handleRouteClick(boolean checked);/*** 处理长途途径服务区按钮的点击** @param checked 按钮是否选中*/void handleServiceClick(boolean checked);/*** 处理长途检查站按钮的点击** @param checked 按钮是否选中*/void handleCheckpointClick(boolean checked);/*** 处理长途天气按钮的点击** @param checked 按钮是否选中*/void handleWeatherClick(boolean checked);/*** 路线点击事件监听*/void setRouteClickedListener(IRouteClickedListener listener);/*** 途经点点击事件,监听事件该可自定义途径点气泡样式* 注:如果监听了该事件,SDK内置途经点气泡不会展示*/void setOnThroughNodeClickListener(IThroughNodeClickedListener listener);/*** 内置长途路线气泡增删途径点算路事件监听*/void setCalcRouteByViaListener(ICalcRouteByViaListener listener);/*** 沿途搜* @param types 搜索类型 {@link NearbySearchKeyword}* @param listener*/void poiSearch(ArrayList<String> types, PoiSearchListener listener);
算路结果页算路事件监听:
BaiduNaviManagerFactory.getRouteResultManager().setCalcRouteByViaListener(new IBNRouteResultManager.ICalcRouteByViaListener() {@Overridepublic void onStart() {}@Overridepublic void onSuccess() {}@Overridepublic void onFailed(int errorCode) {}});
路线点击事件监听:
BaiduNaviManagerFactory.getRouteResultManager().setRouteClickedListener(new IBNRouteResultManager.IRouteClickedListener() {@Overridepublic void routeClicked(int index) {BaiduNaviManagerFactory.getRouteResultManager().selectRoute(index);switch (index) {case 0:// 路线0点击break;case 1:// 路线1点击break;case 2:// 路线2点击break;default:break;}}});
上一篇
下一篇
本篇文章对您是否有帮助?