出行场景的多路线规划
使用场景
根据起终点规划多条路线,结合路线特点,帮助用户选择合适路线。
Android
iOS

//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/多路线规划.mp4

扫码体验
核心接口
类
接口
描述
getBaiduNaviManager()
获取导航管理类实例
getMapManager()
获取基础地图管理类示例
BaiduNaviManagerFactory
getTTSManager()
获取语音播放管理类实例
getRoutePlanManager()
获取路径规划类实例
getRouteGuideManager()
获取导航管理类实例
attach(ViewGroup viewGroup);
地图底图attach到ViewGroup
IBNMapManager
detach(ViewGroup viewGroup)
地图地图从ViewGroup detach
IBaiduNaviManager
init(Context context, String dataDir,String appFolderName, INaviInitListener listener)
导航初始化接口
IBNTTSManager
initTTS(Context context, String sdcardDir, String appFolderName, String ttsAppID);
初始化语音播报引擎
IBNRoutePlanManager
routeplan(List<BNRoutePlanNode> var1, int var2, Bundle var3, Handler var4);
进行算路
重点关注
需要在BaiduNaviManagerFactory.getBaiduNaviManager().init 完成,并且回调initSuccess后,再初始化语音播报引擎以及进行routePlan算路。
核心代码
JAVA
/** * 算路规划 * * @param sNode * @param eNode */ private void routePlan(BNRoutePlanNode sNode, BNRoutePlanNode eNode) { List<BNRoutePlanNode> list = new ArrayList<>(); list.add(sNode); list.add(eNode); BaiduNaviManagerFactory.getRoutePlanManager().routeplan( list, IBNRoutePlanManager.RoutePlanPreference.ROUTE_PLAN_PREFERENCE_DEFAULT, null, new Handler(Looper.getMainLooper()) { @Override public void handleMessage(Message msg) { switch (msg.what) { case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_START: Log.d(TAG, "算路开始!"); break; case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_SUCCESS: Log.d(TAG, "成功!"); mFl_retry.setVisibility(View.GONE); FragmentManager fm = getSupportFragmentManager(); FragmentTransaction tx = fm.beginTransaction(); DemoRouteResultFragment fragment = new DemoRouteResultFragment(); tx.add(R.id.fragment_content, fragment, "RouteResult"); tx.commit(); break; case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_FAILED: mFl_retry.setVisibility(View.VISIBLE); Toast.makeText(getApplicationContext(), "算路失败", Toast.LENGTH_SHORT).show(); break; default: // nothing break; } } }); } }
复制
深色
复制成功