当我们需要在百度地图上实现导航功能时,可以去学调用百度导航的相关API。
1.首先需要去官网把导航相关的Demo下载下来
2.然后建立一个空的Android Project
1.权限配置
android:versionCode="6"
android:versionName="3.1.1"//版本号要对
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCES_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用? -->
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 来电消音 -->
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- 摄影机 -->
<uses-permission android:name="android.permission.CAMERA" />
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"
/>
2.JAR包
百度导航Demo的Libs文件夹
添加进去的JAR包记得build path
3.百度地图开发者API_KEY
去百度地图开发者网站去申请,否则会影响地图的显示
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="your key"
/>
4.assets文件夹
去demo中找相应文件夹下的文件
5.建两个Activity
1.初始化(配置导航的初始化操作)
2.导航界面(不需要layout布局)
6.大量Copy,少量edit
copy过后的文件,只需要修改少量BNDemoMainActivity等修改为自己的MainAcitivity即可。
7.修改为模拟导航状态
当我们做出来地图导航相关的功能后,我们需要检测整个线路的导航功能,只需要修改一行代码
BaiduNaviManager.getInstance().launchNavigator(this, list, 1, false, new DemoRoutePlanListener(sNode));
false为:模拟导航
true为:不模拟导航
所以我们需要改为false