当前位置:首页>> >>


基于QT的google地图设计与实现.rar

收藏

资源目录
    文档预览:
    编号:20180914220934937    类型:共享资源    大小:8.94MB    格式:RAR    上传时间:2018-09-15
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    50
    金币
    关 键 词:
    基于 QT google 地图 设计 实现
    资源描述:
    太原理工大学毕业设计(论文)用纸i基于QT的google地图设计与实现摘 要随着人类社会的发展,人类生活的足迹已经遍布世界的每一个角落。作为一个处在现代化城市生活中的个体,我们不可避免的要在完全陌生的环境中快速准确的找到目的地。电子地图的定位、导航功能加快了我们的工作、生活的节奏,成为了我们日常生活中必不可少的一部分。与此同时,如物流监控,飞行器轨迹跟踪等一些非传统行业对电子地图的依赖也使得电子地图的发展迅速而高效。因此,电子地图的开发和研究具有十分重要的现实意义和实用价值。google地图基于全球的详细卫星照片以及开源的接口,使得其具备了完善而详实的地图信息,在应用程序中直接调用google地图的相关信息使我们在节省大量的时间和精力的同时兼顾了地图的高度精准定位和地图的及时更新。google地图免费资源利用以及其开放的API接口使得其拥有了庞大的用户基数,使用和上传的双向便利使得google地图在气象、军事、旅游、交通等各个领域都有广泛的应用。本文详细介绍了基于QT平台下的应用程序调用google地图页面的实现方法,使用QT中提供的进行网络编程的QTNetwork模块以及将万维网内容嵌入到QT应用程序中的QTWebKit模块,将google地图的URL页面在应用程序中展示出来,并根据google map 提供的API完成了地图功能的扩展。关键词:QT ;QTNetwork ;QTWebKit ;Google MapAPI太原理工大学毕业设计(论文)用纸iiDesign and implementation of Google mapbased on QTAbstractWith the development of human society, footprint of human life has been all over theworld’s every corner. As a individual person in modern city, we inevitably need to finddestination quickly and accurately in a totally strange environment. Electronic map’spositioning, navigation function is speeding up our work, the rhythm of life, to become anessential part of our daily life. At the same time, such as the logistics monitoring, vehicletracking and other non-traditional industries dependent on electronic map also makes rapidand efficient development of electronic map. Therefore, the research and development ofelectronicmap has very important practical significance andpractical value.The Google map with satellite photos of global and open source based interface, makesit to have perfect and detailed map information, in the application of relevant informationdirectly call Google map that we update the save a lot of time and energy but also highlyrefined map accurate positioning and map. Google map free resource utilization and its APIinterface to open the has a huge user base, convenient use and upload the bidirectionalGoogle map is widely used in various weather, military, tourism, transportation and otherfields.This paper introduces the implement method of QT platform application calls Googlemap based on Web, use the QT Network module which provided by QT in the networkprogramming and the QT WebKit module which let the world wide web content into the inQT applications,to display the page URL Google map in the application, and completed theextensionmap according tothe Googlemap function provided byAPI.Key words:QT;QTNetwork ;QTWebKit;Google MapAPI太原理工大学毕业设计(论文)用纸目录摘 要........................................................................................................................................iAbstract..................................................................................................................................ii1 绪论......................................................................................................................................11.1 概述..........................................................................................................................11.2 研究背景..................................................................................................................21.2.1 电子地图的发展过程..................................................................................21.2.2 当下主流的电子地图分析..........................................................................21.2.3 常用C++图形开发工具...............................................................................31.2.4 googlemap功能分析.................................................................................61.3 研究内容及目的......................................................................................................72 相关技术介绍......................................................................................................................92.1 QT介绍.....................................................................................................................92.1.1 QT的发展及优点.........................................................................................92.1.2 QT网络编程模块.......................................................................................102.2 QT的信号和槽.......................................................................................................122.2.1 信号槽概念综述........................................................................................122.2.2 信号............................................................................................................132.2.3 槽函数........................................................................................................132.3 GoogleMapsAPI综述.........................................................................................132.3.1 GoogleMapAPI........................................................................................132.3.2 googlemap技术的详细分析...................................................................153 系统功能与总体设计........................................................................................................163.1 需求分析及设计原则............................................................................................163.1.1 需求分析....................................................................................................163.1.2 设计原则....................................................................................................173.2 一般约束................................................................................................................173.2.1 管理方针....................................................................................................173.2.2 实验环境....................................................................................................183.3 总体设计................................................................................................................184 应用程序的详细设计........................................................................................................204.1 界面设计................................................................................................................204.2 功能设计................................................................................................................204.2.1 地图显示设置............................................................................................214.2.2 地址解析功能............................................................................................224.2.3 地图内置控件设置....................................................................................224.2.4 地图内置控件位置....................................................................................225 应用程序的功能实现........................................................................................................24太原理工大学毕业设计(论文)用纸5.1 地图API以及相应控件........................................................................................245.2 应用程序主体结构以及函数调用情况................................................................275.2.1 构建应用程序图形界面............................................................................275.2.2 在应用程序中添加qtwebkit模块..........................................................285.2.3 查询城市处理槽函数................................................................................306 google地图应用程序测试...............................................................................................326.1 软件测试................................................................................................................326.1.1 测试原则....................................................................................................326.1.2 测试目标....................................................................................................326.1.3 测试内容....................................................................................................326.1.4 测试方法....................................................................................................33结 论..................................................................................................................................36参考文献..................................................................................................................................37致 谢..................................................................................................................................38外文文献..................................................................................................................................39中文译文..................................................................................................................................49太原理工大学毕业设计(论文)用纸11 绪论1.1 概述随着时代的不断发展和社会经济的进步及人们生活条件的提高,网络的迅速发展使其在现代人的生活中扮演着越来越重要的角色。人们对于网络的利用和依赖也在逐步提高。这给网络的迅速发展提供了很好的契机,同时其功能更是被逐步的完善,许多生活中遇到的问题都能在网络中找到解决办法。这也使得更多的开发人员有热情投入到网络应用的开发中来,更大的促进了网络的发展。在众多的 Web 应用中,地图服务的发展是不可或缺的一个主要部分。目前的地图服务给人们的日常生活带来了很大的便利,用户提供自己的位置,选择不同的时间和地点,都有智能化、多样化的服务提供,来满足用户的需求。在空间信息技术、通信技术和网络技术迅猛发展的时代,面对着越来越多的用户的加入,地理信息服务也同样需要跟上时代的步伐,不断的发展和创新服务方式,满足公众新的个性化的需求。通过可视化技术及数字地图制图技术等的有效结合,电子地图不仅从传统的模拟地图中脱离出来发展成为基于屏幕表达的地图形式,还可实现地理位置搜索、分类信息获取、交通情况查询、行车路线甚至街景展示等功能,为人们的生活和出行提供了极大的便利。自Google公司推出地图服务以来,Google地图日益成为满足人们日常生活中出行参考、查询商业网点等搜索需求的主要工具,特别是Google公司提供了一整套免费的Google MAPAPI,方便开发人员对Google地图进行利用,将Google地图嵌入到自己的应用程序中,进而通过其API实现更多实用的功能。Google MAPSAPI与Java scriptAPI的结合,更使得软件工作者通过二次开发在Google地图的基础上构建平台,添加更多的应用模块与复杂的操作和分析功能,为大众服务。基于Google MAPSAPI和Java scriptAPI的应用程序开发研究有如下意义:首先,将桌面应用程序同在线地图实时查询功能相结合,使得在原本较为繁琐的查询方式变得简洁,同时也使得桌面应用程序的功能更为全面。其次,开发成本较低。不同于基于服务器端实现的WebGIS需要花费大量资金来购买GIS平台和基础地理信息,Google地图以其免费提供的不断更新的全球高分辨率遥感影像!翔实的地理信息和导航服务及其应用编程接口(Google MapsAPI) ,正在成为一种新的地理信息应用和开发平台。再次,应用程序的开发平台为开发者和应用程序使用者提供了良好的开发和使用界面,使得应用程序的功能明确,操作简洁。QT为跨平台桌面、WEB和移动产品开发出一套功能强大令人瞩目的解决方案,在QT的应用程序中通过QNETWORK MANAGER以及QWEBKIT模块调用google在线地图可以使用户获得更加方便快捷的地图定位功能,节省了时间。太原理工大学毕业设计(论文)用纸21.2 研究背景1.2.1 电子地图的发展过程在过去,我们通常所见到的地图是以纸张的形式存在的,在古代,地图更是以布匹,动物的皮毛,竹简等为载体。这从客观上就使地图信息的精确性存在误差。电子地图,也就是我们通常意义下所说的数字地图,是运用计算机技术,以数字的方式将传统的意义上的可视化的地图转化为可储存在计算机中的二进制形式,并在需要的时候将储存的内容再转化为可视化的地图信息,在计算机上显示出来,供人们查看使用。而电子地图的存储载体也由过去的实物载体变成了计算机的硬盘、软盘、光盘或者磁带等介质。载体的改变,也使得地图的阅读方式发生了改变,地图不再是一旦绘制边任意阅读的传统方式,而是需要通过指定的计算机软件来进行解读,才能将存储在计算机中的数据显示出来,供人们使用。在早期,电子地图使用位图式的存储方式,地图比例不能放大或者缩小,随着技术的发展,人们采用向量式的地图存储方法,解决了这一问题,地图可以按照比例的放大缩小甚至旋转而不影响显示信息的准确性。现代的电子地图软件通常使用地理信息系统来存储和传送地图数据。正是因为存储方式的改变,使得电子地图所包含的信息量远远超过了传统意义上的地图,例如随着地图比例的放大,电子地图可以从省、市级别的宏观地理概要精确到每一条公路的等级、走向、长短、路宽、交通流量等等详细的信息。这是以往的传统普通地图所做不到的。通过计算机屏幕和投影大屏幕,电子地图可以在任意的场所,任意的观看者基数下供人们使用,而传统地图以纸张作为信息的载体,一旦成形就不能再更改,比例尺的大小,图幅的宽窄都不能再改变。从地图信息的更新角度来看,电子地图的制作、管理、阅读和使用能实现一体化,根据实际生活中道路的变更、房屋地址的迁移、河流山川地理运动的改变,对地图进行实时的更新,使得使用者拥有与现实世界高度的信息统一。传统地图在完成以后随着时间的推移,与现实世界的误差越来越大,会对使用者产生无法预估的影响。基于以上优点,电子地图随着计算机技术、可视化技术、互联网技术等的发展,在现代人类社会中的使用越来越普及,电子地图的开发技术也越来越成熟,电子地图的制作越来越方便,电子地图的效果也越来越逼真、精确,实用性也得到了很大幅度的提高。1.2.2 当下主流的电子地图分析当下国内互联网上主流的电子地图应用有google map、百度地图和谷歌地图,还有第三方的地图供应商和专业地图提供商。我们主要对这三款电子地图进行功能特点的分析比较。百度地图主要提供平面电子地图,地图提供商是图吧(mapbar.com)。它的线路搜索只能在指定的城市内,不能做跨城市的搜索。查找目的地周边设施功能便捷,并且可以提供单个城市内的公交或自驾车出行方案。搜狗地图主要提供平面电子地图(由上海NAV2公司提供数据)、卫星地图(DG提供数据)。它支持跨省市的出行查询,而且还有一个特有的Flash演示模拟出行路线的功能,这个功能的效果和导航仪的路线模拟功能类似。谷歌地图,主要提供平面电子地图(由太原理工大学毕业设计(论文)用纸3mapabc提供数据)、卫星地图(数据主要来自TerraMetrics和DigitalGlobe)和地形图(由EuropaTechnologies提供部分数据)三类,是这三个服务商中地图服务功能最全面的。谷歌地图最大的优势是高精度卫星图片数量庞大,国内一些二、三级城市大部分有0.6m的分辨率高清卫星图。谷歌地图推出了独具特色的交通流量实时功能。支持跨省市出行查询,并支持目的地周边设施查询功能。Google MapsAPI 基于Google Maps,能够使用 JavaScript 将 Google Maps 嵌入网页中。API 提供了大量实用工具用以处理地图,并通过各种服务向地图添加内容,从而使用户能够在自己的网站上创建功能强大的地图应用程序。Google MapsAPI支持交通地图和卫星地图,有中文语言版本,其地标文件KML格式已经成为在线地图的标准格式,Google Earth和Google Maps都支持KML。目前在国际和国内应用都非常广泛。GoogleMapAPI一共有三种种类和应用场景:第一种是Google JavaScript地图API ,它内嵌Iframe展现形式,适用于一般的互联网应用系统,具有标准主流浏览器装载的客户端系统。支持的浏览器类型:ie,firefox,safari,google chrome。使用标准的Java脚本进行开发,可集成google地图空间,与标准google地图功能类似。第二种是Google MapsAPI(Flash版):FLASH展现形式,使用flex继续开发,适用于标准浏览器装载的客户端系统。第三种是Google 静态地图API: 图片:图片展现形式,使用http接口进行图片地图的创建,所实现功能较前两种少,但无需使用java脚本实现,适用于手机或定制化客户端系统的服务调用。静态地图和前两种地图相比还有个遵从每位查看者每天的唯一(不同)图像请求不超过 1000 次的查询限制配额,也就是说每个访问者每天可以查看1000个不同的地图图片,对于相同的图片没有限制,所以考虑到一般系统的访问量,此配合即可满足大部分系统的要求。Google提供的这三种API已经基本可以满足大部分的系统需求,在开发难度上除Flex还不是主流技术,开发成本较高外,其他两种技术在使用上都使用标准的网页开发技术,接口难度系数不大,尤其是在静态地图API中,还提供了专门为手机所使用的WAP的地图类型。可以看出,google地图依托google earth的强大数据库和技术支持,在功能上是最为强大的。但是尺有所长,寸有所短,在最基本的平面电子地图日常应用中百度地图还是凭借丰富的地图信息占有一定优势的。而搜狗的平面地图在主要城市已基本达到百度的水平而且还具有一些特色功能,在卫星图方面虽然整体落后谷歌一大截,但是北京、广州这样的大城市搜狗提供了精度高达0.5m(谷歌0.6m)的民用极限地图,而且卫星图上默认有丰富的辅助标注信息(道路、设施等),这些方面超过了网页版的谷歌卫星。1.2.3 常用C++图形开发工具Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NETFramework 4.0 、 Microsoft Visual Studio 2010 CTP( Community TechnologyPreview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQLServer,它还支持 IBM DB2和Oracle数据库。太原理工大学毕业设计(论文)用纸41998 年,微软公司发布了 Visual Studio 6.0。所有开发语言的开发环境版本均升至6.0。这也是 Visual Basic 最后一次发布,从下一个版本 (7.0) 开始,Microsoft Basic 进化成了一种新的面向对象的语言:Microsoft Basic. NET。由于微软公司对于 Sun 公司Java 语言扩充导致与 Java虚拟机不兼容而 被Sun 告上法庭,微软在后续的 VisualStudio 中不再包括面向 Java 虚拟机的开发环境。2002 年,随着 .NET 口号的提出与 Windows XP/ Office XP 的发布,微软发布了Visual Studio .NET(内部版本号为 7.0)。在这个版本的 Visual Studio 中,微软剥离了Visual FoxPro 作为一个单独的开发环境以 Visual FoxPro 7.0 单独销售,同时取消了Visual InterDev。与此同时,微软引入了建立在 .NET 框架上(版本1.0)的托管代码机制以及一门新的语言 C# (读作 C Sharp,意为 C++++)。C# 是一门建立在 C++ 和Java 基础上的现代语言,是编写 .NET 框架的语言。.NET 的通用语言框架机制(Common Language Runtime, CLR),其目的是在同一个项目中支持不同的语言所开发的组件。所有 CLR 支持的代码都会被解释成为 CLR可执行的机器代码然后运行。Visual Basic、Visual C++ 都被扩展为支持托管代码机制的开发环境,且VisualBasic.NET更是从 Visual Basic 脱胎换骨,彻底支持面向对象的编程机制。而Visual J++也变为 Visual J#。后者仅语法同 Java 相同,但是面向的不是 Java虚拟机,而是 .NETFramework。2003 年,微软对 Visual Studio 2002 进行了部分修订,以 Visual Studio2003 的名义发布(内部版本号为 7.1)。Visio 作为使用统一建模语言(UML)架构应用程序框架的程序被引入,同时被引入的还包括移动设备支持和企业模版。.NET 框架也升级到了 1.1。2005 年,微软发布了 Visual Studio2005。.NET 字眼从各种语言的名字中被抹去,但是这个版本的 Visual Studio 仍然还是面向 .NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。VISUALSTUDIO 2008主界面如图1-1所示。图1-1 VISUALSTUDIO2008主界面太原理工大学毕业设计(论文)用纸5Magic C++是一款Windows下的可视化远程Unix/Linux C/C++开发工具,基于服务器/客户机模型工作,是专为C/C++开发人员高效完成Unix/Linux平台下开发任务而设计的快速开发工具(RAD)。具备完善和强大的编辑、编译、调试等功能,其用户界面、操作方法均遵循业界主流标准及规范,与Visual C++完全兼容,让Unix/Linux开发人员可以借助与平台无关的标准软件开发特性提高开发效率、缩短开发周期、降低维护成本,尤其适用于具备Windows平台开发经验的开发人员。Magic C++关键特性:(1) 全功能C/C++可视化集成开发环境(2) 用户界面、操作方法遵循业界主流标准及规范,完全兼容MicrosoftVisual C++(3) 智能的编辑功能,支持自动代码补齐、语法高亮、自动缩进、括弧匹配定位等高级特性(4) 完善的编译、调试功能,无缝集成所有主流Unix/Linux下的编译器、调试器(5) 支持版本控制系统(CVS)(6) 高可用性/低负载,支持团队协同开发(7) 支持在线、脱机、慢速连接(如拨号上网)等不同网络状况下的远程开发Magic C++V2.5新增特性:(1) 服务器端开放源代码(2)HTML网页方式的man在线帮助(3)Call Stack函数调用栈查看(4) 多个工程的依赖关系(5) 批量编译(6) 调试器中的信号处理(7) 支持手工命令输入的自动登陆终端。MAGIC C++主界面如图1-2 所示。图1-2 MAGIC C++主界面太原理工大学毕业设计(论文)用纸6QTCREATORQt 作为一个设计图形用户界面的工具包,提供了丰富的窗口部件,而且它开放源代码、支持多种平台,尤其是 NOKIA 公司最近推出的新版本 Qt4.8,在界面设计上提供了更加强大的功能,Qt 中独特的 QML 技术,使开发人员在很短时间内就能设计出华丽的界面。总的来说 Qt 具有以下几方面优点:1、跨 X11,Win32,Mac 三个平台并且是二进制原生代码的(比 java 和.net 程序快得多)(源代码级移植);2、有个十分好使用的工程管理工具 qmake((相比较 wxWidget, Gtk+等而言,非常地方便开发) ;3、在常用的 X11, Win32 平台既有开源版本,又有商业版本,供不同的用途使用。又有公司的商业支持,开发正规。有 KDE(包括 KOffice, KDevelop 等)这样典型的成功运用项目,使人放心。随着Qt4.7.3开源版的发布,KDE向Windows的移植已经确由此,KDevelop, KOffice 等一大批 KDE 下面的软件也就能移植过去,有了 KDevelop,KWrite 等,Windows 下 Qt 的应用将很快多起来,也更加方便开发;4、有方便的嵌入式图形界面开发方面的解决方案。因此,本次毕业设计中采用的开发工具就是Qt Creator如图1-3所示。图1-3 Qt Creator主界面1.2.4 googlemap功能分析(1)卫星视图。Google地图的卫星视图功能可以方便查看卫星上拍摄到全球各地的图片信息是因为他覆盖全球几乎所有城市,细致到村落、街道。使得人们在使用时更加方便获取个
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于QT的google地图设计与实现.rar
    链接地址:http://www.gold-doc.com/p-158450.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开