收藏 分享(赏)

百度地图导航Demo详细文档.docx

上传人:tkhy51908 文档编号:8161047 上传时间:2019-06-11 格式:DOCX 页数:7 大小:4.14MB
下载 相关 举报
百度地图导航Demo详细文档.docx_第1页
第1页 / 共7页
百度地图导航Demo详细文档.docx_第2页
第2页 / 共7页
百度地图导航Demo详细文档.docx_第3页
第3页 / 共7页
百度地图导航Demo详细文档.docx_第4页
第4页 / 共7页
百度地图导航Demo详细文档.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、百度地图导航 Demo1). 开发环境配置:在新建的 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 的)资源包: BaiduMapNaviSDK.rar2). 在 Andr

2、oid 工程的 Manifest.xml 文件中的配置:a. 在标签下添加 2 个标签:、:b. 添加使用百度导航 sdk 的权限:3). 代码实现部分:a. 在 app 入口 Activity(第一个 Activity)中初始化导航引擎:public calss MainActivity extends ACtivityprivate boolean mIsEngineInitSuccess = false;private NaviEngineInitListener mListener = new NaviEngineInitListener()Overridepublic void en

3、gineInitFail()Overridepublic void engineInitStart()Override public void engineInitSuccess()mIsEngineInitSuccess = true;private String getSdcardDir()if(Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)return Environment.getExternalStorageDirectory().toString();return n

4、ull;Overrideprotected void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/初始化导航引擎 2 种方法/第一种:末尾参数为 nullBaiduNaviManager.getInstance().initEngine(this,getSdcardDir(), mListener, null);/第二种:末尾参数不为 nullBaiduNaviManager.getInstance().initEngi

5、ne(this,getSdcardDir(), mListener, new LBSAuthManager()Overridepublic void onAuthResult(int status, String msg)String str = null;if(status = 0) str = “key 校验成功“;else str = “key 校验成功“ + msg;Log.v(“KEY_STATUS“, str););/前往导航页的 buttonButton naviPageBtn = (Button)findViewById(R.id.navi_page);naviPageBtn.

6、setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)Intent intent = new Intent(MainActivity.this, RouteGuideDemoActivity.class);startActivity(intent);); b. activty_main.xml 文件的内容:c. 配置导航结果显示页:具体方法步骤:右键你的工程包-New-Class-填写 class 名字(下面的有一个Superclass 属性填写为 android.app.Activity).如下图

7、:PS:此页不需要配置.xml文件在Manifest.xml文件的标签下加入导航显示的声明BNavigatorActivity.class 文件:public class BNavigatorActivity extends Activityprivate IBnavigatorListener mListener = new IBnavigatorListener()Overridepublic void ontifyGPSStatusData(int arg0)Overridepublic void ontifyLocateData(LocData arg0)Overridepublic

8、void ontifyNmeaData(String arg0)Overridepublic void ontifySensorData(SensorData arg0)Overridepublic void ontifyStartNav()BaiduNaviManager.getInstance().dismissWaitProgressDialog();Overridepublic void ontifyViewModeChanged(int arg0)Overridepublic void onPageJump(int times, Object arg0)/页面跳转回调if(IBNav

9、igatorListener.PAGE_JUMP_WHEN_GUIDE_END = times)finish();else if(IBNavigatorListener.PAGE_JUMP_WHEN_ROUTE_PLAN_FAIL = times)finish();Overridepublic void onYawingRequestStart()Overridepublic void onYawingRequestSuccess();Overridepublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInsta

10、nceState);/创建 NMapViewMapGLSurfaceView nMapView = BaiduNaviManager.getInstance().createNMapView(getApplicationContext();/创建导航视图View navigatorView = BNavigator.getInstance().init(this, getIntent().getExtras(), nMapView);/填充视图setContentView(navigatorView);BNavigator.getInstance().setListener(mListener

11、);BNavigator.getInstance().startNav();/初始化 TTS,可以使用非百度导航 sdk 提供的 ttsBNTTSPlayer.initPlayer();/设置 TTS 播放回调BNavigatorTTSPlayer.setTTSPlayerListener(new IBNTTSPlayerLister()Overridepublic int playTTSText(String str, int arg)return BNTTSPlayer.playTTSText(str, arg);Overridepublic void phoneHangUp()Overr

12、idepublic void phoneCalling()Overridepublic int getTTSState() return BNTTSPlayer. getTTSState(); );BNRoutePlanner.getInstance().setObserver(new RoutePlanObserver(this, new iJumpToDownloadListener()Overridepublic void onJumpToDownloadOfflineData();/重写管理 api:onPause(), onResume, onDestroy(), onBackPre

13、ssed()Overridepublic void onResume()BNavigator.getInstance().resume();super.onResume();BNMapController.getInstance().onResume();Overridepublic void onResume()BNavigator.getInstance().pause();super.onPause();BNMapController.getInstance().onPause();Overridepublic void onDestroy()BNavigator.destroy();B

14、NRoutePlanner.getInstance().setObserver(null);super. onDestroy ();Overridepublic void onBackPressed()BNavigator.getInstance().onBackPressed ();d. 发起导航页的 Activity(RouteGuideDemoActivity).xml 文件:.classpublic class RouteGuideDemoActivity extends ActivityOverrideprotected void onCreate(Bundle savedInsta

15、nceState)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()Overridepublic void onClick(View

16、 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 fa

17、lse)BaiduNaviManager.STRATEGY_FORCE_ONLINE_FRIORIT, /在离线策略new OnStartNavigationListener() /跳转监听Overridepublic void onJumpToNavigator(Bundle bundle)Intent intent = new Intent(RouteGuideDemoActivity.this,BNavigatorActivity.class);intent.putExtras(bundle);startActivity(intent);Overridepublic void onJumpToDownloader();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报