毕业论文-范本--android手机web地图服务的应用设计_第1页
毕业论文-范本--android手机web地图服务的应用设计_第2页
毕业论文-范本--android手机web地图服务的应用设计_第3页
毕业论文-范本--android手机web地图服务的应用设计_第4页
毕业论文-范本--android手机web地图服务的应用设计_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文范本ANDROID手机WEB地图服务的应用设计南昌大学硕士学位论文ANDROID手机WEB地图服务的应用设计姓名张艳芳申请学位级别硕士专业计算机应用技术指导教师周聪20100103摘要摘要当今社会手机已经成为人们工作生活中必不可少的一项通讯和娱乐工具随着3G时代的到来手机的各种高层服务和应用层出不穷其中手机地图服务是一项新兴且有广阔市场和应用价值的业务尤其是基于位置的网络地图服务近年来备受人们关注它利用移动终端的定位技术通过移动通信网络与手机地图应用服务器之间的互联通信提供给客户各种与位置相关的信息服务方便了用户的出行ANDROID平台支持GPS或网络定位的应用开发并提供给普通开发者非常灵活的GOOGLEMAPS展示与控制功能这为人们在手机上设计与实现地图服务提供了便捷灵活的开发平台本文所实现的WEB地图服务是基于ANDROID平台开发的采用的网络地图是GOOGLEMAPS该系统可以用来浏览城市的地图并能对其放大缩小和移动同时利用GPS定位技术实现了自我定位位置查找和路径跟踪等功能满足了手机用户基本的地图服务需求关键词3GANDROIDGPSGOOGLEMAPSABSTRACTABSTRACTBECOMESANESSENTIALTOOLFORNOWADAYSMOBILEPHONECOMMUNICATIONANDAINENTERTAINMENTITLIFEWITHTHEPLAYSVERYIMPORTANTPARTPEOPLESOFCOMINGAGEANDMORE3GMOREADVANCEDSERVICESANDPHONESCOMEOUTPHONEAPPLICATIONSMAPSERVICEISANEWSERVICEWITHAWIDEMARKETANDAVALUEPROSPECTGREATAPPLICATIONLOCATIONBASEDWEBSERVICESESPECIALLYPHONEMAPMUCHATTENTIONRECENTGETYEARSMOBILETERMINALUSINGCOMMUNICATESWITHPOSITIONINGTECHNOLOGYTHROUGHPHONESERVERWIRELESSMAPBYCANNETWORKITINFORMATIONTOPROVIDEPOSITIONRELATEDTHATTOLOTSOFCONVENIENCETOTHECUSTOMERSSOGIVEUSERSTRAVELANDROIDBASEDOILPLATFORMSUPPORTGPSORNETWORKAPPLICATIONDEVELOPINGTHEPOSITIONINGALSOAFUNCTIONOFFLEXIBLEPROVIDESORDINARILYANDDEVELOPERDISPLAYCONTR01THISWILLAWHICHPROVIDEDEVELOPERSPLATFORMMAKESTHEANDDESIGNOFSERVICEIMPLEMENTATIONCONVENIENTANDFLEXIBLEMAPTHESERVICETOBEMAPINTHISISSYSTEMIMPLEMENTEDONPAPERDEVELOPEDANDROIDTHECANPLATFORMUSESGOOGLEMAPSTHISSYSTEMCITYDISPLAYMAPPEOPLECANZOOMANDMOVETHETHESAMEGPSMAPATTIMEUSINGPOSITIONINGTECHNOLOGYTHECANSYSTEMIMPLEMENTSANDOTHERSELFPOSITIONINGADDRESSINQUIRYPATHTRACKINGANDTHEMOBILELIFEFUNCTIONSHELPGUIDEPERSONALBASEDONLOCATIONKEYWORDS3GANDROIDGPSGOOGLEMAPSII学位论文独创性声明学位论文独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果据我所知除了文中特JLJDTL以标注和致谢的地方外论文中不包含其他人已经发表或撰写过的研究成果也不包含为获得塑昌太堂或其他教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意学位论文作者签名手写粥签字日期2卜年7月7ET学位论文版权使用授权书本学位论文作者完全了解直昌太堂有关保留使用学位论文的规定有权保留并向国家有关部门或机构送交论文的复印件和磁盘允许论文被查阅和借阅本人授权直昌太堂可以将学位论文的全部或部分内容编入有关数据库进行检索可以采用影印缩印或扫描等复制手段保存汇编本学位论文同时授权中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库并通过网络向社会公众提供信息服务保密的学位论文在解密后适用本授权书学位论文作者签名手写予艮艳芬导师签名手写司陋签字日期20L年签字日期月F月7日2OJ霹F第1章引言第1章引言11手机地图服务的产生手机地图服务是随着地理信息技术卫星定位技术和移动通信技术的发展而出现的新的地图应用形式它为人们通过移动设备享用地理信息服务提供了方便使用户能在手机上享受和网络上同样的地图服务L手机地图服务是指在手机上利用GPS或者网络实现精确定位通过使用NAP方式或客户端方式得到相关位置信息的业务手机地图为用户提供了一种便捷实用的掌上地图通过手机屏幕用户可以查询城市信息查找自己的位置查找道路信息方便了出行手机地图服务的主要特点是令移动性和便携性手机用户可以自由的移动覆盖面广移动通信网覆盖的范围都可以使用交通服务通过手机地图了解全国各个地方的位置情况并获得到达目的地的路线图交通状况天气状况等信息查询广泛通过手机地图随时查询自己所处的位置和好友的位置12研究背景及意义随着计算机和定位技术的飞速发展全球定位系统GPS和地图服务得到了更广泛的重视和应用将地图有效地与位置定位技术相结合应用前景十分广阔据统计人们的日常生活中有80的信息是与位置相关的然而为了寻找某个地点人们常常需要耗费大量的精力所以伴随着现代生活节奏的不断加快实时的地理位置信息正在成为人们最渴求的信息之一目前的地图服务主要是以单机或者WEB的方式实现不适合身处外地的用户使用给用户的出行带来了不便而手机地图服务的便携性和数据的实时性很好的解决了这一问题因此设计手机地图服务的应用具有非常实用的价值2另一方面GOOGLE于2007年11月推出了一款开源的移动终端软件平台ANDROID为普通开发者提供了非常灵活的GOOGLEMAPS展示与控制功能同时由于GOOGLEMAPS的免费性和ANDROID平台的开源性能够有效降低开发成本使每个用户自由的获取信息这也为手机地图服务的普及做出了重要贡献第L章引言13手机地图服务的发展趋势及相关的网络地图服务作为地理空间信息表达形式之一的手机地图越来越受到人们的重视和欢迎因此对手机地图服务的研究与开发是当前移动设备应用开发中最为活跃的领域之一3131手机地图服务的发展趋势大众化随着社会的发展人们对地理信息的需求越来越多从地图服务中人们得到的不仅仅是方便还有效率和效益由于人们日常生活中不可能随时随地通过网络获取地图服务而通过手机获取地图服务是解决这个问题的很好方案因此手机地图服务的推广必将大大方便人们的生活行业化手机地图服务作为一项高新技术产业对行业的影响是积极的一方面将位置服务与地图相结合可以提高一些相关行业服务的效率例如在安全救援行业手机地图服务可以通过手机定位及时获取救援对象的位置并在地图上标识出来给救援工作带来了极大的便利另一方面对一些传统行业加以改造实现其在新环境下的飞跃最典型的例子便是物流管理运用基于手机平台的位置服务将货物的物理位置在地图上标识出来并以此为基础处理物流业务的各个环节实现了物流业务的电子化随着技术的不断发展手机地图服务将会渗透到更多的行业但还存在一些限制条件比如移动通讯网的覆盖范围虽然目前我国移动通讯网络的覆盖已经非常广泛但一些偏远地区还存在盲区132相关的网络地图服务MAPS的诞生标志着网络地图服务的兴起近年来国内外相继推出GOOGLE了各种各样的网络地图服务主要有下面几种45L夺GOOGLE地图服务2005年4月GOOGLE正式推出GOOGLEMAPS它以矢量地图卫星地图混合地图3种服务模式向全球提供地图搜索和逐级缩放功能的地图服务让全球用户体验到了新的地图服务模式为了使GOOGLE地图服务得到更广泛的应用2第1章引言2005年6月29日OOOGLE对外提供了便于二次开发的开放式地图服务应用程序接口GOOGLEMAPSAPI让全世界对GOOGLEMAPS感兴趣的人能够自行开发GOOGLEMAPS服务2006年GOOGLE又发布了移动平台的地图服务地图数据通过无线连接的方式直接传输到手机平台上用户通过手机上网即可获得地图服务GOOGLE地图服务的创新性和开放性使其在互联网上取得了极大的成功YAHOOLOCAL地图服务YAHOOLOCAL地图服务出现的时间略迟于GOOGLEMAPS和GOOGLEMAPS的简洁风格不同YAHOO地图保持了贯的华丽风格整个YAHOO地图服务都是基于ADOBEFLASH技术实现操作十分简单加载速度也未受影响并且YAHOO第一个推出了交通信息服务以显示路况信息自身服务相同的FLASHAPIACTIONSCRIPTAPI另一种是基于AJAX的JAVASCFIPT除此之外YAHOO还提供了诸多相关服务的API供广大开发者使用目前YAHOO地图服务也和OOOGLE地图服务一起跻身于互联网三大地图服务MICROSOFTVWTUALEARTH服务VIRTUALEARTH虚拟地球服务是微软公司推出的一款与GOOGLE地图服务相抗衡的服务旨在建立一个数字化的地球其功能设计相当复杂支持在网页上显示3D地图同样VIRTUALEARTH服务也对外提供相关应用的API但因为地图数据稳定性和加载速度等原因该服务在国内使用比较少不过有微软作为强有力的后盾VIRTUALEARTH服务必将有更出色的表现另外VIRTUALEARTH服务也是互联网三大地图服务之一国内的地图服务GOOGLE地图服务的成功在国内引起了极大的关注国内知名网站都陆续推出了自己的地图服务其中反映最快的是搜狐旗下的搜狗第一个在国内推出了地图服务随后中国的搜索门户百度也推出了自己的地图服务其功能与GOOGLE地图相比更具本地特色也更加实用但这些服务一般不提供开放的API接口尽管在地图服务方面国内网站已经取得了可喜的进步但是无一例外地国内的地图服务目前无法提供国外三大地图服务均可提供的高分辨率卫星地图的功能3第1章引言14本文的组织结构本文的组织结构如下第1章为引言阐明了系统开发的背景意义并对当前相关的地图服务进行了简单的介绍台的特征应用程序的构成和工作机制等第3章详细研究了定位技术和从代码的层次讨论了GOOGLEMAPS的后台运行机制第4章详细论述了系统的需求分析系统的主要功能模块界面数据库设计和系统用到的一些关键技术第5章论述了系统的数据存储模块和各个功能模块的代码实现第6章总结了本课题的主要成果和不足并进行了展望4第2章ANDROID概述第2章ANDROID概述作系统中间件用户界面和应用程序组成2008年9月23日美国运营商21ANDROID平台的优点平台的开放性允许任何厂商加入使其拥有更多的开发者新的应用还有创意可以不断的出现摆脱了运营商的束缚让手机更加贴近互联网夺应用程序都是基于JAVA开发的JAVA具有一次编写到处运行的跨平台性实现了能够在所有的ANDROID设备中运行真正做到了硬件无关性降低了开发者的负担提供了标准的API和SDK开发包手机厂商可以根据需要自行开发或者使用已有的程序从而打造出富有特色的ANDROID平台22ANDROID平台的特征应用框架6J用于开发可重用可替代的组件硬件兼容性在保证API兼容的同时针对移动手机进行了大幅优化占用资源更小运行效率更高个开源浏览器网页排版引擎该系统由一个自定义的优化的图形ANDROID提供了优化过的图形系统ES10标准硬件加速的3D图形库组成2D图形库和一个遵循OPENGLSQL语句是一个轻量级的嵌入式数据库媒体功能支持各种通用的音视频和静态图像格式5第2章ANDROID概述网络支持功能支持蓝牙GPRSEDGE3G和WIFI无线网络硬件支持功能支持相机GPS导航和感应加速器等各类硬件强大的开发环境包括设备模拟器调试工具内存和性能检测工具以IDE的开发插件及ECLIPSE23ANDROID平台的体系架构台从上到下主要由五个部分构成应用程序应用程序框架程序库ANDROID运行库以及LINUX内核7引应用程序APPLICATION核心应用所有的核心应用都使用JAVA语言编写同时开发者可以使用应用程序框架层的API实现自己的程序这也是ANDROID开源优势的体现FRAMEWORK夺应用程序框架APPLICATIONANDROID应用程序的开发基于程序框架和组件开发人员拥有同核心应用程序一样的APIS访问权限应用程序后面是一系列的服务和系统其中包括TEXTBOXES按钮BUTTONS等内容提供器CONTENTPROVIDERS一提供一种实现数据互访和共享的机制资源管理器RESOURCESMANAGER一负责管理非代码的访问如本地字符串图片资源及涉及布局的XML文件通知管理器NOTIFICATIONMANAGER一用于将提示信息显示在状态栏上例如当有短信的时候在状态栏上显示有新信息活动管理器ACTIVITYMANAGER一用于管理应用程序的生命周期并提供应用页面退出的机制通过这套应用框架各种服务和组件可以被用户的应用重复利用程序库LIBRARIESANDROID本身还包含了一整套核心库能被系统中不同的组件使用它们通过ANDROID应用程序框架为开发者提供服务核心库主要包括6第2章ANDROID概述系统C库一从BSD继承来的标准C系统函数库是专门为基于嵌入式LINUX设备制定的媒体库一该库支持多种常用的音频视频格式的回放和录制同时支持静SURFACEMANAGER用于管理显示子系统并为多个应用程序提供2D和3D图形层的无缝融合视图SGL一底层的2D图形引擎3DES10APIS实现该库可以使用硬件3D加速LIBR撕ES一基于OPENGL或者高度优化的3D软加速FREETYPR位图和矢量字体显示SQLITE一轻量级的关系型数据库ANDROID运行库RUNTIME所有的ANDROID应用程序都运行在它自己的进程里该进程是一个DALVIK虚拟机的实例DALVIK虚拟机是GOOGLE自主研发的它被设计成一个设备可以同时高效地运行多个虚拟系统DALVIK在保证API方面兼容的同时针对移动手机进行了优化占用更小的资源提高了运行效率DALVIK虚拟机依赖于底层LINUX内核提供的功能如线程机制和内存管理机制LINUX内核ANDROID基于LINUX26内核来提供系统的核心服务如安全性内存管理进程管理网络协议栈和驱动模型LINUX内核也同时作为硬件和软件栈之间的抽象层从总体架构中看ANDROID平台显示出了自身的特点如集成了WEBKIT浏览器DALVIK虚拟机等模块这些模块的应用也成为了ANDROID开发的焦点开发者可以利用ANDROID提供的模块接口开发出具有特色的应用程序24ANDROID应用程序构成对于一个ANDROID应用程序来说一般由以下四种组件构造而成910LACTIVITY7第2章ANDROID概述令BROADCASTINTENTRECEIVER夺SERVICE冷CONTENTPROVIDER用程序中用到的组件组件的功能及必要条件但并不是每一个ANDROID应用程序都需要包含这四部分这四种构造块之间的关系如图21所示图21ANDROID的构成和工作流程以下是对这四种组件的说明ACTIVITY通常就是一个单独的屏幕每一个ACTIVITY都被实现为一个独立的类并继承基类ACTIV蛔而不是由应用程序直接控制的通常每一个应用程序入口一般会是一个ACTIVITY的ONCREATE方法都会占据一个进程当系统内存即将不足的时候会依照优先级自动进行进程的回收不管是使用者还是开发者都无法确定应用程序何时会被回收8第2章ANDROID概述金ST2蟹FD周期图22ANDROID应用程序的生命周期过一连串的状态改变每次ACTIVITY改变状态时就会执行相应的流程之后运行过程中的生命周期当程序失去前端焦点或者被关闭就会触发ACTIVITY的ONPAUSE0状态当应用程序被再次唤醒则会回到ONRESUME0状态INTENT方法从一个活动转移到另一个应用程序通过调用STARTAETIVITYINTENT活动INTENT负责对应用中一次操作的动作动作涉及的数据附加的数据进行9第2章ANDROID概述INTENTIM法STARTACTIVITY7FORRESULTINTENTACTIVITY问的数据服务共享INTENT令BROADCASTRECEIVER当需要对一个外部事件如当电话呼入做出响应时可以使用目的接收器INTENTRECEIVEO目的接收器并不显示IJI界面当外部事件发生时使用NOTIFICATIONMANAGER通知用户SERVICESERVICE是具有长生命周期且没有用户界面的一段程序它需要通过某一个之处在于对SERVICE生命周期的影响不一样1通过STARTSERVICE启动止的时候直接进入销毁过程ONDESTROY如果是调用者自己直接退出而没有调确调用STOPSERVICE2通过BINDSERVICE启动谓的绑定在一起就是共存亡动或者绑定SERVICE只被创建一次如果先绑定那么启动的时候就直接运行需要注意的是如果先绑定了就无法停止STOPSERVICE就不能用只能先UNBINDSERVIEE在STOPSERVICEPROVIDER夺CONTENT一个应用程序可以将它的数据保存到文件SQL数据库甚至是任何有效LO第2章ANDROID概述的存储设备中当需要将应用数据与其它的应用共享时使用CONTENTPROVIDER来完成CONTENTPROVIDER类实现了一组标准的方法从而能够让其它的应用保存或读取此CONTENTPROVIDER处理的各种数据类型25ANDROID类库ANDROID为开发者提供了丰富的类库LLANDROIDUTIL一包含一些底层辅助类例如特定的容器类XML辅助工具等ANDROIDO卜提供基本的操作服务消息传递和进程间通信IPCANDROIDGRAPHIC雌供图形渲染功能工具ANDROIDDATABASE包含底层API处理数据库方便操作数据库表和数据ANDROIDVIEW一一组核心用户界面框架MANAGERS布局管理器等是组成界面的基本元素ANDROIDAPP一提供高层应用程序模型ANDROIDPROVIDE卜提供方便调用系统提供的CONTENTPROVIDERS的接121ANDROIDTELEPHONY一提供API交互和手机设备的通话接口ANDROIDWEBI蛾一包含一系列工作在基于W曲内容的API除了使用以上的ANDROID类库开发者还可以使用一些通用的JAVA类库WIFIAP卜提供了一种与WIFI网络接口的底层无线堆栈相互交流的机制LOCATIONBASEDSENICE一定位服务允许获取手机当前的位置信息MEDIAAPIS多媒体API主要用于播放媒体文件3DWITHGRAPHICSOPENGL提供了访问3D功能的API接口26ANDROID应用程序的开发环境开放源代码的可扩展开发平台就其本身而言它只是一个框架和一个服务第2章ANDROID概述所有开发工具都是用插件的形式提供的通过插件组件构建开发环境这种设开发供应商的产品任何开发工具厂商都可以将他们的开发工具或组件加入到持团队协同开发还提供了详细的帮助文档以及对许多外部工具的支持ECLIPSE的平台结构如图23所示12J图23ECLIPSE平台的体系结构TOOLSADTANDROID为ECLIPSE定制了一个插件即ANDROIDDEVELOPMENT目的是为用户提供一个强大的综合环境用于开发ANDROID应用程序ADT扩展了ECLIPSE的功能可以让用户快速地建立ANDROID项目创建应用程序界面在基于ANDROID框架API的基础上添加组件以及用SDK工具调试应用程序IDE依次单击MENU版本的具体的ADT插件安装步骤为IL孓14打开ECLIPSESOFTWARE项中的HELPSOFTWAREUPDATES在弹出的对话框中选择AVAILABLE标签单击ADD后选择INSTALLALL开始安装安装完成后重新启动ECLIPSE安装好插件后还需要设定ANDROIDSDK路径参数过程如下单击WINDOWPREFERENCES“项选中ANDROID在右侧设定ANDROIDSDK所在目录为SDK12第3章技术支持和GOOGLEMAPS第3章技术支持和GOOGLEMAPS本章主要分析了手机地图服务的结构框图及相关的定位技术并对本系统用到的GOOGLEMAPS进行了阐述还给出了ANDROID平台下的位置服务类和地图类31手机地图服务手机地图服务是指在手机上利用GPS或者网络实现精确定位并使用WAP方式或客户端方式通过移动通信网络与手机地图应用服务器之间的互联通信查找自己的位置搜索地点查询行车路线的一种与地理信息相关的位置业务用户在查询过程中不仅可以得到相关的文字信息还可以通过手机终端友好的人机界面得到直观的地图信息15手机地图查询中的客户端为用户提供了查询的输入接口和与服务器连接的接口并在手机上显示查询后的地图服务器端以HTRP方式接收客户端的请求并根据请求将地图数据以栅格数据的方式返回给客户端手机地图查询系统的结构如图31所示客户端手机服务器端图31地图查询结构框图手机端地图是安装在手机上的简易地图文件详细的地图信息要通过发送到网络端应用服务器的查询命令解析执行后再下发到终端进行异步下载13第3章技术支持和GOOGLEMAPS目前的手机地图业务为用户提供地图下载浏览和各种操作的集合放大缩小查询以图形文字的方式显示给用户满足了用户基本的地图服务要求手机地图服务中最重要的就是定位技术16132定位技术移动终端的定位是通过检测移动终端和基站之间传播信号的特征参数来获得其几何位置根据进行定位估计位置的不同分为两种基于移动终端定位和基于网络定位321基于移动终端定位基于移动终端定位是根据目标与各通信基点通信时的相关位置信息来确定几何位置在蜂窝网络中又叫做前向链路定位移动终端定位技术包括全球定位系统GPS基于移动终端发送接收信号的定时或角度的覆盖三角技术TOA以及起源蜂窝小区COO11720全球定位系统GPSGPS是由美国国防部在70年代开始联合研制的新型卫星导航系统历时20年耗资200亿美元于1994年全面建成它采纳了子午仪系统的成功经验具有全球性全天候高精度三维定位的特点GPS系统主要由三大部分组成GPS卫星星座空间部分地面监控系统控制部分和GPS信号接收机用户部分GPS的定位原理就是根据高速运动的卫星瞬间位置作为已知的数据采用空间距离后方交会的方法确定待测点的位置211抵达时间TOATIMEOFARRIVAL基于测量信号从移动终端发送出去并到达消息测量单元3个或更多基站的时间来定位移动台位于以基站为圆心移动台到基站的电波传播距离为半径的圆上通过多个基站进行计算移动台的二维位置坐标可由3个圆的交点确定与EOTD不同的是它没有使用位置测量单元因此必须通过与在基站上安装了全球定位系统GPS或原子钟的无线网络之间的同步来实现圈起源蜂窝小区COOE23CELLOFORIGIN起源蜂窝小区定位技术是根据移动终端所处的小区标识号ID来确定用户的位置移动终端在当前小区注册后在系统的数据库中就会有相对应小区的D号只要系统能够把该小区基站设置的中心位置在当地地图中的位置和小14第3章技术支持和GOOGLEMAPS区的覆盖半径广播给小区范围内的所有移动台这些移动台就能知道自己处在什么地方查询数据库即可获取位置信息该定位方案的优点是无需对网络和手机进行修改响应时间短它的定位精度取决于小区的半径322基于网络定位基于网络定位是多个固定的通信基点接收目标发送的信号根据其中相关的位置信息来确定目标的定位信息在蜂窝网络中又叫反向链路定位该技术要求定位终端发送或广播一些特定的信号网络系统负责收集这些信号并担负起定位计算的任务该定位服务中心的结构如图32所示241手机定位是基于网络的实现通过移动电信运营商的网络固定通信基点获取移动终端用户的位置信息基于位置定位方法的应用COO基于位置的付账一LJ移动定基于位置的信息EOTD一付中J追踪IRLGPS安全图32定位服务中心结构图移动位置中心组件将定位技术的选择和应用服务的选择隔离起来位置中心运行于无网络内部我们可以对它进行修改以适应具体移动设备的能力当用户通过拨号发短消息或者WAP发起数据请求时位置中心的交换机将客户的位置信息发送给相应的位置应用从信号中获取定位信息包括两个过程定位参数的测量以及定位算法因此获得可靠的定位参数是保证高精度定位的前提从统计的角度来看由于受到设备测量误差以及信号本身固有的随机性的影响从定位信号中获得的参数有一定的噪声误差网络定位技术主要是增强型观测时间差EOTD该技术的实现原理是收集对服务小区基站和周围几15第3章技术支持和GOOGLEMAPS个基站进行测量的结果算出测量数据之间的时间差并用此计算用户相对于基站的位置增强型观测时间差定位技术是基于网络的定位方案是目前使用最多的技术也是欧洲电信标准化组织ETSI建议使用的主要技术25133GOOGLEMAPS2004年10月GOOGLE收购了总部位于美国加州山景城以矢量地图测绘为主要业务的KEYHOLE公司262005年4月GOOGLE正式推出GOOGLEMAPS它是一种开放式的免费地图服务有传统地图卫星地图和混合地图三种模式传统地图能为用户规划路线指引帮助用户直接确定方向卫星地图则可以使用户获得当前位置的实拍鸟瞰图混合地图能让用户更加准确地获得方向感331GOOGLEMAPS的特点地图预览生成2728L地图不是根据用户的请求动态生成而是预先处理成为图片金字塔切块后做四叉树编码存放在服务器端当用户对地图进行移动或者缩放操作时只需要下载新的图片来填充新的区域开发成本GOOGLEMAPS从地图服务和开发两个方面降低了二次开发的门槛提高了地图服务水平对于开发地图服务应用有重要的意义令数据更新GOOGLEMAPS以矢量地图和高分辨率卫星影像两种数据源提供地图服务并由GOOGLE不定期进行地图更新用户可以同步享受最新地图信息服务332GOOGLEMAPS数学模型所谓地图投影就是在平面上建立与地球曲面上相对应的经纬网的方法GOOGLEMAPS采用的是墨卡托投影地图投影的拟定和计算一般均假定地球表面为旋转椭球面并称其为地球椭球面或参考椭球面29301地球椭球体的形状和大小是由其长半径AC赤道半径和短半径BC极轴半径决定通常取AE值为6378137MBC值为63567523M另外用于描述地球椭球形状的参数还有椭圆扁率FC第一偏心率E1和第16第3章技术支持和GOOSEMAPS二偏心率E2其中厂T尘尘00033528129A00818192183100820944654333墨卡托投影墨卡托MERCATOR投影是一种等角正切圆柱投影是荷兰地图学家莫拉托在1569年拟定假设地球被围在一个中空的圆柱里其标准纬线与圆柱相切接触然后再假象地球中心有一盏灯把地球面上的图形投影到圆柱上再把圆柱体展开这就是一幅选定标准纬线上的墨卡托投影绘制出的地图墨卡托投影没有角度变形由每一点向各方向的长度比相等它的经纬度都是平行直线且相交成直角经线问隔相等纬线间隔从标准纬线向两极逐渐增大墨卡托投影的地图上长度和面积变形明显但标准纬线无变形从标准纬线向两极变形逐渐增大但因为它具有各个方向均等扩大的特征保持了方向和相互位置关系的正确性因此在地图上保持方向和角度的正确是墨卡托投影的优点311墨卡托投影又称正轴等角圆柱投影取零子午线或自定义原点经线与赤道焦点的投影为原点零子午线或自定义原点经线的投影为纵坐标X轴赤道的投影为横坐标Y轴构成墨卡托平面直角坐标系如以赤道作X轴根据等角条件推算出的投影公式为XA8名脚_HO烈篙ESIN引N2其中旯为经度矽为纬度实际计算中可将上述公式简化将地球作为球体来处理球体的半径取地球几何平均半径RE6371004M则17翌垩垫查塞堑塑里型竺堡J骨A脚LN十剀扭334GOOGLEMAPS数据分片GOOGLEMAPS向用户提供的地图数据和卫星影像数据在客户端上显示的都是常见的栅格图像这两套数据采用了相同的空间参考系统基准面为WGS84投影方式为墨卡托投影根据缩放的详细程度不同GOOGLEMAPS提供了017共18个缩放等级其中0级缩放最详细不管是地图数据还是卫星影像数据都采用了图像切片技术将各个缩放等级的全球数据分割成大小为256256的PRIG图块而且这些图块的URL都是不变的吲普通地图和卫星地图的URL格式为夺普通地图HTTPMTCOMMTN404VW233XV幢Z00M四GOOGLE十卫星地图HTTPKH0参数V为图源数据版本参数ZOOM为缩放等级取值范围为O17在普通地图的URL中X为经度方向斟片编号Y为纬度方向图片编号XV的椒值范围则为02一1在卫星地图的URL中参数T是QRST个字符排列而成的字符串表示P星地图的图块编号一黪乇黟N_矗I卿酲K曼LR毡二1篮LJ_L一1一_REX2IJLIIJII图33GOOGLEMAPS图块分布规则如图318第3章技术支持和GOOGLEMAPS时裂化为4块每块的编号为左上仁WXOY0右上仁TRXL每一小块都分裂成四块卫星图片从左上到右下顺时针按QRST编号分裂后的图块编码为分裂前的编号加上小块的编号335GOOGLEMAPS的分片算法GOOGLEMAPS的地图和卫星影像数据预先参照金字塔模式按照不同的缩放等级分别存储通过简单的URL预载入图块的方式获得为获取某经纬度图块的URL就需要把经纬度转化为XY坐标GOOGLE地图坐标的计算公式为0521734少制LN0246詈1对普通地图和卫星地图使用了两种不同田M的算法对其子图片的位置进行了编码夺普通地图分片算法普通地图使用X和Y来设置坐标和放大因子当放大因子为17时X0放大一次每片就被分成4个部分因此当放大因子为Z时显示的水平和垂M4在用户的请求信息中纬度的范围从90度北到90度南这里需要将其调整为0180度其中最北为0度最南为180度同样在用户的请求信息中经度的范围从180度东到180度西这里需要将其调整为0360度从经纬度和一个比例因素中查找图块坐标的算法是LAT90一LAT纬度转换为从北向南0180度之间LON180LON经度转换为0360之间19第3章技术支持和GOOGLEMAPS获取缩放级别DOUBLELATTILESIZE180POW217ZOOMDOUBLELONGTITLESIZE360POW217ZOOM获取坐标INTTILEXINT10NLONGTILESIZEINTTILEYINT1ATLATTILESIZE卫星地图的分片算法参数V与图块的关系不大主要是参数T起作用它是QRST“4个字符排列而成的字符串为了获取某经纬度的URL就需要把经纬度转换为QRST字符串由前面的卫星地图分片可知在ZOOML时全球就为一个256256的图片它的TT依次类推每放大一倍每一个小块都裂分为四块从左上到右下顺时针按QRST“编号裂分后的编码为裂分前的编号加上小块的编号GOOGLE用了4个服务来平衡加载KH0KHLKH2和KH3从经纬度和一个比例因素中查找一个卫片坐标的算法是DOUBLEXRNIN一180DOUBLEX180DOUBLEYMIN一90DOUBLEY90DOUBLEXMID0DOUBLEYMIDOLOCATION甲STRINGDOUBLEHALFLATLAT2FORINTIOIZOOMIXMOYXXMIN2YMOYYYMIN2IFHALFLATYMOYYMINYMOY第3章技术支持和GOOGLEMAPSIF10NXMOYLOCATIONQ2XINAXXMOYELSELOCATION忙丫XMINXMOYELSEY2YMOYIFIONXMOYLOCATION甲2XINAXXMOYELSELOCATION十型SXMIN2XMOY336球面距离计算经过球面上两点的大圆在这两点间的一段劣弧的长度叫做两点的球面距离即球面上两点间的最短距离为了求解两点间的位置距离关系首先要定义点所在的坐标系目前使用的经纬度坐标一般是使用地心坐标系表示的在这个坐标系下某点的经纬度是指过该点子午面与初始子午面格林尼治子午面的夹角纬度是该点与地心的连线与赤道面的夹角371经度Y为纬度BEAF垂直于赤道平面垂足EF分别在半径OD及OC上21第3章技术支持和GOOGEMAPSC图34地球上两点之间的球面距离从图34我们可以得出BOEY2ZAOFYL在RTABOE中BERSINY2在RTAAOF中AFRSINYLZEOFXLX2那么在AEOF中EF2OE2OF220EOF_EOFR2EOSYLEOSY2EOSXLX2RCOSY22RCOSYL2_2在直角梯形ABEF中AB2EF2BFAF2EF2BE2AF22BEAF2R22R2EOSY2COSYLEOSX1X22R2SINYLSINY2在等腰AAOB中COSZAOBOA2_OB2AB一220AOBCOSYLCOSY2COSXLX2SINYLSINY2由于么AOBO兀因此AB两点之间的球面距离为AB_R牛ARCCOSSINYLSINY2EOSYLEOSY2COSXLX2第3章技术支持和GOOGLEMAPS特殊情况下1若AB在同一经线上则ABR宰ARCCOSCOSYLY2337距离计算的误差分析首先由于球体计算带来一些曲率误差尤其当两点沿经线方向分布时非常明显另一方面使用地球平均半径显然与实际情况有所出入如果目标两点沿纬线分布并且在中纬度地区此时实际地球半径比较贴近平均半径则此时正球体两点距离算法的设计简单结果比较合乎实际具有很好的应用价值34ANDROID平台下的相关类341定位服务类备的地理位置另外系统还为应用程序提供了基于GPS和基于网络的定位服务前者的定位数据来源于位置提供者GPSPROVIDER它负责获取GPS模块的定位信息一般用于设备自身的定位后者的定位数据来源于位置提供者NETWORKPROVIDER它负责从网络获取其它设备或用户的位置信息ANDROID10CATION中包含了下面一些比较重要的功能类ILO图35位置类LOCATION用来代表程序中使用的某个位置该位置包含经度纬度标准时间高度测量速度方位角等内容取设备的位置信息当应用程序定义了一个LOCATIONMANAGER对象后就会搜索LOCATIONPROVIDER内位置数据的更新周期及时获取设备位置的变化信息第3章技术支持和GOOSEMAPS图35位置定位的相关类种类型的位置信息LOCATIONPROVIDER既有系统默认的如GPSPROVIDER准必须事先在定位管理器中注册监听器对象属性来选择合适的定位提供者3引342地图服务类MAPS上显示控制和层叠信务的应用程序开发它包含了一系列用于在GOOGLE息的功能类图36以下是其中比较重要的几个类图36GOOGLEMAPS类24第3章技术支持和GOOGLEMAPS地图类MAPACTIVITY用于显示GOOGLEMAPS的ACTIVITY类此类需要连接底层网络合使用控制类MAPCONTROLLER一用于控制地图的移动应用程序用它来设置地图的显示方式层叠类OVERLAY卜是一个可显示于地图之上的可绘制的对象第4章系统设计及相关技术第4章系统设计及相关技术本章主要阐述了手机WEB地图服务系统的需求分析功能模块的设计系统流程和界面设计并对系统实现过程中所用到的关键技术进行了介绍41系统设计特点本系统建立在ANDROID平台上有以下特点开源性ANDROID操作系统的核心基于LINUXKERNEL的是典型的开源系统可扩展性满足了手机用户基本的地图服务要求可进一步扩展系统的功能易用性系统界面设计简单美观用户不需要培训就可直接使用该服务42系统需求分析手机地图的主要功能是以图形文字的形式为用户提供地图服务并提供友好方便快捷的操作界面其功能需求主要包括地图控制能够对地图进行放大缩小和移动实时定位能够给出用户当前位置的详细地址描述及在地图上标注出来并能随着位置的变化而实时更新使用户能得到最新最准确的位置信息地点搜索能够搜索地点并能保存该地点线路查询能够查询公交自驾的路线信息轨迹跟踪能够在地图上显示出用户的行驶路径并给出相应的行驶距离操作简单符合手机使用者的习惯43系统功能模块本系统旨在建立ANDROID手机的WEB地图服务主要有如下几个核心功能第4章系统设计及相关技术模块如图41所示图41系统功能图各个模块的主要功能描述如下自我定位模块利用GPS提供的定位服务确定用户目前在城市中所处的地理位置将位置显示在地图上并给出用户当前的地址和经纬度且能随着位置的变化而实时更新使用户能实时得到最新最准确的位置信息此外还提供了保存当前位置的功能夺城市地图模块输入查询的城市名可以查看这所城市的地图并提供了卫星交通和街景三种视图模式供用户选择方便用户的查询地址搜索模块输入具体的地址来检索信息可以查看该地址所处位置的地图并把查询的地址在地图上标志出来另外提供了在地图上连线查询地址和当前位置和它们之间距离的查询功能并能够保存搜索位置冷位置列表模块可以查看用户以前保存的位置信息并能在地图上展示或者删除记录信息冷行车探路模块可以查询两个地点之间的线路信息提供公交驾车和行走三种方式供用27第4章系统设计及相关技术户选择路径跟踪模块在地图上显示用户行驶的路线并提供距离显示功能为用户回顾路程提供方便天气查询模块在界面上显示用户当前位置的天气情况还可以根据需要查询别的地方的天气情况方便用户的出行设置模块用于设置所有需要显示地图的界面的地图默认显示等级和GPS的更新频率44系统总体流程图启动模拟器后首先进入欢迎界面用户可以通过选择地图服务直接进入地图服务主界面也可先进入帮助界面再选择地图服务进入地图服务主界面地图服务主界面显示的是一张地图通过在菜单栏中选择自我定位城市地图地址搜索记录列表行车探路路径跟踪设置和天气查询功能进入相应的界面如果不想进入相应的界面按ESC可以后退到欢迎界面整个流程如图42所示第4章系统设计及相关技术图42系统总体流程第4章系统设计及相关技术45用户界面设计在ANDROID平台下开发应用软件最重要的是布局问题本系统设计了13个界面图43来实现与用户的交互图43系统界面设计欢迎界面欢迎界面是系统运行后开启的第一个用户界面设计了一张欢迎图片和一个包含帮助一和地图服务选项的菜单第4章系统设计及相关技术帮助界面该界面设计了两个文本框来显示系统的帮助信息和作者的相关信息地图服务界面该界面设计显示一张地图并提供了7个功能菜单分别是自我定位“城市地图地点搜索“记录列表行车探路“路径跟踪“天气查询“和个人设置“用户可以通过选择不同的菜单项获取相应的功能服务设置界面个人设置界面设计了两个下拉列表分别供用户设定GPS更新频率和地图默认等级自我定位界面当用户进入该界面地图上用IMHERE标识出用户当前的位置并设计了3个文本框用于显示当前的地址和经纬度菜单选项提供了保存位置的功能令城市地图界面进入该界面后地图显示的是用户当前位置的地图该界面还设计了一个编辑框让用户输入所需查询的城市点击确定按钮后在界面上显示出查询城市的地图界面对应的系统菜单MENU内包括了卫星交通和街景三个菜单选项用户可以通过选择不同的菜单来设置地图的显示模式地点搜索界面进入该界面后地图显示用户当前的位置设计了一个编辑框让用户输入查询的地点点击地址查询按钮后在地图上用蓝色的点表示出并提示出用户查询位置的经纬度如果点击距离查询按钮则在地图上把当前位置和查询位置连接并显示出它们之间的距离菜单选项还提供了保存位置的功能位置保存界面该界面设计了三个编辑框分别用于输入位置名称和经纬度位置列表界面该界面设计了一个列表LISTVIEW用于显示用户保存过的位置记录点击相应记录则进入地图展示界面此外菜单选项提供了删除记录的功能冷地图展示界面该界面设计了一张地图用于在地图上显示以前保存过的位置信息行车探路界面3L第4章系统设计及相关技术该界面设计了两个编辑框一个用于输入目的地另一个用于输入出发地除此之外还设了两个查询按钮一个是把当前位置作为用户的出发地另外一个是把用户输入的地址作为出发地若用户没有输入任何地址而点击查询按钮系统会提示用户输入地址路径跟踪界面该界面设计了两个按钮用于控制记录轨迹的开始和停止一个文本框用于显示行驶的实时距离和显示用户行驶轨迹的地图夺天气查询界面进入该界面后显示用户当前位置的天气情况界面对应的系统菜单MENU内包括了菜单当用户选择后进入其它城市天气查询界面该界面设计了一个下拉列表供用户选择查询的城市点击OK“按钮即可显示出查询城市的天气情况46数据库设计的方式自动保存二是SQLITE方式轻量级的嵌入式数据库支持SQL语句三是文件方式以文件的形式将数据存储在设备或其它移动媒介上四是网络方式通过网络来实现数据的存储和获取经过分析系统更需要保存两类数据一类是位置信息另外一类是应用的配置信息位置信息会随着使用时间越来越多设计将其存在SQLITE数据库中47系统关键技术在ANDROID平台下开发手机地图服务采用的关键技术如下471ANDROID用户界面构建问题在ANDROID平台下开发应用软件最重要的是布局问题一个好看而又简洁的界面是相当重要的既能提高使用者的体验又保证应用的高效执行ANDROID生成用户界面有三种方式XML配置生成通过用户自己的界面接口生成和直接32第4章系统设计及相关技术的功能单元一个ACTIVITY实例可以做很多的事情但是它本身无法显示在屏幕户界面表达单元下面介绍下主要的布局对象令线性布局LINEARLAYOUT以单一方向对其中的显示对象进行排列显示如以垂直排列显示则布局管理器中将只有一列如以水平排列显示则布局管理器中将只有一行同时还可以对个别的显示对象设置显示比例夺表格布局TABLELAYOUT以拥有任意行列的表格对显示对象进行布局每个显示对象被分配到各自的单元格之中但单元格的边框线不可见位置左上角的坐标为OO向下及向右坐标值变大这种布局管理器由于对象的位置固定了所以在不同的设备上有可能会出现不一样的显示效果象或父级对象的相对位置来布局一个按钮可以放于另一个按钮的右边或者可以放在布局管理器的中央对于ANDROID应用中的一个屏幕它的屏幕元素是按层次结构来描述的要将一个屏幕元素层次树绑定在一个屏幕上显示ACTIVITY会调用它的SETCONTENTVIEW0方法并且传入这个层次树的根节点引用472GPS的模拟ANDROID通过集成GPS芯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论