路线结果页依赖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;}}});
上一篇
下一篇