百度地图导航Demo详细文档
更新时间:2023-03-16 22:27:01 阅读量: 教育文库 文档下载
- 百度地图导航的记录怎么查推荐度:
- 相关推荐
百度地图导航Demo
1). 开发环境配置: 在新建的Android工程下的libs文件夹内添加百度导航SDK 的jar包:galaxy_mini.jar,android_api_1.1_forsdk.jar,BaiduLBS_Android.jar;在libs文件夹下新建armeabi文件夹,并导入下载相关的.so包:libapp_BaiduNaviApplib_v1_0_0.so,libCNPackage.so,libejTTS.so,liblocnaviSDK.so。(这是下载带有TTS的)
资源包:
2). 在Android工程的Manifest.xml文件中的配置: a. 在标签下添加2个标签: android:value = \您为这个Android工程申请的百度地图key\ BaiduMapNaviSDK.rar b. 添加使用百度导航sdk的权限: android:name=\ /> android:name=\/> android:name=\/> android:name=\/> android:name=\/> android:name=\/> android:name=\ /> android:name=\/> 3). 代码实现部分: a. 在app入口Activity(第一个Activity)中初始化导航引擎: public calss MainActivity extends ACtivity{ private boolean mIsEngineInitSuccess = false; private NaviEngineInitListener mListener = new NaviEngineInitListener(){ @Override public void engineInitFail(){} @Override public void engineInitStart(){} @Override public void engineInitSuccess(){mIsEngineInitSuccess = true;} }; private String getSdcardDir(){ if(Environment.getExternalStorageState().equalsIgnoreCase( Environment.MEDIA_MOUNTED)){ return Environment.getExternalStorageDirectory().toString(); } return null; } @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化导航引擎2种方法 //第一种:末尾参数为null BaiduNaviManager.getInstance().initEngine(this, getSdcardDir(), mListener, null); //第二种:末尾参数不为null BaiduNaviManager.getInstance().initEngine(this, getSdcardDir(), mListener, new LBSAuthManager(){ @Override public void onAuthResult(int status, String msg){ String str = null; if(status == 0) str = \校验成功\; else str = \校验成功\ + msg; Log.v(\, str); } }); } } //前往导航页的button Button naviPageBtn = (Button)findViewById(R.id.navi_page); naviPageBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Intent intent = new Intent(MainActivity.this, RouteGuideDemoActivity.class); startActivity(intent); } }); b. activty_main.xml文件的内容: \ android:layout_width = \ android:layout_height = \ android:orientation = \ > c. 配置导航结果显示页: 具体方法步骤:右键你的工程包->New->Class->填写class名字(下面的有一个Superclass属性填写为android.app.Activity).如下图: PS:此页不需要配置.xml文件 在Manifest.xml文件的标签下加入导航显示的声明 \/> BNavigatorActivity.class文件: public class BNavigatorActivity extends Activity{ private IBnavigatorListener mListener = new IBnavigatorListener(){ @Override public void ontifyGPSStatusData(int arg0){} @Override public void ontifyLocateData(LocData arg0){} @Override public void ontifyNmeaData(String arg0){} @Override public void ontifySensorData(SensorData arg0){} @Override public void ontifyStartNav(){ BaiduNaviManager.getInstance().dismissWaitProgressDialog(); } @Override public void ontifyViewModeChanged(int arg0){} @Override public void onPageJump(int times, Object arg0){ //页面跳转回调 }; } @Override public void onYawingRequestStart(){} @Override public void onYawingRequestSuccess(){} if(IBNavigatorListener.PAGE_JUMP_WHEN_GUIDE_END == times) finish(); else if(IBNavigatorListener.PAGE_JUMP_WHEN_ROUTE_PLAN_FAIL == times) finish(); @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //创建NMapView MapGLSurfaceView nMapView = BaiduNaviManager.getInstance(). createNMapView(getApplicationContext()); //创建导航视图 View navigatorView = BNavigator.getInstance().init(this, getIntent().getExtras(), nMapView); //填充视图 setContentView(navigatorView); } BNavigator.getInstance().setListener(mListener); BNavigator.getInstance().startNav(); //初始化TTS,可以使用非百度导航sdk提供的tts BNTTSPlayer.initPlayer(); //设置TTS播放回调 BNavigatorTTSPlayer.setTTSPlayerListener(new IBNTTSPlayerLister(){ @Override public int playTTSText(String str, int arg){ return BNTTSPlayer.playTTSText(str, arg); } @Override public void phoneHangUp(){} @Override public void phoneCalling(){} @Override public int getTTSState() {return BNTTSPlayer. getTTSState(); } }); BNRoutePlanner.getInstance().setObserver( new RoutePlanObserver(this, new iJumpToDownloadListener(){ @Override public void onJumpToDownloadOfflineData(){} })); //重写管理api:onPause(), onResume, onDestroy(), onBackPressed() @Override public void onResume(){ BNavigator.getInstance().resume(); super.onResume(); BNMapController.getInstance().onResume(); } @Override public void onResume(){ BNavigator.getInstance().pause(); super.onPause(); BNMapController.getInstance().onPause(); } @Override public void onDestroy(){ BNavigator.destroy(); } BNRoutePlanner.getInstance().setObserver(null); super. onDestroy (); } @Override public void onBackPressed(){ BNavigator.getInstance().onBackPressed (); } d. 发起导航页的Activity(RouteGuideDemoActivity) .xml文件: \ android:layout_width = \ android:layout_height = \ android:orientation = \ > .class public class RouteGuideDemoActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_route_guide_demo); Button startBtn = (Button)findViewById(R.id.start_btn); startBtn.setOnClickListener(new SelfBtnClickListener()); } private class SelfBtnClickListener implements OnClickListener(){ @Override public void onClick(View v){ switch(v.getId()){ case R.id.start_btn: selfLaunchNavigator(); break; default: break; } } } private void selfLaunchNavigator(){ BaiduNaviManager.getInstance().launchNavigator(this, 40.06803, 116.30142, \百度大厦\ //起始点 39.90882, 116.39750, \天安门\//终点 RoutePlan_Mode.ROUTE_PLAN_MODE_MIN_TIME, //算路方式 true, //真实导航(true or false) BaiduNaviManager.STRATEGY_FORCE_ONLINE_FRIORIT, //在离线策略 new OnStartNavigationListener(){ //跳转监听 @Override public void onJumpToNavigator(Bundle bundle){ Intent intent = new Intent(RouteGuideDemoActivity.this, BNavigatorActivity.class); intent.putExtras(bundle); startActivity(intent); } @Override public void onJumpToDownloader(){} }); } }
正在阅读:
百度地图导航Demo详细文档03-16
过年祭祀作文600字06-18
操场上的幸福作文500字07-15
干部任命公示格式02-15
2016高考地理一轮复习 区域地理 课时提升作业(五)2.5 居民与聚03-09
别人眼中的我作文600字06-20
SG3525应用(中文)12-31
光学第二章11-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 文档
- 地图
- 导航
- 详细
- 百度
- Demo
- 浙江版高考数学一轮复习专题44三角函数的图象与性质讲1128370-含答案
- 论英国电视新闻深度报道节目《新闻夜》
- 混凝土定义
- 量子化学中的主要近似 - 图文
- 关于日本、韩国融资融券业务的考察报告
- 讲书信
- 潍坊市2018-2019学年八年级地理上册第二章第二节中国的气候(第3课时)学案(无答案)(新版)新人教版
- 随县城市棚户区(厉山老镇)改造项目房屋征收工作中预防社会稳定风险的基本做法和效果
- 2012华广高电压技术复习资料(提纲)
- 基础心理学期末必考题(附答案)
- 法逻概念复习题
- 数学建模练习题
- 最高院建设工程施工合同司法解释第二十二条 按固定价款结算
- 逍林镇中心小学百年校庆文艺汇演筹备工作方案
- 中国失业问题的现状、原因与对策
- 电子版-0.4kV图纸部分
- 医院感染暴发突发事件应急预案
- 微机原理与应用 - 习题集(含答案)
- 南京清江花苑严老师八年级物理上学期期末复习题1706 - 图文
- 60天备战高考用巧劲