最近一直在学习android,学到地图这里,遇到的坑也不少,所以就把它分享出来,一和大家一起学习,二为以后写项目看,

一.获取key

1.创建应用

首先,您得上(高德地图开放平台官网)注册一个账号,当然,如果有了就直接登录。
其次,就是在应用管理中,创建一个应用,当然如果您之前已经创建了就跳过(下面我是已经创建过

2.添加key

在创建的应用上点击"添加"按钮,在弹出的对话框中,依次输入应用名名称,选择绑定的服务为“Android平台SDK”,输入发布版安全码 SHA1、调试版安全码 SHA1(可忽略)、以及 Package,如下图所示:

需要注意的是: 1个KEY只能用于一个应用(多渠道安装包属于多个应用),1个Key在多个应用上使用会出现服务调用失败。


然后勾选协议,点击“提交”,完成 Key 的申请,此时您可以在所创建的应用下面看到刚申请的 Key 了。

然后到这里,肯定有人问,如何去获取SHA1和包名呢,下面就来说下如何获取:

1.1 获取SHA1码

下面方法是通过Android Studio获取SHA1的

  1. 第一步:使用 WIN+R 快捷键,并输入cmd打开控制台工具

  2. 第二步:输入命令:keytool -v -list -keystore keystore文件路径。
    输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取 Sha1 值,如下图所示:

1.2 获取package名

直接在android项目的build.gradle下面的

二.android studio配置工程

1. 添加jar包

在Anroid地图SDK相关下载中下载AAR包

将下载的地图 SDK 的 jar包复制到工程的 libs 目录下

2.添加so库
  1. 首先下载so库

  1. 在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的 so 库复制到这个目录即可。如图所示:

  2. 在build.gradle中配置
    3.1. 在Project的build.gradle文件中配置repositories,添加maven或jcenter仓库地址
    Android Studio默认会在Project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复添加(我这个是自动生成的,不需再配置)

    3.2.主工程的build.gradle文件在Project目录中位置:

三.创建地图

在创建地图之前,还需配置一些权限(在清单文件中配置)

1. 权限声明

2. 设置高德key

在application里面设置

3.创建地图

MapView 是 AndroidView 类的一个子类, 用于在 Android View 中放置地图。 MapView 是地图容器。用 MapView 加载地图的方法与 Android 提供的其他 View 一样,具体的使用步骤如下:

1. 首先在布局xml文件中添加地图控件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent"/></LinearLayout>
2.java文件

amapView = findViewById(R.id.map); //获取地图控件
amapView.onCreate(savedInstanceState); // 通过onCreate( )方法创建地图

public class MainActivity extends AppCompatActivity {private MapView amapView;private AMap aMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);amapView = findViewById(R.id.map);amapView.onCreate(savedInstanceState);  // 1. 创建地图}@Overrideprotected void onDestroy() {super.onDestroy();//在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图amapView.onDestroy();}@Overrideprotected void onResume() {super.onResume();//在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图amapView.onResume();}@Overrideprotected void onPause() {super.onPause();//在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制amapView.onPause();}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);//在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态amapView.onSaveInstanceState(outState);}
}

到这一步时,地图是可以显示出来了,只是它不拥有其他比如定位,缩放等功能,如下:

四.定位蓝点(在Activity生命周期onCreate()中执行)

AMap 类是地图的控制器类,用来操作地图。它所承载的工作包括:地图图层切换(如卫星图、黑夜地图)、改变地图状态(地图旋转角度、俯仰角、中心点坐标和缩放级别)、添加点标记(Marker)、绘制几何图形(Polyline、Polygon、Circle)、各类事件监听(点击、手势等)等,AMap 是地图 SDK 最重要的核心类,诸多操作都依赖它完成。

1.初始话AMap对象

先创建个全局对象

 private AMap aMap;

然后判断其是否为null,是的就执行下面这段代码

        if(aMap == null){aMap = amapView.getMap();}
2. 实现定位蓝点
 // 3.实现定位蓝点(显示当前位置)MyLocationStyle myLocationStyle = new MyLocationStyle();//初始化定位蓝点样式类//连续定位模式、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。// (1秒1次定位)如果不设置myLocationType,默认也会执行此种模式。myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);myLocationStyle.interval(2000); //连续定位模式下的定位间隔(只在连续模式下生效)aMap.setMyLocationStyle(myLocationStyle);aMap.getUiSettings().setMyLocationButtonEnabled(true);//设置默认定位按钮是否显示,非必需设置。aMap.setMyLocationEnabled(true);//true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。

通过上面的简单配置后,得到的效果如下所示:
但还要注意点:到这步的时候得检查手机有没有打开GPS功能,还要通过手机设置找到这个app并开启手机定位权限,要重要的就是还要看看有没有在清单文件中设置了下面权限(有时就会弄漏)

  <!--    获取GPS定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

五.更多功能会在后续添加

Android中配置高德地图和定位蓝点相关推荐

  1. Android中集成高德地图SDK实现地图定位和导航功能(二)

    我们接着上一篇文章开始继续实现android中集成高德地图的SDK实现地图 定位,搜索,导航的功能 如何让地图在手机上实现呢? 1.配置AndroidManifest 中的权限申请 可以参考官方文档 ...

  2. Android中集成高德地图SDK实现地图定位和导航功能(一)

    一.前期准备工作 1.在高德地图开发者平创建一个自己的项目 名称和应用类型随便填 2.添加Key 1.添加key 2.获取SHA1值 2.1.使用windwos+R 输入cmd 打开控制窗口 输入 w ...

  3. uniapp开发app中配置高德地图定位流程

    在使用uniapp开发app过程中,如何使用高德地图进行定位 高德地图开放平台账号申请 进入高德地图开放平台,注册并登陆开发者账号,完成之后点击进入控制台主页 在应用管理中点击创建新应用 输入并选择你 ...

  4. Android Studio之高德地图实现定位和3D地图显示

    在应用开发中,地图开发是经常需要使用的"组件",国内比较出名的是就是百度地图和高德地图. 此博客讲的是高德地图实现定位和3D地图显示,并标注相应位置,话不多说,先看看效果,在上代码 ...

  5. android开发之高德地图不能定位,只显示格子

    android 在引用高德地图组件进行开发的时候,不能定位,只显示格子,如下图所示: 参考了网上的一下大家的解决方案,主要是 (1)检查申请的KEY是否正确.PS:申请方法请参考这篇博客,写的很全很详 ...

  6. android呼吸灯动画,Android高德地图自定义定位蓝点实现呼吸灯功能

    还是先上个图吧: cluster.gif 说下实现的原理,首先这个定位小蓝点是由两张图片组成的,最底层的一张白色圆形图片以及上一层的蓝色圆形图片,只要不停的对蓝色图片进行透明度动画操作就可以实现这个效 ...

  7. android显示地图代码,Android Studio之高德地图实现定位和3D地图显示(示例代码)

    /**** * 讲诉了高德地图定位和3D地图显示 * * 打包和未打包的情况是不一样的,高德配置是可以配置调试版和发布版 **/ public class MainActivity extends A ...

  8. react 逆地理 高德地图_react中使用高德地图的原生API

    干货,无话 1.react-create-app,创建新react项目: 2.npm install react-amap,引入高德地图的封装: 3.编写组件index.js: import Reac ...

  9. ANDROID项目中嵌入高德地图(一)配置环境+显示地图

    最近在做项目中嵌入高德地图的工作,觉得有必要记录一下嵌入过程,虽然高德官方给说明文档了,但有写并不明确需要去查类,查资料,再此把过程记录一下. 一.显示地图 1.配置AndroidManifest.x ...

最新文章

  1. 磁盘加密软件TrueCrypt知识大全(三)之加密非系统分区/设备
  2. Java - 对象的创建
  3. 获取RadioButton选中的值
  4. expdp oracle 并行_关于Expdp/Impdp 并行导入导出详细测试结果和并行参数的正确理解!!...
  5. html文本可选择,如何用javascript选择html文本?
  6. 【机器学习算法专题(蓄力计划)】十六、机器学习中贝叶斯分类算法
  7. sql a 表 若包含b表 则a 表 列显示_几道常见的SQL面试题,看你能答对几道?
  8. Linux学习之CentOS(二)--初识linux的一些常用命令
  9. jQuery如何选择表格每行中的第三列?
  10. 剑指Offer25 合并两个排序的链表
  11. html5 webview,HTML5+学习历程之webview经典案例
  12. 自己搭建mysql服务要知道的二三事
  13. 蓝桥杯 c语言 试题 基础练习 阶乘计算
  14. ping源码分析(超详细,多图,带背景分析)
  15. 爆破,抓不了图片验证码。
  16. ubuntu22.04LTS 外接hdmi没有声音
  17. 【离散数学】 MIT 6.042J 笔记 - Lecture 1 Introductions and Proofs
  18. sql语句的增删改操作附加代码
  19. JFinal+Quartz动态任务调度控制台
  20. CSAPP第五章家庭作业参考答案

热门文章

  1. 安装配置neovim详细教程
  2. 试试支持 DTLS 的 FreeCoAP
  3. commands commence before first target. 报错
  4. Visual Studio 2012未能正确加载解决方案中一个或多个项目。有关详细信息,请参见“输出”窗口。
  5. Qt C++编程实现Windows和Ubuntu桌面背景/壁纸的设置
  6. 远程连接工具Telnet、SSH及Dropbear
  7. 告别大厂,注定在初创企业独当一面的命运
  8. 全局安装 Angular CLI
  9. 修改注册表方式,设置DPI系统增强
  10. Re-ID 2019 Review