第1行: | 第1行: | ||
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">出行场景的多路线规划</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">使用场景</div><div class="wrap-mi">根据起终点规划多条路线,结合路线特点,帮助用户选择合适路线。</div><!-- --></div><div class="demos_wrap"><div class="header"><div class="andiord-header active">Android</div><div class="ios-header">iOS</div></div><div class="andiord-wrap wrap"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-and"></div><div class="phone-android"><div class="video-wrap infor"><div class="video-control"></div><!-- 安卓视频位置 (不写协议)--><pre>//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/多路线规划.mp4</pre> | <div id="examples_center"><!-- 页面标题 --><div class="title-hd">出行场景的多路线规划</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">使用场景</div><div class="wrap-mi">根据起终点规划多条路线,结合路线特点,帮助用户选择合适路线。</div><!-- --></div><div class="demos_wrap"><div class="header"><div class="andiord-header active">Android</div><div class="ios-header">iOS</div></div><div class="andiord-wrap wrap"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-and"></div><div class="phone-android"><div class="video-wrap infor"><div class="video-control"></div><!-- 安卓视频位置 (不写协议)--><pre>//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/多路线规划.mp4</pre> | ||
− | </div><div class="video-icon-and"><div class="play play-and"></div><div class="stop stop-and"></div></div></div><div class="progressWrap-hide-and"></div><div id="videoControls-and"><div id="progressWrap-and"><div id="playProgress-and"></div></div></div></div><div class="left-qrCode"><!-- 安卓二维码位置 --><div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/多路线.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- 安卓使用产品下选项,可有多个 | + | </div><div class="video-icon-and"><div class="play play-and"></div><div class="stop stop-and"></div></div></div><div class="progressWrap-hide-and"></div><div id="videoControls-and"><div id="progressWrap-and"><div id="playProgress-and"></div></div></div></div><div class="left-qrCode"><!-- 安卓二维码位置 --><div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/多路线.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- 安卓使用产品下选项,可有多个 --><div class="documentA">Android导航SDK|/index.php?title=android-navsdk</div><div>></div><div class="documentA">驾车页|/index.php?title=android-navsdk/guide/routeresult</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- 安卓源码地址 --><div class="github-url-and">//mapopen-website-wiki.bj.bcebos.com/demos/location/ONSDKDemo.zip</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div></div><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduNaviManagerFactory</div></div><div><div>getBaiduNaviManager()</div></div><div><div>获取导航管理类实例</div></div></div><!-- --><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduNaviManagerFactory</div></div><div><div>getMapManager()</div></div><div><div>获取基础地图管理类示例</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduNaviManagerFactory</div></div><div><div>getTTSManager()</div></div><div><div>获取语音播放管理类实例</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduNaviManagerFactory</div></div><div><div>getRoutePlanManager()</div></div><div><div>获取路径规划类实例</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BaiduNaviManagerFactory</div></div><div><div>getRouteGuideManager()</div></div><div><div>获取导航管理类实例</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">IBNMapManager</div></div><div><div>attach(ViewGroup viewGroup);</div></div><div><div>地图底图attach到ViewGroup</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">IBNMapManager</div></div><div><div>detach(ViewGroup viewGroup)</div></div><div><div>地图地图从ViewGroup detach</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">IBaiduNaviManager</div></div><div><div>init(Context context, String dataDir,String appFolderName, INaviInitListener listener)</div></div><div><div>导航初始化接口</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">IBNTTSManager</div></div><div><div>initTTS(Context context, String sdcardDir, String appFolderName, String ttsAppID);</div></div><div><div>初始化语音播报引擎</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">IBNRoutePlanManager</div></div><div><div>routeplan(List<BNRoutePlanNode> var1, int var2, Bundle var3, Handler var4);</div></div><div><div>进行算路</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>重点关注</div></div><div class="pre-nav" style="margin-left: 10px;"><div>需要在BaiduNaviManagerFactory.getBaiduNaviManager().init 完成,并且回调initSuccess后,再初始化语音播报引擎以及进行routePlan算路。</div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-wrap"><div class="pre-wrap-nav"><div>JAVA</div></div><!-- 安卓示例代码位置 --><div class="pre-wrap-w pre-wrap-w-and"><pre class="prettyprint prettyprinted pre-and">/** |
* 算路规划 | * 算路规划 | ||
* | * | ||
第47行: | 第47行: | ||
</pre> | </pre> | ||
<div class="pre-btn"><div class="pre-btn-copy-and">复制</div><div class="pre-btn-cb-and">深色</div></div><div class="success">复制成功</div></div></div></div><div class="ios-wrap wrap" style="display: none;"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-ios"></div><div class="phone-ios"><div class="video-wrap infor"><div class="video-control"></div><!-- ios视频位置 --><pre>//mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/iOS多路线规划.mov</pre> | <div class="pre-btn"><div class="pre-btn-copy-and">复制</div><div class="pre-btn-cb-and">深色</div></div><div class="success">复制成功</div></div></div></div><div class="ios-wrap wrap" style="display: none;"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-ios"></div><div class="phone-ios"><div class="video-wrap infor"><div class="video-control"></div><!-- ios视频位置 --><pre>//mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/iOS多路线规划.mov</pre> | ||
− | </div><div class="video-icon-ios"><div class="play play-ios"></div><div class="stop stop-ios"></div></div></div><div class="progressWrap-hide-ios"></div><div id="videoControls-ios"><div id="progressWrap-ios"><div id="playProgress-ios"></div></div></div></div><div class="left-qrCode iosqrCode"><!-- ios二维码位置 --><div class="qrCode-ios">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/ioscodes/出行场景的多路线规划@1xios.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- IOS使用产品下选项,可有多个 | + | </div><div class="video-icon-ios"><div class="play play-ios"></div><div class="stop stop-ios"></div></div></div><div class="progressWrap-hide-ios"></div><div id="videoControls-ios"><div id="progressWrap-ios"><div id="playProgress-ios"></div></div></div></div><div class="left-qrCode iosqrCode"><!-- ios二维码位置 --><div class="qrCode-ios">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/ioscodes/出行场景的多路线规划@1xios.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- IOS使用产品下选项,可有多个 --><div class="documentA">iOS导航SDK|/index.php?title=ios-navsdk</div><!-- --><div>></div><div class="documentA">驾车页|/index.php?title=ios-navsdk/guide/DrivePage</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- IOS源码地址 --><div class="github-url-ios">//mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/iOS多路线规划.zip</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div><div>备注</div></div><!-- ios表格接口内容,可有多个 --><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMultiRouteSelectedView</div></div><div><div>- (void)configData:(NSArray<BNCarOneRouteModel *> *)routes</div></div><div><div>配置路线数据</div></div><div><div></div></div></div><!-- --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMultiRouteSelectedView</div></div><div><div>- (void)multiRouteSelected:(NSUInteger)index;</div></div><div><div>设置选中第几条route</div></div><div><div></div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMultiRouteSelectedView</div></div><div><div>- (void)routeSelected:(void(^)(NSUInteger index))selectedBlock;</div></div><div><div>方案选中回调</div></div><div><div></div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BNaviService</div></div><div><div>- (void)startNaviRoutePlan:(BNRoutePlanMode)eMode naviNodes:(NSArray*)naviNodes time:(BNaviCalcRouteTime*)naviTime delegete:(id<BNNaviRoutePlanDelegate>)delegate userInfo:(NSDictionary*)userInfo</div></div><div><div>发起算路</div></div><div><div>V4.8.0起</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BNaviService</div></div><div><div>- (void)routePlanDidFinished:(NSDictionary*)userInfo;</div></div><div><div>算路成功回调</div></div><div><div>V4.8.0起</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BNaviService</div></div><div><div>- (void)routePlanDidFailedWithError:(NSError *)error andUserInfo:(NSDictionary*)userInfo;</div></div><div><div>算路失败回调</div></div><div><div>V4.8.0起</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BNaviService</div></div><div><div>-(void)routePlanDidUserCanceled:(NSDictionary*)userInfo;</div></div><div><div>算路取消回调</div></div><div><div>V4.8.0起</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BNaviService</div></div><div><div>- (void)onHandleTouchRouteAtIndex:(NSUInteger)routeIndex;</div></div><div><div>用户在地图上点击了某条路线回调</div></div><div><div>V4.8.0起</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-wrap"><div class="pre-wrap-nav"><div>Objective-C</div></div><div class="pre-wrap-w pre-wrap-w-ios code_container"><!-- ios示例代码位置 --><pre class="prettyprint prettyprinted pre-ios">/** 发起算路. */ |
- (void)startRoutePlan { | - (void)startRoutePlan { | ||
if (self.nodes.count >= 2) { | if (self.nodes.count >= 2) { |
2022年2月25日 (五) 17:40的最后版本
出行场景的多路线规划
使用场景
根据起终点规划多条路线,结合路线特点,帮助用户选择合适路线。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/多路线规划.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/多路线.png
扫码体验
使用产品
Android导航SDK|/index.php?title=android-navsdk
>
驾车页|/index.php?title=android-navsdk/guide/routeresult
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/location/ONSDKDemo.zip
核心接口
类
接口
描述
BaiduNaviManagerFactory
getBaiduNaviManager()
获取导航管理类实例
BaiduNaviManagerFactory
getMapManager()
获取基础地图管理类示例
BaiduNaviManagerFactory
getTTSManager()
获取语音播放管理类实例
BaiduNaviManagerFactory
getRoutePlanManager()
获取路径规划类实例
BaiduNaviManagerFactory
getRouteGuideManager()
获取导航管理类实例
IBNMapManager
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; } } }); } }
复制
深色
复制成功