Android引用SDK包实现高德地图展示

一、准备工作

  • 注册高德地图开放平台


            注册过程我就不多说了,挺简单的,需要登录,然后注册成为开发者,还需要支付宝认证、手机号码验证、邮箱验证挺多的,但是速度很快。基本上随时验证随时注册成功。

  • 新建应用


  • 新建Android项目


    项目建好了我们现在来继续完成搞得地图中的配置。
  • 应用配置


    安全码就是一个签名,我们能够在系统目录-->用户目录-->.android-->debug.keystore

    找到这个以后,我们Win+R打开运行,输入cmd打开终端窗口:

    在终端中输入命令where keytool,查看一下自己的keytool有没有在环境变量中配置好,没有配置的话,先去环境变量中将keytool配置好,这里如何配置我就不讲了,可以自行搜索:

    我们进入到存放debug.krystore的文件夹目录下:

    在命令行中输入keytool -list -v -keystore debug.keystore:

    输入:android,一定要是小写的

    复制SHA1后面的指纹,粘贴到高德控制台

    还剩下PackageName:




    ok,目前我们关于高德这边的已经配置好了,接下来我们去下载SDK包
  • 下载SDK包

      

        下载完成后将其解压,分别复制:


到这儿,我们的准备工作已经全部完成了。


二、配置gradle.build

打开libs文件夹选中jar包---->右键---->Add as Library...

 等待gradle依赖库更新如出现下图表明已经构建成功:


三、编写地图布局

1.编写地图布局


 

<com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent">
</com.amap.api.maps.MapView><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="进入地图"android:onClick="GotoMap"tools:ignore="MissingConstraints" />

2.声明权限

<!--允许程序打开网络套接字--><uses-permission android:name="android.permission.INTERNET" /><!--允许程序设置内置sd卡的写权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--允许程序获取网络状态--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序访问WiFi网络信息--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!--允许程序读写手机状态和身份--><uses-permission android:name="android.permission.READ_PHONE_STATE" /><!--用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><!--用于访问GPS定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><!--用于获取wifi的获取权限,wifi信息会用来进行网络定位--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><!--用于读取手机当前的状态--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission><!--用于申请调用A-GPS模块--><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>

3.设置高德key


4.设置高德地图SDK隐私合规

注意:这里非常重要,我在这里踩过大坑,按照以往经验是不需要设置这些的,甚至整个开发步骤也并非如此,现在的开发步骤是最新的高德地图官方指导,步骤简化了,但是开发过程涉及用户隐私部分的控制被强调了,因此如果步写这两段代码,在整个项目开发完成以后展现出来的可能是白屏,地图无法显示出来哦  o(O_O)o······

//设置高德地图SDK隐私合规
MapsInitializer.updatePrivacyAgree(this,true);
MapsInitializer.updatePrivacyShow(this,true,true);

5.获取地图控件

private MapView mapView;
private AMap aMap;

//获取地图控件引用
mapView = (MapView) findViewById(R.id.map);
//在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
mapView.onCreate(savedInstanceState);

 6.初始化地图控制器

//初始化地图控制器对象
if (aMap == null) {aMap = mapView.getMap();
}

@Override
protected void onDestroy() {super.onDestroy();//在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图mapView.onDestroy();
}
@Override
protected void onResume() {super.onResume();//在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图mapView.onResume();
}
@Overrideprotected void onPause() {super.onPause();//在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制mapView.onPause();
}
@Override
protected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);//在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态mapView.onSaveInstanceState(outState);
}

7.显示定位蓝点

MyLocationStyle myLocationStyle;
myLocationStyle = new MyLocationStyle();//初始化定位蓝点样式类myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。(1秒1次定位)如果不设置myLocationType,默认也会执行此种模式。
myLocationStyle.interval(2000); //设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
myLocationStyle.showMyLocation(true);//设置是否显示定位小蓝点,用于满足只想使用定位,不想使用定位小蓝点的场景,设置false以后图面上不再有定位蓝点的概念,但是会持续回调位置信息。
aMap.setMyLocationStyle(myLocationStyle);//设置定位蓝点的Style
aMap.getUiSettings().setMyLocationButtonEnabled(true);//设置默认定位按钮是否显示,非必需设置
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_MAP_ROTATE);//连续定位、且将视角移动到地图中心点,地图依照设备方向旋转,定位点会跟随设备移动。(1秒1次定位)
aMap.setMyLocationEnabled(true);// 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。

        至此,功成!!!!! 

四、成果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/214261.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机智能病床呼叫系统设计

**单片机设计介绍&#xff0c;基于单片机智能病床呼叫系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能病床呼叫系统是一种利用单片机技术设计的医疗设备&#xff0c;它能够帮助病人在住院期间快速、方便…

使用pyscenedetect进行视频场景切割

1. 简介 在视频剪辑有转场一词&#xff1a;一个视频场景转换到另一个视频场景&#xff0c;场景与场景之间的过渡或转换&#xff0c;就叫做转场。 本篇介绍一个强大的开源工具PySceneDetect&#xff0c;它是一款基于opencv的视频场景切换检测和分析工具&#xff0c;项目地址: h…

在做题中学习(31):电话号码的字母组合(全排列)

17. 电话号码的字母组合 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;既然要排列组合&#xff0c;就得先根据数字字符取出来 所以先定义一个string类的数组通过下标取到每个数字对应的映射。 string _numsTostr[10]{"","","abc"…

Android:java.lang.RuntimeException: Unable to start activity ComponentInfo

java.lang.RuntimeException: Unable to start activity ComponentInfo 报错描述&#xff1a; 在导入别人项目运行时出现了这个报错&#xff1a; java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.news/com.example.activity.DetailNews}: ja…

消息队列使用指南

介绍 消息队列是一种常用的应用程序间通信方法&#xff0c;可以用来在不同应用程序或组件之间传递数据或消息。消息队列就像一个缓冲区&#xff0c;接收来自发送方的消息&#xff0c;并存储在队列中&#xff0c;等待接收方从队列中取出并处理。 在分布式系统中&#xff0c;消…

PAD平板签约投屏-高端活动的选择

传统的现场纸质签约仪式除了缺乏仪式感之外还缺少互动性&#xff0c;如果要将签约的过程投放到大屏幕上更是需要额外的硬件设备成本。相比于传统的纸质签约仪式&#xff0c;平板现场电子签约的形式更加的新颖、更富有科技感、更具有仪式感。 平板签约投屏是应用于会议签字仪式的…

【面试经典150 | 二叉树】翻转二叉树

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;递归方法二&#xff1a;迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题…

笔记69:Conv1d 和 Conv2d 之间的区别

笔记地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_个人笔记\4. Transformer 网络变体 a a a a a a a a a a a

万户 ezOFFICE convertFile 文件读取漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

电脑搜不自己的手机热点,其余热点均可!

一、现象&#xff1a; 之前可正常连接&#xff0c;突然间发现收不到自己的WiFi信号&#xff0c;其余人均可收到。通过重复手机电脑关机、改变热点设置中的频段等方式均没解决&#xff0c;同事电脑和手机可搜索到我的WiFi。 二、问题&#xff1a; WiF驱动程序更新 三&#x…

【Docker】Docker Compose,yml 配置指令参考的详细讲解

作者简介&#xff1a; 辭七七&#xff0c;目前大二&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

delphi android打开外部文件,报错android.os.FileUriExposedException解决方法

Android 7.0强制启用了被称作 StrictMode的策略&#xff0c;带来的影响就是你的App对外无法暴露file://类型的URI了。 如果你使用Intent携带这样的URI去打开外部App(比如&#xff1a;打开系统相机拍照)&#xff0c;那么会抛出FileUriExposedException异常。 Delphi 为Android…

用Java实现一对一聊天

目录 服务端 客户端 服务端 package 一对一用户; import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; imp…

C# 静态构造函数与类的初始化

静态构造函数&#xff1a; 基本概念&#xff1a; 静态构造函数用于初始化任何静态数据。 静态构造函数的常见特性&#xff1a; 静态构造函数不使用访问修饰符或不具有参数。因为静态构造函数由系统调用&#xff0c;无法人为调用&#xff0c;所以就不存在public、private等。…

【开源】基于Vue和SpringBoot的在线课程教学系统

项目编号&#xff1a; S 014 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S014&#xff0c;文末获取源码。} 项目编号&#xff1a;S014&#xff0c;文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

Java IO流(五)(字符集基础知识简介)

字符集 计算机的存储规则&#xff08;英文字符&#xff09; 常见字符集介绍 a.GB2312字符集&#xff1a;1980年发布&#xff0c;1981年5月1日实施的简体中文汉字编码国家标准。收录7445个图形字符&#xff0c;其中包括6763个简体汉字 b.BIG5字符集&#xff1a;台湾地区繁体中…

【Angular开发】Angular在2023年之前不是很好

做一个简单介绍&#xff0c;年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【架构师酒馆】…

ES6中的继承,String类型方法的拓展

ES6中的继承&#xff1a; 主要是依赖extends关键字来实现继承&#xff0c;使用了extends实现继承不一定要constructor和super&#xff0c;因为没有的话会默认产生并调用它们。 在实现继承时&#xff0c;如果子类中有constructor函数&#xff0c;必须得在constructor中调用一下s…

目标检测、目标跟踪、重识别

文章目录 环境前言项目复现特征提取工程下载参考资料 环境 ubuntu 18.04 64位yolov5deepsortfastreid 前言 基于YOLOv5和DeepSort的目标跟踪 介绍过针对行人的检测与跟踪。本文介绍另一个项目&#xff0c;结合 FastReid 来实现行人的检测、跟踪和重识别。作者给出的2个主…

Sequential Modeling Enables Scalable Learning for Large Vision Models

目录 一、论文速读 1.1 摘要 1.2 论文概要总结 二、论文精度 2.1 论文试图解决什么问题&#xff1f; 2.2 论文中提到的解决方案之关键是什么&#xff1f; 2.3 论文提出的架构和损失函数是什么&#xff1f; 2.4 用于定量评估的数据集是什么&#xff1f;代码有没有开源&a…