《基于SIM868的定位系统设计和实现电子信息工程专业.docx》由会员分享,可在线阅读,更多相关《基于SIM868的定位系统设计和实现电子信息工程专业.docx(40页珍藏版)》请在课桌文档上搜索。
1、摘要1Abstract2第一章绪论31.1 课题背景31.2 研究目的与意义31.3 国内外研究现状3141匕口5第二章定位系统硬件设计62.1 系统硬件整体设计概述62.1.1 SIM868模块62.1.2 STM32F103系列微控制器82.3VI8第三章定位系统软件设计103.1 GPS定位原理103.2 GPS数据格式103.3 GPS数据获取与处理123.4 AT指令流程143.5 发送数据至OneNET153.5.1 OneNET设备接入153.5.2 程序写入设备ID和APIKEY163.6 软件体设,计案及流程图16第四章APP开发184.1 申请高德地图APlKey184.2
2、 高德地图SDK工具包添加194.3 显示地图204.4 经纬度位置标记224.5 辅助定位功能添加234.6 APP运行流程图24第五章系统调试和实验结果265.1 实物展示265.2 系统调试265.3 实验结果28第六章总结与展望30参考文献31致谢33附录34随着生活水平的提高、社会的进步,人的平均寿命逐渐增长,老年群体愈发庞大。随着年龄的增长,老年人的身体会出现各种各样的状况,有关大脑的问题众多,老人出现“痴呆”现象,从而导致走失事件频发,因此研究防老人走失的定位装置具有现实意义。本系统拟设计一款可穿戴式设备用来实时定位老人位置,子女可通过手机APP查看老人位置,以此防止老人走丢。本
3、文重点介绍了如何使用SIM868模块获取GPS定位信息并上传数据至服务器端,以及在手机app端查看位置信息的方法。通过学习SIM868模块的使用和工作原理以及完善的软硬件设计,成功达到预期的实验结果。本系统设计以ST(意法半导体)公司的使用ARM内核的STM32F103系列微控制器为主控核心,定位模块使用SIM868模块,手机APP使用AndroidStUdio进行开发,主要功能为显示地图与位置信息。关键字:GPS定位;SIM868模块;SIM32F103系列微控制器;手机APPAbstractWiththeimprovementoflivingstandardsandsocialprogre
4、ss,theaveragelifeexpectancyofpeopleisincreasinggradually,andtheelderlypopulationisbecominglargerandlarger.Asthegrowthoftheage,thebodyoldoldpeoplewillappearavarietyofcondition,manyquestionsaboutthebrainandtheoldmanappeardementia”phenomenon,resultinginlosthappenedfrequently,sotheoldmanlostpreventionpo
5、sitioningdevicehasarealisticsignificance.Thesystemintendstodesignawearabledevicetolocatetheelderlyinrealtime,andthechildrencancheckthelocationoftheelderlythroughthemobileAPPtopreventtheoldmanfromgettinglost.ThisarticlefocusesonhowtousetheSIM868moduletoobtainGPSlocationinformationanduploaddatatothese
6、rverside,aswellastoviewlocationinformationonthemobileapp.ThroughlearningtheuseandworkingprincipleofSIM868moduleandperfectsoftwareandhardwaredesign,theexpectedexperimentalresultsareachievedsuccessfully.ThesystemisdesignedtousetheSTM32F103seriesmicrocontrollerofARMkernelasthemaincontrolcore,andtheposi
7、tioningmoduleUSEStheSIM868module.MobileAPPisdevelopedwithAndroidStudio,andthemainfunctionistodisplaythemapandlocationinformation.Keywords:GPSpositioning;SIM868module;SIM32F103seriesmicrocontroller;MobileAPP第一章绪论1.1 课题背景根据相关调查数据显示,每年全国走失老人约有50万人,而平均每天就约有1370名老人走失;从年龄上看,65岁以上老人容易走失,比例达到80%以上;迷路、精神疾病和老
8、年痴呆是老人走失的重要原因L根据最新人口统计数据,我国老龄化现象严重,老年人占总人口的比例在不断提高。面对人口老龄化的现状,养老产业将迎来最大机遇和挑战一一老人数量增加,养老机构服务人员有限,如何提高自身服务水平、保障老人健康的问题被提上日程。目前,老年人的安全健康成为社会关心的一大热点,老年人走丢、迷路的事件在生活中时常发生。老年人走失问题如今已成为社会亟待解决的问题。1.2 研究目的与意义面对如今老人走失问题严重这一现状,社会迫切需要改变这一现状的方法,最合理的方法便是子女或看护人员能够在第一时间知道老人的位置来防止走丢。本课题源于“老人健康监护定位手环”,目前带有定位功能的儿童手表已经得
9、到大多数家长的选择,但是子女对老人的看护明显不足,针对老年人的可穿戴定位装置市场上不是很多。在此基础上,本系统拟设计一款针对老年人的可穿戴式定位设备,能够实时上传老人所处位置信息,并且子女或看护人员可以在手机APP端查看老人位置。通过对本系统的研究,希望能够找到有效解决老年人走失问题的方法,保障老年人的健康,推动养老产业的不断完善。1.3 国内外研究现状现在市面上有很多GPS定位器,例如天眼星GPS定位器,把控制定位器的软件下载到手机里面就可以实时监控老人的活动情况,还有把老人经常活动的范围设置成围栏,老人只要走出这个范围监护人电话就会收到报警短信,防止老人走失等功能。目前己知针对如何快速有效
10、了解老人的位置,上海美迪索科公司基于定位技术采取以下几种方案(I)老人监测系统:通过老人携带智能手环,记录老人实时位置和活动轨迹,手环内置GPS/北斗/蓝牙/惯导等融合定位模块,实现室内外无缝定位,实现室内高精度定位;手环植入健康监测模块,监测老人身体健康状况,包括心跳、血氧、血压等一系列数据,一旦数据异常,系统后台警报,护理人员可以立刻获取健康状况异常的老人位置等信息、并根据信息采取最及时有效的护理措施。(2)智能养护系统:机构各区域设置电子围栏,老人一旦离开电子围栏区域,系统报警并触发视频联动,有效降低失智老人走失情况;护理人员携带移动智能终端,内置定位模块,方便机构管理层快速调度人员、实
11、现线上考勤、电子点名等;智能终端接入老人监测系统,在老人出现紧急状况时,终端提醒并弹出位置信息,护理人员第一时间赶至现场。1.4 论文结构安排本论文共分为六个章节:第一章绪论主要介绍本课题的研究背景与目的以及国内外的研究现状;第二章定位系统硬件设计,详细介绍硬件整体设计方案、硬件各模块工作原理和电路以及硬件连接设计;第三章定位系统软件设计,详细介绍GPS定位原理和数据格式、SIM868模块的AT指令、服务器设备接入以及软件流程图;第四章APP开发,详细介绍本系统APP的制作过程;第五章系统调试与实验结果,介绍本系统调试过程以及实验结果展示;第六章总结与展望,主要总结自己在毕设过程中遇到的问题与
12、收获以及展望以后的学习。第二章定位系统硬件设计2.1 系统硬件整体设计概述本系统以STM32单片机作为MCU即主控核心,采用SIM868定位模块,GPRS通信模块,云端服务器使用现有服务器,手机APP端查看位置。硬件部分总体设计方案如图2-1所示图2-1硬件部分总体设计方案图STM32F103对SIM868模块发送一系列AT指令控制,SIM868模块接收GPS信号,当接收到足够的GPS信号后,SlM868可获取定位信息,然后连接服务器,进行GPRS通信,将获取到的定位数据发送至服务器,手机APP端调用地图,根据从服务器端获取的经纬度将位置在地图上标注出来。2.2 系统组成2.2.1 SIM86
13、8模块SIM868模块工作频段为GSM850/900/1800/1900MHz,除了支持语音、GPRS数据传输、蓝牙、GPS定位等功能,还支持GPS、北斗和GLo三大定位系统,现在还免费提供支持基站定位主要应用于公共交通、共享单车等远程通讯设备。SIM868模块共有77个引脚,本设计中主要会用到SIM868模块中的GSM模块(单片机与SlM868串口通信,实现AT指令控制)、GPS模块(获取定位信息)以及GPRS模块(GPRS通信上传数据)。SIM868模块引脚图如图2-2所示:24252k2Z60 6 亘69 702 73 TT 2? 76 llUARTl TXD UARTl-RXD 三 I
14、ARTfRTS 刍 UARH-CTS UARTl DCD UARTrDTO UARTl RlM UART2 RXD 3 UART2JXDQGNDGND, GSM ANT 专GNDWGNDSGNDI GPS ANT3GNDBT_ANTgndNetlightGPfOSTI USGPIOlGPIO2GPSeVBAT VBAT GNDVBVlGNDSIM868MCCA3 MCCA2 MCCAl SDCARD mcco MCCK MCCMOUSB VBUSI 7 匚 DPUSBDM IjSBGNDSDAIXSCLGNDI PPSGPS RXD (;NSS_EN GpS GPS TXDVRTCGNDGND
15、GNDGNDGNDGNDGNDGND GND GNDRFeSYNC _ ADC ot,frs PWRKEYVDD-EXTALJlIoSPK2P GNDSIMJa9产尸百尸产, 三三三三三 75 /5 3? 十卜卜卜忖卜 平I NFFFl 叩秒I 平Fl图2-2SIM868模块引脚图SlM卡座是用来插入SIM卡的。SlM868模块不支持电信卡,最好使用GSM(2G)卡,但是现在基本上不使用2G卡,本系统设计中使用的是移动4G卡,目前的3G/4G卡可以兼容以前2G卡的GSM/GPRS功能。模块开机按键,将该按键按下1秒以上,接着松开,就能够打开模块。然后在打开的状态下,再将该按键按下1秒以上,就能
16、够将模块关机。模块的工作状态可以通过模块状态指示灯(NET-STA)来查看。LED指示灯状态模块工作状态熄灭模块关机,未工作闪烁:亮60毫秒/熄灭800毫秒模块没有找到服务(GSM卡无服务)闪烁:亮60毫秒/熄灭3000毫秒模块找到服务,接收到服务信号闪烁:亮60毫秒/熄灭300毫秒模块正在进行GPRS通信2.2.2 STM32F103系列微控制器本设计采用STM32F1O3微控制器来实现对系统的控制,系统整体需用到STM32F1O3微控制器的GPIO模块、UASRT(通用同步/异步串行收发器)、DMA控制器以及定时器,硬件上需要用到STM32单片机的电源、时钟电路、程序下载电路和复位电路。U
17、SART(通用同步/异步串行收发器)是一种能够把二进制位数据按位传送的通信装置,其主要功能是在输出数据时,把数据进行并/串转换,在输入数据时.,把数据进行串/并转换。STM32单片机一共有3个USART(USART1、USART2和USART3)和2个UARTT(UART1、UART2)叫STM32单片机上可以看到很多I/O口,内部也有很多片内外设,片内外设一般会与I/O口公用引脚以此来节省硬件空间,这种方式被称为引脚复用。本系统中I/O口引脚的复用引脚,用于发送AT指令到SIM868并返还指令状态;PAlo为USART1_RX的复用引脚,用于接收SIM868获取的定位数据。2.3 硬件连接设
18、计根据STM32F103微控制器和SIM868模块的原理图以及片内外设的引脚复用状态,拟设计如图2-3所示的连接方式V_IN5VU_TXPA夕USART2_RXU_RXPA力USART2_TXSIM868PS-TPAIO/USARTI.RXSTM32V_IO3.3VGNDGNDPWKGND1图23STM32F103与SIM868连接图PA2、PA3作为USART2_TX和USART2_RX的复用引脚连接至SIM868的U_RX和U_TX使STM32F103可以发送AT指令至SIM868并返还指令执行状态;PAlo作为USART1.RX的复用引脚连接至SIM868的GPS_TX可获取SIM868
19、的定位数据。此时单片机通过USB线连接至电脑可在串口调试助手中查看调试信息(调试内容将在后面章节详细讲解)。注:当STM32F103连接电脑由电脑供电时,V-IN到5V的连接线不可接,否则会导致短接烧坏板子;SIM868模块DC接口外部输入工作电压为直流6v-24v,并且保证给提供足够的2A电流(实验过程中遇到SIM卡无法识别和GPRS通信的问题,原因即是未能提供足够2A的电流)本设计选用DC9V1A的电源供电。第三章定位系统软件设计3.1 GPS定位原理GPS是GlobalPositioningSystem(全球定位系统)的简称。利用GPS定位卫星,在全世界范围内实时进行定位、导航的系统,称
20、为全球卫星定位系统,简称GPSiLGPS是一种具有全方位、全天候、全时段、高精度的卫星导航系统,能为全球用户提供成本低、精度高的三维位置、速度和准确定时等信息。它的原理是测量出位置已知的卫星到信号接收机之间的距离,然后结合不同卫星的数据就可知道接收机的具体位置。GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、Z外,还要引进一个At即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。用户设备部分即GPS信号接收机。当接收
21、机捕获到跟踪的卫星信号后,就可测量出接收天线至卫星的伪距离和距离的变化率,解调出卫星轨道参数等数据。根据这些数据,接收机中的微处理计算机就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。GPS定位有如下特点:(1)全球全天候定位(2)定位精度较高(3)观测时间短(4)设备操作起来简便。随着GPS技术的不断提升,GPS测量简易性越来越高(5)可提供全球统一的三维地心坐标(6)应用广泛3.2 GPS数据格式NMEAOI83协议是国际海运事业无线电技术委员会(RTCM)为GPS导航技术设定的标准协议。NMEA0183的接收速度为4800bps。NMEAOI83协
22、议是通过ASCII码来获得GPS定位数据的。在本系统中将SIM868模块通上电源之后,将其放在室外或用GPS天线引出室外,能够通过串口调试助手查看SIM868模块所接收到的定位数据。本系统设计需要采用的数据格式为$GNRMC,其格式如下:SGNRMC,161229.48,A,3723.24757,NJ2158.34167,W,0,13,309.62,110518*10,<CR><LF>;o可知采用的数据格式为$GNRMC。161229.48表示的是UTe时间,UTC时间即协调世界时,也就是经度为零度的位置的时间,UTC时间加8小时可得到北京时间。A表示的是定位状态
23、的数据有效,如果显示的是V,则表示定位状态的数据无效。3723.24757表示的是纬度信息,N则表示为北纬,S为南纬。12158.34167表示的是经度信息,W表示为西经,E为东经。110518则表示的是日期为18年05月11日。3.3GPS数据获取与处理STM32F103微控制器可通过USARTl通信获取的SIM868模块的定位数据,本系统软件设计中,通过对USARTl接收到的字符串进行判断,确认是否为$GNRMC这一帧数据,当确认是时,进行数据保存以及后续处理,程序如下:if(USART_RX_BUF=$&USART_RX_BUF4=,M&USART_RX_BUF5J=C)确定是否收到”G
24、PRMC/GNRMC”这帧数据memset(Save_Data.GPS_Buffer,O,GPS_Buffer_Length);memcpy(Save_Data.GPS_Buffer,USART_RX_BUF,pointl);保存数据Save_Data.isGetData=true;memset(USART_RX_BUF,0,USART_REC_LEN);清空在串口调试助手查看定位数据可发现显示的经纬度与实际日常使用经纬度有所区别,所以需要加入数据处理的部分,将GPS经纬度参数转化为实际经纬度(这里将$GNRMC中的经纬度称作GPS经纬度参数,用来和实际经纬度加以区别)tG三C,012907.
25、000,13118.227969Jp2038.43769310.00,120.74,1105181.D*7AGPS纬度参数GPS经度参数由上节所介绍的协议可知GPS经度参数格式为(度分)格式,GPS纬度参数格式为(度分)格式,其中1度为60分。下面以GPS经度参数为例,介绍进行数据处理,将GPS经度参数转化为实际经度的方法,GPS纬度参数转化方法与其类似不再重复。首先对GPS经度参数整数部分与小数部分进行分离,整数部分再进行100,取出后两位的mm部分,该mm部分乘以10的n次方(n为小数部分位数),所得结果加上小数部分即为完整的mm部分,该部分乘以60再除以100即为实际经度的小数部分,整数
26、部分进行/100即为实际经度的整数部分,两部分结合可得到实际经度。数据处理框图如图3-1所示:图3-1GPS数据处理框图程序段如图32所示:国sys.h国mainx*回:囿stm32fl0x-gpo.c国USart.cmstring.h团stm32flxjcc.c国delay.c图stm32fl194 charw IongicudeToOnenetFonnac(char *lon_3tr_cemp)195Q1196197198199200201202203204205206207208209210211212213unsigned long lon_0nenec = 0;UnSigned in
27、t dd_int = 0;QnSigned long nm_int i float lon_Onenet_double = 0;int i = 0IlnSigned long CelfiPlnC - 0;UnSigned long CeJnPPOint - O;static char result20;char poinc_result20;int PointLength = 0;sscant (lon_str_teinp, %ld. %ld, AtenspIne, fiteoPoint);lon_Onenet = tenpInt%100;POintLength = strlen (lon_s
28、cr_tenip) - 1 - Digcount (teplnc);for ( i = O ; i POintLength ; i+) 小数点几位,整数部分就放大10的J_lon_Onenet10; dd_int = CempInt / 100; 取出ddinn_int = lon_Onenet + CenipPoint; 取iMM部分 mr me = nt*106;O;214215216sprintf(result,%d.,dd_int);for ( i O ; i POincLength + 1 - Digcount(mm_inc) ; i+)strcat(result, O);sprin
29、tf (POinjresuit, %ldzmm_int);strcac(result, polnt_resulc);return resulc;图3-2GPS数据处理程序段3.3AT指令流程AT指令是单片机用来控制模块和与模块间进行通信的指令。AT指令的全名为Attentiono每发送一个AT命令行就代表一条AT指令;发送AT指令的时候,除了A和T两个字符以外,还可以最多发送1056个字符的长度(也包含最后的空的字符)17,oAT指令是以AT开头,字符结束的字符串,AT指令返还数据也包括在其中。每个指令执行是成功还是失败都会有相应的回应。假如AT指令执行成功了,就会返回“OK”的字符串;假如A
30、T指令执行结果失败或者发生了语法上的错误,就会返回“ERROR”的字符串。本系统中需要实现STM32F103对SIM868模块的SIM卡初始化、连接服务器以及建立GPRS通信上传定位数据的控制,主要的方法便是通过AT指令。SIM868模块提供了大量的相关的GSMAT指令集,下面将对本系统软件程序设计和调试过程中用到的AT指令及其流程进行介绍。本系统程序中,拟设计的AT指令流程如图33所示AT+CGCLASS=B一OKAT+CGDCONT=1OKAT+CGATT=11OKA+CIPSTART=,TCPz80Jconnectok-AT+CIPSEND准备JSON串及HTTP报头JSENDOKA+C
31、IPCLOSECLOSEOKA+CIPSHT图3-3AT指令流程图程序设计中,通过构造SendCOmmarId()函数来发送AT指令,构造方法如下:unsignedintsendCommand(char*Command,char*Response)Command代表AT指令的字符串,Response代表AT指令执行成功后返回的字符串。当Response为USART2接收到的字符串的子串时,函数返回Successo即if(strstr(USART2_RX_BUF,Response)!=NULL)returnSuccess;例如sendCommand(AT+CGATT=lrnz,OKrn)=Suc
32、cess代表AT指令AT+CGATT=1发送成功。3.4发送数据至OIIeNET3.4.1 OneNET设备接入本系统使用了现有服务器OneNET服务器QneNET是中国移动提供的一个免费的平台。该平台的一个主要功能就是能够完成硬件接入与硬件连接。本系统设计中使用的现有服务器就是OneNET服务器。在本系统设计中,为使OneNET服务器允许接收SIM868设备发送的定位数据,需要在OneNET平台上进行部署,为设备申请设备ID和APlKEY,申请方法如下:(1)W(2)选择创建产品,填写产品名称等信息,其中最主要信息是设备接入方式选择公开信息,以及设备接入协议选择HTTP(超文本传输)协议(3
33、)产品创建完成后,可以获得为设备申请的设备ID和APIKEY,如图3-4和3-5所示:以确保STM32与SIM868连接正常,发送相关AT指令初始化SIM卡模块(包括移动台类别设置和GPRS业务附着等),解析SIM868模块获取的GPS数据,建立TCP连接,连接至服务器,成功连接后进行数据发送,发送完毕关闭TCP连接。S U 图3-4设备IDARKeye 称Kuapikey 。认壬.益行背如图 3-5 API Key3.4.2程序写入设备ID和API KEY获取设备ID和API KEY后,在程序中需将其写入来实现SIM868成功发送 数据至OneNET服务器。定义字符串,存放OneNET服务器
34、域名、设备ID以及APlKEY,程序段如 图3-6所示:阳system.stmJHUx.c3 七I MyCode 2 HDx S UMftZcOtar 0nNtSrvr ( *tplbMledscoaa; CMr deviceld( - -28384312;CtMr Mljail qelrYrtHldJJ3w3DHdv-f3-;赛则!艮务器域名设备IDAPI KEY图3-6存放域名、设备ID、APlKEY程序段在HTTP报头中添加域名、设备ID和API KEY信息,程序段如图3-7所示:,r MyCodeK 勺 LEaC国 2Mrt2cCOW” QlrtUP.QmJ2H0jmd.s0treat
35、 (emdbuf, P03T dve):Stscac(je4bufr deviceeldeteeu:一 treat(ec4-buf, 8tpcw HTTPl.lxn1Jtreatcrcac(flndsbufr Ko:); st scat (sendjuf OneSetScrvex);,treat (aM bufr rn);暇备IDAPI KEY朦回艮务器域名图3-7 HTTP报头程序段3.5软件总体设计方案及流程图结合上述STM32F103工作原理、SIM868模块定位原理和相关GSM AT指令 集,拟如下的软件总体设计方窠:单片机各模块初始化,发送AT查询指令返回软件流程图如图3-13所示(
36、具体程序见附录):第四章APP开发本系统设计中,老人携带可穿戴设备上传定位信息,子女或监护人员要能在手机上查看到老人的位置,因此本系统设计中另一个重要任务是开发一个在地图上显示设备位置信息的APPo由于OneNET服务器不提供自制的APP访问数据的服务,较难实现,故该系统设计中开发的APP显示的设备位置为代码中指定的经纬度,而非从服务器端获取的经纬度。作为第一次接触APP开发,本章将介绍该系统APP开发的具体过程,包括地图API的调用,地图的绘制点标记以及辅助定位功能的添加等。4.1申请高德地图APlKeyAPl即应用程序编程接口,该APP制作中接触的最多的便是API。它是一些事先编写好的的函
37、数,开发者需要理解它的功能以及调用方法,在APP编写中加以使用,以达到自己想要实现的功能。本系统设计中的APP显示的高德地图便是通过使用高德地图工具包调用高德地图实现的,而在使用高德地图前,需要申请一个高德地图的APlKey。登录高德地图开放平台,注册成为平台开发者,注册过程较简单,这里不详细介绍。注册完成登录高德开放平台,进入控制台。创建新应用,点击,填写若干信息,其中两项“packagename”和“调试版安全码SHAl”(无需发布版安全码SHA1),如图41所示图4-1packagename和SHAl值本系统APP只需debug版的Keystore来获取调试版安全码SHAl获取方法如下:
38、输入密钥后回车此时可在控制台显示信息中获取SHAl值,如图4-2所示间纨 者者号时指 有布冽墨 庐l后lu-ilC=US, O=findrod, CN=Android DebugC=US, O=find*oid, CN=Android Debug 1:Tue Apr 10 15:50:14 CST 2018,失效时间:ThU Apr 02 15:50:14 CSTSHf?6:63:18:83:2D:50:3F:2E:F5:88:32:33:B0SHA256: 73:99:AF:8D:ED:13:23:D8:0B:21:40:A5:67:FB:64:19:7fi:B3:ll: :5B:D0:DE
39、:C4:CE:9A:16:71名称:SHAlwitbRSA密销算法:1024位RSfi密钥2048DB:28:SHAl 值图4-2获取的SHAl值PackageName为应用包名,可在本系统APP的AndroidStudio应用工程的MainACtiVity文件中查看到。如图4-3所示WW,-WIVJj.一VWtrVMVjr*B*AndroidManifestxmICMainActivityJavactsmap2packagecomxampleamp2;PaCkageNameQ3liprt.图4-3PackageName应用包名输入正确的SHAl值和PackgeName后,获取地图APIKey
40、,如图4-9所示:2018-04-12匏sim868Key名称图4-4获取的APIKey4.2高德地图SDK工具包添加进入高德地图开发者平台首页,在Android平台上选择下载地图SDK,下载完成后,将jar包加入IibS文件夹(以ProjeCt形式打开项目时,在app模块下会显示IibS文件夹)下,如图4-5所示LapphbuildBllibsBAmap_2DMap_V5.2,0_20170627.jarAMap_Location_V3.8.0_20180201.jarAMap_Search_V6,1.0_20180330.jarVolleyjar图4-5IibS文件夹下的jar包4.3显示
41、地图本系统APP一个最基本的功能是在手机上显示地图,在获取到高德地图的SDK工具包和APIKey后,需要在AndroidStUdio应用工程的对应文件中编写相关代码实现显示地图这一功能。(1)res/layout目录下的activity_main.xml文件为该工程的布局文件,与APP视图相关的布局便是在这里编写的,为了能在APP中显示高德地图,需要在布局文件中添加地图控件,编写activity_main.xml文件如下:alvrsion三*l.0*ncodinIco.pi.p2d.IIapVixln:ndroid三*http:/ch.ndroid.cob/apk/rsandroid*nrd:
42、iW+ip“mandroid:layoutwidth=tchwprntandroid:lyoujhiht三*BatchjMapViv oxPause(): deactivate O:verri deprotected voi d onSavInstancStat w onSvInst meStat (outStat );代码中首先通过findViewByld()方法获取MapView对象,再通过MapView对象在Activity的各个声明周期方法中调用对应的方法。(3)AndroidManifest.Xml是每个Android程序中必须的文件,主要功能是注册各组件,配置所需要的权限,还有一些相关信息U久MainACtiVity需要在这里进行注册才能使用,虽然本系统APP的Activity中没有使用需要申请权限的内容,但是使用的高德地图的jar包中有所涉及,而使用高德地图所需要的APIKey也需要在其中配置,对应代码段如下:Qpriiondrofnf=aX0id.prx“ion.INlEU2I)VJIJIXrEussp