Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(1) SDK开发的下载及引入,基本配置和基本地图显示,以及配置阶段常见问题分析,和 | 您所在的位置:网站首页 › 百度地图路线怎么下载不了 › Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(1) SDK开发的下载及引入,基本配置和基本地图显示,以及配置阶段常见问题分析,和 |
百度地图开发(1)
下载百度地图SDK
下载地址: http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 选择产品下载中的自定义下载。 再根据需求下载需要的开发资源,如果不知道选啥,可以把能选的选了,也可以按照我勾选的来 有的时候下载完成后可能存在无法解压的情况,这算是百度地图开发的一大坑,之前我连续几次遇到这种情况。这里附上我用的包。 百度云链接:链接:https://pan.baidu.com/s/1qkrnwGtKmg9A69fDv4Ygyw 提取码:rvij 下载完后文件如图,直接解压至当前文件夹 解压后: 打开readme.txt文件可以查看当前下载开发包包含的内容。 然后也将BaiduNavi_AndroidSDK.zip解压到当前文件夹,成功后如图(圈出的为解压后新增的文件): 打开BaiduNavi_AndroidSDK文件夹,可以看到一些重要的aar文件,jar包和so库。 将资源包添加到Android studio项目中 第一步,添加jar包和so库 将百度地图SDK中的jar包复制到工程目录下的libs文件夹目录下 需要导入的jar包如下: 注意这个jar包是第一次解压后的libs文件下 这些jar包是BaiduNavi_AndroidSDK.zip解压后的BaiduNavi_AndroidSDK->libs目录下的jar包,都复制到Android studio项目的app->libs目录下。Copy时弹出下框,直接点确定 全部添加后: 2. 随便选一个jar包,右键->add as library->确定,add后出现如下则表示添加成功,注意jar包左边要有小三角 add成功后如图: 在app->src->main目录下创建一个jniLibs文件夹 然后将刚才下载的SDK包解压后文件libs目录下的 **arm64-v8a armeabi armeabi-v7a x86 x86_64 **文件全部拷贝到jniLibs文件下,添加成功后如图: 将SDK包解压后的assets文件也拷贝到main目录下,如图: 第二步 添加NaviTts.aar和onsdk_all.aar导航SDK自带TTS能力已经打包为一个独立的aar,命名为NaviTts.aar,可以将其以aar module引入集成APP project,引入后,可以利用导航SDK提供的TTS接口进行初始化。 导航SDK核心已经打包为一个独立的aar,命名为onsdk_all.aar,可以将其以aar module引入集成APP project,引入后,即可引用导航SDK相关类进行开发。 所以这两个包是非常重要的。引入步骤如下: 1. 将NaviTts.aar文件复制到libs文件目录下 打开BaiduNavi_AndroidSDK,可以看到两个aar文件。拷贝到libs后如图: 接下来按照图片操作: 到这一步后等待一下下 要是app中一时没有NaviTts,可以在All Modules中找到,不过等一会在app中也会有了。Apply后如下,则表示成功: 用同样的步骤将onsdk_all.aar引入,引入成功后如图: 第三步 调试检验结果到这一步可以先用模拟器调试一下,可能会报如下错误: 此时需要把galaxy_lite_lbs_v2.3.jar删除 右键选择Delete,会显示如下图提醒,点击Do Refactor。 会出现上图是因为我们在build.gradle中implement了这个jar包,所以需要将build.gradle中的一起删,如图: 删除后再次调试,此时还是报错。这是因为有几个jar包冲突了,需要把冲突的jar包删去。报错如图: 可见是图中的三个包冲突,直接删去即可,删完后如图: 此时再运行调试,依旧报错,但这是因为没有写入调用的代码。所以暂时不用管,接着往下做。 基本地图显示 步骤一 在AndroidManifest.xml中配置开发密钥AK和权限打开AndroidManifest.xml,在< application >中加入如下代码配置开发密钥(AK): 加入后如图: value值开发者key在百度地图开放平台中获取http://lbsyun.baidu.com/apiconsole/key: 然后在AndroidManifest.xml中加入如下权限: 加入后如图: 步骤二 在布局文件中加入百度地图控件需要在activity_main.xml中加入如下代码: 加入后如图: 步骤三 在MainActivity中加入如下代码: public class MainActivity extends AppCompatActivity{ private MapView mMapView = null; private BaiduMap mBaiduMap = null; private Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); SDKInitializer.setCoordType(CoordType.BD09LL); this.context = this; mMapView = (MapView) findViewById(R.id.bmapView); //获取地图控件引用 mBaiduMap = mMapView.getMap(); } protected void onStart() { super.onStart(); } @Override protected void onResume() { super.onResume(); mMapView.onResume(); } @Override protected void onPause() { super.onPause(); mMapView.onPause(); } @Override protected void onStop() { super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); mBaiduMap.setMyLocationEnabled(false); mMapView.onDestroy(); mMapView = null; } }加入后如图: 步骤四 对build.gradle文件做如下修改在app目录下的build.gradle文件中加入如下: multiDexEnabled true加入后如图: 最后 运行调试到此,所有配置都已完毕,点击运行调试程序,一般不会报错,运行结果如下: |
CopyRight 2018-2019 实验室设备网 版权所有 |