菜鸟学高德地图--导航
来源:互联网 发布:机顶盒直播软件 编辑:程序博客网 时间:2024/06/05 19:33
一、前提条件:
1.有高德账号,添加应用,获取应用的key
2.有讯飞账号,添加用用,获取应用的key
二、准备工作:
从http://lbs.amap.com/api/android-navi-sdk/download/中下载“Android导航SDK V1.9.4 一键下载”以及“开发包定制下载”。如下图,
三、步骤(做个简单的导航)
1.在XML布局中添加如下代码
<com.amap.api.navi.AMapNaviView android:id="@+id/navi_view" android:layout_width="match_parent" android:layout_height="match_parent" />
2.把从高德下载下来“开发包定制下载”sdk中的so包、jar包导入到项目中
1)直接把jar包导入到libs文件夹
2)在main文件夹中添加一个文件夹“jniLibs”,把so包的文件夹“armeabi”一起导入进“jniLibs”中
3)在gradle中依赖jar、so包
3.把从高德下载“Android导航SDK V1.9.4 一键下载”sdk中的baseActivity、TTSController、ErrorInfo
4.在AndroidManifest中添加权限、服务、高德key
1)权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/>2)服务
<service android:name="com.amap.api.location.APSService"/>3)高德key
<meta-data android:name="com.amap.api.v2.apikey" android:value="高德key值"/>5.在activity添加如下代码:
public class MainActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取 AMapNaviView 实例 mAMapNaviView = (AMapNaviView) findViewById(R.id.navi_view); mAMapNaviView.onCreate(savedInstanceState);//显示地图 mAMapNaviView.setAMapNaviViewListener(this); } @Override protected void onResume() { super.onResume(); mAMapNaviView.onResume(); } @Override protected void onPause() { super.onPause(); mAMapNaviView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); mAMapNaviView.onDestroy(); } @Override public void onInitNaviFailure() { } @Override public void onInitNaviSuccess() { super.onInitNaviSuccess(); /** * 方法: int strategy=mAMapNavi.strategyConvert(congestion, avoidhightspeed, cost, hightspeed, multipleroute); 参数: * * @congestion 躲避拥堵 * @avoidhightspeed 不走高速 * @cost 避免收费 * @hightspeed 高速优先 * @multipleroute 多路径 * * 说明: 以上参数都是boolean类型,其中multipleroute参数表示是否多条路线,如果为true则此策略会算出多条路线。 * 注意: 不走高速与高速优先不能同时为true 高速优先与避免收费不能同时为true */ int strategy = 0; try { //再次强调,最后一个参数为true时代表多路径,否则代表单路径 strategy = mAMapNavi.strategyConvert(true, false, false, false, false); } catch (Exception e) { e.printStackTrace(); } mAMapNavi.calculateDriveRoute(sList, eList, null, strategy); } @Override public void onCalculateRouteSuccess() { super.onCalculateRouteSuccess(); mAMapNavi.startNavi(NaviType.GPS); } @Override public void onCalculateRouteFailure(int i) { }}
这样就有地图了。
6.把从讯飞下载下来sdk中的so包、jar包导入到项目中
1)直接把jar包导入到libs文件夹,把so包的文件夹“armeabi”一起导入进“jniLibs”中
2)在gradle中依赖jar包
7.把TTSController代码中init()的方法中的【text=“57b3c4a9”】改为【text=“讯飞的key”】,这样就有声音了。
0 0
- 菜鸟学高德地图--导航
- 菜鸟网址导航
- 51地图导航
- android地图导航
- 导航地图数据格式
- 室内外地图导航
- iOS 调用地图导航
- 微信高德导航地图
- iOS 地图导航
- 百度地图 API 导航
- 中科大地图导航
- iOS 调用地图导航
- 地图导航划线
- iOS 调用地图导航
- iOS 调用地图导航
- 地图展示与导航
- 百度地图导航
- ios 地图导航
- Jenkins server
- linux查询命令
- 【腾讯云的1001种玩法】零基础微信机器人实践-云技术对个人开发者的影响
- Spring的三种注入方式
- PTA
- 菜鸟学高德地图--导航
- bzoj 2502: 清理雪道 有源汇最小流
- [生存志] 第140节 武帝定十三州
- unity之Rigidbody对Collider的影响来实现走动的人不能“穿过”沙发
- Android性能优化(三):布局优化
- EditText限制输入数字与英文默认弹出数字键盘
- 第三方登录
- centos6.5下安装php7,nginx,mysql,redis.composer
- AssetBundle打包和加载