之前做大创的时候用的是高德地图,但当时是为了赶项目,所以只是按照官方的demo代码进行承载,但并不清楚是哪个类做的,一个完整的流程也很模糊。现在我又用这个东西了,所以我想我一定要好好学习。为了以后使用更方便,我不能每次都携带别人的官方demo。=。
今天的文章是最基本的一篇。我就从申请高德API的关键来过一遍流程,因为相信大家和我一样,在看官网给出的代码的时候已经晕了(他写的真的太乱了)。
第二条:高德地图Poi搜索周边位置
接下来,我们将按照申请流程逐步实现高德地图的API使用:
首先,让我们看一下应用程序和配置过程:
1.申请注册为开发商。
这一步应该不用多说,每个人都会注册自己的账号密码什么的。.
2.申请申请密钥
(1)首先点击控制台,点击应用程序管理:
我这里已经有四个应用程序,但是如果我刚刚创建它们,我就没有它们了。
②点击右上角创建应用程序:
随意填写申请名称和申请类型。单击创建
在我们创建它之后,我们将在应用程序中显示新创建的和已经创建的应用程序。
③点击右上角添加新键
让我们来谈谈获得这两个安全代码SHA1:
调试:让我们打开Android Studio,点击gradle projects(默认在右边),App->Tasks->Android->SigningReport。
双击之后,他会给我们调试好的安全代码SHA1。我们可以填写这个测试版的安全代码。
.释放:这需要我们找到自己的签名证书文件。如果没有,下面笔者就带来
每个人都申请一个:
申请签署证书文件:
申请证书文件签名的方式有很多种,可以通过终端,也可以通过Android Studio。就我个人而言,我更喜欢使用Android Studio(可能是因为我很懒-.+!!).
点击生成签名APK。
他会有这样的接口。在第一行的密钥存储路径中指定签名文件的路径,如果没有,请单击Create new...
填吧,只要你能记住就行。有效性是签名文件的有效时间。当然,我们肯定不会花这么长时间。单击OK。
然后退出Generate signed APK,因为我们只想生成一个签名证书文件,而不是发布正式的APK。
打开终端机或终端。
推荐终端,因为Android Studio已经集成,易于使用(我很懒-.+)。
首先,移动到我们刚刚生成的签名证书文件的路径。
然后输入以下代码:
keytool-list-v-keystore这是我们刚刚创建的签名证书文件的名称
点击进入,
他会出现并要求我们输入密钥密码,这是我们在刚才创建签名文件时自己设置的。
现在我们有了官方版本的SHA1安全代码。
现在让我们填写测试安全代码和官方安全代码。我们可以在自己下面找到包名。没什么好说的。
我们看到我们在应用程序中已经有了key。
3.在项目中添加配置。
在我们解压缩官方下载的SDK后,
具体如下:
我下载了以下版本:
导入jar包。
我们将jar包放入app/libs文件目录中。
因为我已经导入了它,所以你应该不会在jar包前面看到这个小箭头。
导入jar包装
有两种方法可以导入jar包:
一种是最暴力的方法,只需单击File->Sync Project with Gradle Files就可以导入所有libs目录中的所有jar包。
另一个是我们选择导入哪个jar包。文件->Project Structure->Dependencies->+->Jar Dependency->找到应用程序项目的路径,并选择要导入的Jar包->LIBS。
我个人认为第二种更好,因为不必要的jar包导入让整个app看起来很胖。
放入。so文件
中也有两种方法。so文件:使用默认配置(不修改)并修改配置。
使用默认配置:将解压缩其余部分(除了jar包)的文件夹放入src/main/jnilibs文件夹(不是自己创建的,我记得在几个版本的Android Studio中添加jni会自动创建这个目录)
修改:把文件夹放到刚才的app/libs目录中。那就打开吧。
在Android下添加以下标签:
注释掉了一部分,因为我很懒,所以使用默认配置-。+。
.配置。
权利宣言
我们肯定需要一系列的权利来发展声明(我直接打的,请复制粘贴23333):
.在Applic
属性中添加元数据标记。标记
名称必须这样写,值是我们刚刚申请的关键。
声明服务组件
到目前为止,我们的应用程序和配置工作已经完成(感觉不太好,是吗?)
由于空间原因,今天只看如何显示地图和显示定位蓝点。
1.在布局中添加地图容器。
这是一个非常无法操作的事情,我们一般默认使用mapview,官方还提供了6个容器来展示地图。
2.使用AMap类。
这个AMAP类可以说是一个非常重要的类。它是地图的控制器类,其主要职责如下:
让我们来看看AMap类的主要方法:
限定符
返回值
方法名称
介绍
场域
公开决赛
作废
SetMapType(INT)
设置映射模式
MAP_TYPE_NORMAL法线
MAP_TYPE_SATELLITE卫星
MAP_TYPE_NIGHT之夜
MAP_TYPE_NAVI导航
MAP_TYPE_BUS总线
公开决赛
int
GetMapType()
获取地图模式
公开决赛
Uisettings
GetUiSettings()
获取地图UI控制器
公开决赛
作废
SetmylocationStyle(MylocationStye)
设置
位置小蓝点(坐标位置)
公开决赛
作废
SetmylocationEnabled(布尔)
设置是否开始定位蓝点
true:开始显示
false:隐藏定位蓝点,不对其进行定位
缺省假
公开决赛
作废
SetTrafficEnabled(布尔)
设置是否打开流量层
true:打开
假:不打开
默认值为真
公开决赛
布尔
IsTrafficEnabled()
获取通信量层是否打开
公开决赛
作废
ShowMapText(布尔)
设置是否打开文本标签
默认值为真
公开决赛
作废
ShowIndoorMap(布尔)
设置是否显示室内地图
缺省假
公开决赛
作废
ShowBuildings(布尔)
设置是否显示3D建筑
默认值为真
还涉及到另外两个类:MyLocationStyle类和UiSettings类。今天让我们关注MyLocationStyle类:
https://www.zhucesz.com/类介绍
MyLocationStyle类是一个用于定位蓝色小点的绘图示例。方法如下:
限定符
返回值
方法名称
介绍
场域
PUBL
IC
MyLocationStyle
MyLocationIcon(位图描述符)
设置图标定位蓝点
公共的
MyLocationStyle
锚(浮子U,浮子V)
设置定位图标锚点的偏移量
公共的
MyLocationStyle
RadiusFillColor(int色)
设置圆形区域的填充颜色
公共的
MyLocationStyle
Strokecolor(int色)
设置圆形区域的边框颜色
公共的
MyLocationStyle
Strokewidth(浮动宽度)
设置圆形区域的边框宽度
公共的
MyLocationStyle