之前在做大创的时候,就用到了高德地图,但是当时是为了赶项目,所以只是按照官方的demo代码搬运了过来,而具体哪个类是干什么的根本不清楚,而且一个完整的流程也是很模糊。现在再次用到了这个东西,所以觉得一定要好好研究一下,为了以后用的更方便,总不能每次都搬运人家官方的demo吧-。=。
今天这篇是最基础的一篇,我会从申请高德API的key开始走一遍流程,因为相信大家跟我一样,看官网给的代码都已经晕头转向了(他写的实在是太乱了)。
第二篇:高德地图Poi搜索周边位置https://blog.csdn.net/zy_jibai/article/details/103017217
接下来我们按照申请的流程一步一步的实现高德地图的API使用:
一、申请和配置
首先来看一下申请和配置的流程:
1、申请注册成为开发者。
这一步应该不用怎么说吧,大家自己都会注册账号密码什么的。。
2、申请应用key
①首先点开控制台,点击应用管理:
我这里已经有了四个应用,如果是刚刚创建的话是没有的。
②点击右上角创建应用:
应用名称随便填,应用类型也随便填。点击创建
我们创建好了之后会在应用中显示刚刚创建和已经创建的应用。
③点击右上角添加新Key
我们只说一下获取这两个安全码SHA1:
2.1.调试版:我们打开Android Studio,点击gradle projects(默认在右侧),app->Tasks->android->signingReport。
双击后,他会给我们调试版的安全码SHA1。这个测试版的安全码我们就可以填入了。
2.2.发布版:这个需要我们找到自己的签名证书文件,如果没有的话,下面笔者带着大家申请一个:
- 申请签名证书文件
- 打开终端或者Terminal,获取正式版安全码SHA1。
2.2.1申请签名证书文件:
关于申请签名证书文件的方式有很多,可以通过终端,也可以通过Android Studio,个人比较喜欢用Android Studio(可能是因为比较懒吧-。+!!)。
点击Generate Signed APK 。
他会出现一个这样的界面。在第一行中的Key Store path中指定我们签名文件的路径,如果没有的话点击Create new...
随便填,只要你能记得住就行,Validity为签名文件有效时间,当然我们肯定用不了这么长时间的。点击ok。
然后退出Generate signed APK,因为我们只是为了生成一个签名证书文件,又不是发布正式版的APK。
2.2.2打开终端或者Terminal。
推荐大家使用Terminal,因为Android Studio已经集成了,用起来比较方便(本人就是懒-。+)。
首先要移动到我们刚刚生成的签名证书文件的路径下。
然后输入以下代码:
keytool -list -v -keystore 这是我们刚刚创建的签名证书文件的名字
点击enter,
他会出现让我们输入密匙口令,这个就是我们刚才创建签名文件的时候自己设置的。
现在我们就获取到正式版的SHA1安全码了。
现在我们将测试安全码和正式安全码填入,下面的包名我们在AndroidManifest.xml中自己就可以查找。不多说。
我们看到现在已经应用中已经有了key。
3、在Project中添加配置。
我们从官方下载的SDK解压后如下:
我下的是6.3.0的版本:
3.1.导入jar包。
3.1.1.我们将里面的jar包放入app/libs文件目录下。
因为我已经导入了,在大家那里应该是看不到jar包前面的这个小箭头的。
3.1.2.导入jar包
导入jar包的方式有两种:
一种是最暴力的,直接点击File->Sync Project with Gradle Files ,将所有libs目录下的jar包全部导入。
另一种是我们选择将哪个jar包导入。File->Project Structure ->Dependencies -> + ->Jar dependency->找到自己Application Project的路径,->libs中选择自己想要导入的jar包。
个人觉得还是第二中比较好,因为不必要的jar包导入让整个app看着很胖。
3.2.放入.so文件
放入.so文件同样有两种方式:使用默认配置(不修改build.gradle)和修改build.gradle配置。
使用默认配置:将解压缩剩下的(除了jar包)的文件夹放入src/main/jniLibs文件夹下(没有自己创建,在几版本的Android Studio中我记得添加jni就会自动创建这个目录)
修改build.gradle:将文件夹放入刚才的app/libs目录。然后打开build.gradle。
在android下添加如下标签:
android {
compileSdkVersion 26
defaultConfig {
......
/*sourceSets{
main{
jniLibs.srcDirs = ['libs']
}
}*/
}
......
}
注释掉的部分,因为本人比较懒,所以用的默认配置-。+。
3.3.在AndroidManifest.xml中进行配置。
3.3.1.权限声明
我们开发肯定需要一系列权限的声明(我直接打出来了,大家复制粘贴吧23333):
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION&#