Android - 简单的显示高德SDK中的3D地图

这篇教程针对Android初学者,详细介绍了如何使用高德SDK显示3D地图和定位蓝点。包括获取API key、导入SDK、添加必要权限、初始化地图容器以及显示定位点的步骤,帮助开发者避免常见问题。
摘要由CSDN通过智能技术生成

简单的显示高德SDK中的3D地图

身为一个安卓小白,前几天试了一下高德SDK,踩了几个蠢蠢的坑,秉承着别让其他小白也踩到,我就写一篇怎么简单的实现高德SDK显示地图与小蓝点的教程。

获得key

1、先注册一个高德开发者的账号,上传认证后打开控制台,点击左侧列表->应用管理->我的应用
在这里插入图片描述
点击界面y右上角的创建新应用在这里插入图片描述
这两项可以随便写
在这里插入图片描述
点击创建后,界面会出现一个你新建应用的项目,点击右上角的加号添加一个key。
在这里插入图片描述
创建key的界面如图,名字可以随便写,选择Android平台,接下来看如何获得到SHA1与包名。

在这里插入图片描述

特别注意:这里你创建的每个项目都有一个唯一的SHA1码,在这里填写后,在别的项目中用这个key就会出错,所以只能一个key对应一个项目。高德在你创建key时也会提醒你的。在这里插入图片描述
现在新建一个新项目吧
Android Studio中点击界面中最右边的gradel按钮
在这里插入图片描述
在弹出的列表中选择app->android->signingReport,双击运行
在这里插入图片描述
运行结果中有一行SHA1,就是他了,复制粘贴
在这里插入图片描述
之后一定要把运行状态弄回去,在屏幕上边中间,把它改回app,要不之后会一直运行这个(这个我找了半天原因原谅我的白痴嘤嘤嘤)
在这里插入图片描述
之后就只剩下包名了,你可以在创建项目的时候就把包名复制上,或者打开AndroidManifest.xml 最上面一行就有了。
在这里插入图片描述
创建完毕后,你就可以在界面里看到生成的key啦!是不是很简单呢。
在这里插入图片描述

导入SDK包

这里借助高德自己的开发文档也十分不错,小白我当时也是看的开发文档结合自己的问题百度,最后做成的。开发文档在控制台里看右上角就有啦
附带一个传送门:高德开发文档
因为我是用AS实现的,如果是Eclipse也可以去看开发文档

下面就是下载地图与定位的SDK包啦,一共是两个包,5.0后的地图包支持了直接显示小蓝点,所以也可以不用下载定位包(因为本教程是超简单的那种,还不需要定位包)总共要配置两种文件,一种是jar包,一种是so文件

地图下载传送门
定位下载传送门

这里我选的都是一键下载。也可以在这个界面里点进地图SDK或定位SDK,再在左侧列表中点击入门指南,里面会有SDK下载地址的。
在这里插入图片描述
下载好后解压,你的文件应该是这样的

每个压缩包都会有demo和相应文档,咱们现在只看要导入的文件即可。

定位文件中,只需要这个jar包
在这里插入图片描述
地图文件中,咱们先只看3d的压缩包,解压出来是这样的
在这里插入图片描述
好了,现在先把jar包导入到libs里吧,看AS左边的列表,我这里默认是Android,所以看不见libs,选择Project就看见啦
在这里插入图片描述
libs文件夹在这里,app里的那个文件夹,jar包复制粘贴进去即可。
在这里插入图片描述
此时jar包是这样的
在这里插入图片描述
右键jar包选择Add As Library…,他就会自动sync啦,而且是一次把libs里面的包都导入进去
在这里插入图片描述
怎么看导没导入呢,导入后包的左边会有一个小箭头就是导入啦,接下来在Android里找到两个build.gradle(Project里也可以找到,但是Android里找比较方便),可以看到两个gradle一个是Project:xxx,一个是Module:app,小白我只知道后者经常用于添加依赖(嘤嘤嘤),但是千万不要把两者搞混了啊
在这里插入图片描述
在app的build.gradle文件中拉到最下面的dependencies里有这样一条语句,这就是把libs里的jar包都添加了依赖的意思,接下来咱们解决so文件(就是剩下的一堆文件夹)
implementation fileTree(include: ['*.jar'], dir: 'libs')
还是用列表的Project模式,app->src->main里创建一个文件夹叫jniLibs,把文件夹都复制粘贴进去
在这里插入图片描述

接下来声明权限

在配置文件(AndroidManifest)中 把高德开发文档中的权限复制粘贴(嘿嘿嘿)与application平行关系。

//地图SDK(包含其搜索功能)需要的基础权限
     
<!--允许程序打开网络套接字-->
<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" />     
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

然后在application里面设置key

<meta-data android:name="com.amap.api.v2.apikey" 
            android:value="开发者申请的key">
        </meta-data>
<meta-data android:name="com.amap.api.v2.apikey" 

配置好的配置文件差不多是这样的

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.project.mapagain">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值