吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4549|回复: 10
收起左侧

[其他转载] 百度地图SDK安卓版的使用(上)

[复制链接]
xdfg 发表于 2021-3-31 18:20
本帖最后由 xdfg 于 2021-4-1 11:00 编辑

搞了蛮久,终于搞清楚百度地图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

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

QQ截图20210331170911.png

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

这里说明一下:

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

QQ截图20210331171517.png

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

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

QQ截图20210331171554.png

互换互相调用会报错。
所以只要你能拿到官网下载的DEMO,或者成功跑起来别人的DEMO,记得同步复制粘贴人家同一版本的jar包和.so包。
排除这个坑都花了我蛮多时间……
至于你们的手机是高通还是阴忒儿联发科淫威达,要对应用到什么arm64-v8a包、armeabi-v7a包、x86包、x86_64包,自己慢慢匹配吧,实在不清楚就全部加上。
加了.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" />

QQ截图20210331173528.png

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

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

QQ截图20210331175023.png

然后回到 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类里面,保证一开始启动项目就先运行这句话,避免报错。

QQ截图20210331175458.png

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

S10331-175728.jpg

到这里,我已经用足够少的代码,纯本地纯手打,跑起来百度地图了,应该没有人比我更少了!
这时候再把那注释掉的6行放出来,仅仅只是为了换个彩色卫星地图而已。

QQ截图20210331181257.png

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

S10331-173042.jpg

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

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

免费评分

参与人数 4吾爱币 +8 热心值 +3 收起 理由
bankhyx + 1 + 1 用心讨论,共获提升!
捡漏王 + 1 + 1 热心回复!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
四月份 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

锋范fast 发表于 2021-3-31 19:13
我毕设跟你这个差不多,只不过用的是百度鹰眼的SDK,做了个跑步的APP
SKgarlic 发表于 2021-3-31 20:56
zwf33 发表于 2021-3-31 22:03
 楼主| xdfg 发表于 2021-4-1 11:08
zwf33 发表于 2021-3-31 22:03
大神贴,看不懂感谢分享!

这是搞安卓才用的。不搞安卓可以无视
52changew 发表于 2021-4-1 11:36
LZ分析详细; 先mark; 谢谢分享!
头像被屏蔽
jiale625 发表于 2021-5-14 16:47
提示: 作者被禁止或删除 内容自动屏蔽
Deng-13148 发表于 2022-1-19 21:22
测绘专业正需要,先收藏了慢慢研究,谢谢分享
bankhyx 发表于 2022-3-16 14:01
最近在做gis相关的东西,用的开源osmdroid
 楼主| xdfg 发表于 2022-3-25 16:28
bankhyx 发表于 2022-3-16 14:01
最近在做gis相关的东西,用的开源osmdroid

没跑成功过osmdroid的demo,偷懒先用百度顶上……
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表