Android实现高德地图key值申请和地图显示 您所在的位置:网站首页 怎么申请高德地图位置 Android实现高德地图key值申请和地图显示

Android实现高德地图key值申请和地图显示

2024-07-04 13:39| 来源: 网络整理| 查看: 265

摘要: 

       因为工作的原因所以需要用到高德地图,所以开始记录一下。目前已经完成了开发,包括高德地图的缩放功能,逆地址编码,地图底部显示数据等。今天开始从头记录一下,大家以后还是不要写完在记录了,真的会忘记啊!!!

一、申请和配置

首先来看一下申请和配置的流程:

1、申请注册成为开发者。

大家就直接像平时一样到高德地图的开放平台注册账号密码一样。下面这个是到高德地图的地址。

高德地图的开发平台

2、申请应用key

①首先点开控制台,点击应用管理:(我已经有三个应用了,没有的话这里是显示为空,接着看下面)

②点击右上角创建应用:

应用名称根据自己的项目创建就可以了,大家随意呀!,应用类型也是根据自己的填,没有看中的选项那就其他,毕竟我们可是高要求的(狗头)。点击创建

我们创建好了之后会在应用中显示刚刚创建和已经创建的应用

③点击右上角添加新Key

1:key名称的命名,不知道你就点击右边的命名规范。(此处略过几十个字)

2:服务平台和可使用服务大家根据自己选。

3:重点讲一下SHA1

3.1、生成申请签名证书文件

首先呢!先查看一下自己的项目有没有一个结尾为jks的文件

没有的话,那就接着看,点击build-Generate Signed Bundle /APK...

就会出现这个(如果项目是没有上面那个结尾的为jks的文件话)。然后点击Create new.. 就会出现下面那个图片。

第一个就是你要存放的路径和写文件的名称,一般是在放项目的最外层,因为后面容易找。然后名为自己Package名。

接着就是密码账号什么的。大家自己填就可以了。(大家要记住密码哈!不要当鱼。密码我们下面要用的)

填完点击OK就可以看到这个

然后退出Generate signed APK,因为我们只是为了生成一个签名证书文件,不是发布正式版的APK。就可以在项目中看到这个我们刚刚生成的

3.2、生成申请签名证书文件

采用Android studio 的Terminal(大家也可以用系统自带的命令窗后,太麻烦我就不写了)

然后输入以下代码:

keytool -list -v -keystore 这是我们刚刚创建的签名证书文件的名字

点击enter,

密码就是我们刚刚设置的密码,输进去(下面的SHA1就是我们要的东东啦!)

大家把这里填到高德地图Key值的申请中。然后在添加包名就可以生成对应的key值啦!!撒花

接着就是开发啦,撸起袖子加油干

3、在Project中添加配置

首先到高德地图的开发文档看看

3.1.导入jar包。

下载对应的文件我们需要添加的jar包;https://lbs.amap.com/api/android-sdk/download/。根据需求选择要添加的功能。

3.1.1.我们将里面的jar包放入app/libs文件目录下。

3.1.2.导入jar包

导入jar包的方式有两种:

一种是最暴力的,直接点击File->Sync Project with Gradle Files ,将所有libs目录下的jar包全部导入。

另一种是我们选择将哪个jar包导入。File->Project Structure ->Dependencies -> + ->Jar dependency->找到自己Application Project的路径,->libs中选择自己想要导入的jar包。

3.2.放入.so文件

放入.so文件同样有两种方式:使用默认配置(不修改build.gradle)和修改build.gradle配置。

使用默认配置:将解压缩剩下的(除了jar包)的文件夹放入src/main/jniLibs文件夹下(没有自己创建,在几版本的Android Studio中我记得添加jni就会自动创建这个目录)

修改build.gradle:将文件夹放入刚才的app/libs目录。然后打开build.gradle。

在android下添加如下标签:

android { defaultConfig { ndk { //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so) abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64" } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //3D地图so及jar compile 'com.amap.api:3dmap:latest.integration' //定位功能 compile 'com.amap.api:location:latest.integration' //搜索功能 compile 'com.amap.api:search:latest.integration' }

3.3.在AndroidManifest.xml中进行配置。

3.3.1.权限声明

//地图SDK(包含其搜索功能)需要的基础权限

3.3.2.在Application标签中加入 meta-data标签

3.3.3.声明Service组件

上面我们就完成了高德地图的申请和配置了

二、显示地图

由于篇幅的原因,我们今天只看一下如何显示地图以及显示定位蓝点。

1、在layout中添加地图容器。

2:在activity中初始化地图

public class MainActivity extends Activity { MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.map); //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图 mMapView.onCreate(savedInstanceState); } @Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制 mMapView.onPause(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态 mMapView.onSaveInstanceState(outState); } }

3:显示地图

//定义了一个地图view mapView = (MapView) findViewById(R.id.map); mapView.onCreate(savedInstanceState);// 此方法须覆写,虚拟机需要在很多情况下保存地图绘制的当前状态。 //初始化地图控制器对象 AMap aMap; if (aMap == null) { aMap = mapView.getMap(); }

结果图片



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有