首页 理论教育 高德地图调用方法与注意事项

高德地图调用方法与注意事项

时间:2023-06-30 理论教育 版权反馈
【摘要】:本实验主要展示调用显示地图的方法,高德地图默认显示北京市,如图6.1所示。图6.1高德地图的调用在高德地图中有些功能需要同时获取发布版本和调试版本,如果有多个工程使用同一个认证指纹,则会导致地图加载失败。

高德地图调用方法与注意事项

1.实验目的

(1)掌握高德地图API Key的获取方法。为了在应用程序中调用第三方Map服务,必须先获取第三方Map服务的API Key。

(2)掌握高德地图调试环境的配置。高德地图目前不支持Android Studio模拟器底层系统架构,所以需要使用第三方模拟器或者真机,本实验使用夜神模拟器。

(3)掌握高德地图开发环境的配置和界面获取方式。

2.界面与功能

高德地图具有显示地图、导航、搜索定位、规划路径等功能。本实验主要展示调用显示地图的方法,高德地图默认显示北京市,如图6.1(a)所示。该程序界面上的Switch添加了事件监听器,可以通过该控件打开路况,如图6.1(b)所示,地图设置了倾斜度,将地图放大后可以显示3D的建筑物,如图6.1(c)所示。

3.实验步骤

步骤1:使用高德地图需要获取地图服务的API Key,在获取API Key之前需要获取keystore中存储的认证指纹,keystore是密钥库,它分为以下两种版本。

•发布版本(release version):如果是作为实际产品发布的签名App,这类App的数字证书的keystore一般保存在用户自定义的路径中,生成方法参考第4章实验2“知识拓展:APK签名”部分介绍的生成密钥库的方法。

•调试版本(debug version):Android Studio自带一个供调试的keystore,存放路径通常为C:\Users\用户名\.android\debug.keystore。

图6.1 高德地图的调用

在高德地图中有些功能需要同时获取发布版本和调试版本,如果有多个工程使用同一个认证指纹,则会导致地图加载失败。本实验以调试版本keystore为例。

步骤2:调试版本认证指纹申请。调用JDK提供的keytool工具查看keystore的认证指纹,Android Studio已经将该功能集成到开发环境。打开Android Studio主界面最右侧的Gradle窗口,依次单击创建的App|“Tasks”|“android”,最后双击“signingReport”,如图6.2所示,然后会出现图6.3所示的窗口,其中“SHA1”后的字符串就是通过keystore生成的指纹。

图6.2 生成密钥库认证指纹

步骤3:发布版本的认证指纹的获取(用于调试功能的应用可以跳过此步骤)。首先使用“APK签名”功能生成密钥库,例如,生成的密钥库为文件D:\release_app.jks,然后进入命令行下执行“keytool-list-v-keystore D:\release_app.jks”,接着输入在生成密钥库时输入的密码,即可获得发布版本的认证指纹,如图6.4所示。

图6.3 生成调试版本的认证指纹

图6.4 生成发布版本的认证指纹

提示:如果运行工具时系统提示找不到命令的错误,则说明PATH环境变量配置错误,需增加%JAVA_HOME%/bin的环境变量,其中%JAVA_HOME%代表JDK的安装路径,JDK的安装路径的bin子目录下应包含keytool.exe工具,该命令就是对该工具的调用。

步骤4:打开高德地图登录网址http://id.amap.com/,根据页面提示注册登录,如图6.5所示。注册登录后,打开http://lbs.amap.com/dev/index/页面申请“成为开发者”,页面会提示用户输入邮箱、上传身份证正反面、输入手机号码(请输入真实的邮箱和手机号码,高德会采用短信或邮箱的方式进行验证),提交请求,并通过邮件激活,此时就拥有了一个高德的开发者账号。

图6.5 登录高德地图

步骤5:在高德地图的控制台页面单击“我的应用”新建一个应用,如图6.6所示,在弹出的窗口中输入应用名称和应用类型,如图6.7所示。应用创建完毕后,在控制台会出现图6.8所示的应用,在该页面中通过单击“+”按钮添加新的Key,则会出现图6.9所示的页面。

图6.6 新建一个应用

图6.7 输入应用名称和应用类型

图6.8 应用创建完成后的页面

步骤6:如果是调试版本,则在图6.9的“发布版安全码SHA1”文本框中输入图6.3中生成的SHA1指纹。如果是发布版本,则在“发布版安全码SHA1”文本框中输入图6.4中生成的SHA1指纹,在“调试版安全码SHA1”文本框中输入图6.3中生成的SHA1指纹。本实验以调试版本为例。在“PackageName”文本框中输入Android Manifest.xml配置文件中package属性的取值,这里输入“cn.edu.android.app15”,单击“提交”按钮,系统返回图6.10所示的页面,可在该页面中获取API Key。

步骤7:安装夜神模拟器。夜神模拟器下载地址为https://www.yeshen.com/,本实验以v6.6.0.3为例,下载完成后双击文件安装,安装完成后直接运行,第一次运行该模拟器时加载较慢,需耐心等待。模拟器加载完毕后单击工具栏的设置按钮,在“性能设置”|“分辨率设置”中选择“手机版”,并设置分辨率,如图6.11所示。

提示:如果用Android真机调试则可以不安装该模拟器,直接安装真机驱动程序后,通过USB接口连接真机和计算机,在Android Studio中运行程序,即可识别出真机。

步骤8:设置夜神模拟器为开发者模式。打开模拟器中的“设置”,依次打开“系统”|“关于平板电脑”选项,如图6.12(a)所示,单击“版本号”5次即可打开开发者模式。回到上一个界面,在“关于平板电脑”选项上方会多出一个“{}开发者”选项,单击该选项,在出现的界面中打开“USB调试”开关,如图6.12(b)所示,重启模拟器生效。此步骤同样适用于真机调试。

图6.9 填写申请Key的信息

图6.10 API Key申请成功

图6.11 夜神模拟器分辨率设置

图6.12 夜神模拟器打开开发者选项(www.xing528.com)

步骤9:关闭模拟器,打开夜神模拟器的多开器,选中已安装的模拟器,在菜单栏选择“更多操作”|“Android升级”对该模拟器进行升级,将模拟器升级至最新版本,如图6.13所示,否则输入法可能无法使用。

图6.13 夜神模拟器升级

步骤10:新建模块App15。新建项目的包名为申请API Key时填写的应用包名,即应用程序的包路径(PackageName)必须与图6.9中的完全一致,地图不能运行很多情况下就是这个问题引起的。

步骤11:修改模块的build.gradle文件,增加支持的SO库架构,设置地图的依赖。设置依赖后保证网络畅通,否则会导致高德的地图包无法下载。

如果采用最新版本,则将版本号改为“latest.integration”,也可以换成其他的版本号。

步骤12:配置清单文件Android Manifest.xml,在该文件的application……/元素内添加以下meta-data……/子元素。meta-data……/元素用于启用高德地图支持,其中的android:value属性值应该填写前面申请得到的API Key。

注意:不要按照以上代码直接输入,否则会导致地图加载失败。

步骤13:在Android应用的Android Manifest.xml文件中添加以下权限。

步骤14:在布局文件中先放入Map View和Switch控件。将Switch的ID设置为switch,将文本设置为“路况”,将该控件放在界面顶部中央。设置两个控件的约束。

步骤15:Map View要求在其所在的Activity的生命周期函数中回调Map View的生命周期函数。高德地图提供了Map View组件,这个Map View继承了FrameLayout,因此它的本质是一个普通的容器控件,开发者可以直接将该Map View添加到应用界面上。

步骤16:Map View只是一个容器,真正为Map View提供地图支持的是AMap类,Map View可以通过get Map()方法来获取它所封装的AMap对象,AMap对象则提供了大量的方法来控制地图。

步骤17:运行模拟器和App15。如果在弹出的“Select Deployment Target”窗口中没有找到夜神模拟器,则在命令行中输入“adb connect 127.0.0.1:62001”。夜神模拟器默认具有root权限,所以不需要在“设置”中赋予权限,直接运行该App就可以获取地图需要具有的权限,真机中必须要赋予权限才能运行。

知识拓展:生成文档

在日常开发中为了方便别人调用经常需要提供文档,Java中可以通过注释生成文档,主要步骤如下所述。

步骤1:在每个类和方法前加入注释,如图6.14所示。常用的注释如下。

图6.14 为代码增加注释

•@author:代码的作者信息。

•@deprecated:指明一个过期的类或成员。

•@param:说明一个方法的参数,后面描述参数的类型和参数,如果有多个参数则另起一行,并依旧以“@param”开头。例如:@param{string}title页面的标题。

•@exception:标志一个类抛出的异常。例如:@exception抛出IOException。

•@return:说明返回值类型。例如:@return{String}返回字符串类型。

•@example:用于表示示例代码,通常示例代码会另起一行编写,如下所示。

•@overview:对当前代码文件的描述。

•@copyright:代码的版权信息。

•@version:描述当前代码的版本。例如:@version v1.2。

步骤2:依次选择Android Studio工具栏的“Tools”|“Generate JavaDoc”,弹出图6.15所示的界面。

步骤3:在图6.15所示的界面中选择“Whole project”(整个项目)、“Custom scope”(指定模块)或者指定的模块和文件,然后在“Output directory”中指定输出文档的路径。如果注释中有中文字符,需要在“Other command line arguments”中填写“-encoding utf-8-charset utf-8”,否则生成会失败并提示“编码GBK的不可映射字符”。最后单击“OK”生成HTML页面,如图6.16所示,可以使用第三方工具将其制作成一个CHM文件。

图6.15 生成JavaDoc

图6.16 生成的HTML文档

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈