其他分享
首页 > 其他分享> > 百度地图SDK安卓版的使用(上)

百度地图SDK安卓版的使用(上)

作者:互联网

搞了蛮久,终于搞清楚百度地图SDK安卓版的调用方法。记个笔记,防止以后自己忘了……

我目前用的是 Android Studio 3.5.1 版本

JAVA环境1.8.0_261 版本

build.gradle 版本 classpath 'com.android.tools.build:gradle:3.5.1'

gradle-wrapper.properties 版本 distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

我自己写的代码,或者用别人的代码,尽量多描述详细点,希望对广大新手小白友好点。当然老司机可以直接无视。

 

 

为了页面上点击功能偷懒,少写点代码,我用了butterknife黄油刀。你们写的时候随意吧。

这里说明一下:

导入的 BaiduLBS_Android.jar 包和各种 BaiduMapSDK.so 是有版本对应的,

 

 

1.6.0_33 版本的 BaiduLBS_Android.jar 包对应于全系列6_1_0版本的.so包

1.8.0_92 版本的 BaiduLBS_Android.jar 包对应于全系列6_4_0版本的.so包

 

互换互相调用会报错。

所以只要你能拿到官网下载的DEMO,或者成功跑起来别人的DEMO,记得同步复制粘贴人家同一版本的jar包和.so包。

排除这个坑都花了我蛮多时间……

加了.so包后记得加这两句

ndk { abiFilters("armeabi", "armeabi-v7a", "x86", "mips") }
sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}

 

然后来修改一下 AndroidManifest.xml 文件

加个联网权限 INTERNET。不加这个,连地名图标路线颜色都加载不出来!

<uses-permission android:name="android.permission.INTERNET" />

再加个扩展卡写入权限。不加这个,显示不了青山绿水卫星图,报错 open failed: EACCES (Permission denied)!

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

记得在 application 里面加个 <meta-data ,写入你的 API_KEY。

就算没有去百度官网申请API_KEY,也要写个双引号""空值上去,不然运行不了。写了空值至少能看看运行起来的地图。 http://lbsyun.baidu.com/apiconsole/key,有空可以去这里申请key。

然后去 activity_main.xml 文件里面加个 <com.baidu.mapapi.map.MapView 布局,填满整个屏幕就行了

 

然后回到 MainActivity 文件,在 setContentView(R.layout.activity_main) 这句话之前加入SDKInitializer.initialize(getApplicationContext())。

不加这句会报错 BDMapSDKException: you have not supplyed the global app context info from SDKInitializer.initialize(Context) function. 
而且必写写在 R.layout.activity_main 前面,
或者写在整个安卓项目的BaseApplication类里面,保证一开始启动项目就先运行这句话,避免报错。

 

写到这里,终于可以真机运行项目了,默认进去就是北京地图,可以放大缩小,可以双指旋转地图。

 

 

到这里,我已经用足够少的代码,纯本地纯手打,跑起来百度地图了,应该没有人比我更少了!

 

这时候再把那注释掉的6行放出来,仅仅只是为了换个彩色卫星地图而已。

baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);//MAP_TYPE_SATELLITE卫星图

 

 

我目前的手机,安卓5.0、安卓9.0都能直接跑直接显示,至于其他版本的安卓系统,需要动态授权联网、授权SD卡读写权限的,你们自己添加判断吧。

下一篇文章在研究一下如何显示自己当前的定位和多个坐标点显示……

 

 

标签:jar,地图,gradle,安卓版,so,版本,报错,百度,SDK
来源: https://blog.csdn.net/HD6870/article/details/115354969