




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计基于mysql的百度地图二次开发 Secondary Development of Baidu MapBased on mysql 毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它毕业设计成绩单学生姓名学号班级专业电子信息工程毕业论文题目基于mysql的百度地图二次开发指导教师姓名指导教师职称副教授评 定 成 绩指导教师得分评阅人得分答辩小组组长得分成绩: 院长签字: 年 月 日毕业设计任务书题目基于mysql的百度地图二次开发学生姓名杨小宁学号20102643班级电1004专业电子信息工程承担指导任务单位电气与电子工程学院导师姓名杨明导师职称副教授一、 设计内容 基于要实现水位预警系统的远程地图显示,设计百度地图驱动mysql数据库,调用数据库里的数组,根据数据库的经纬度在地图上的相应位置显示标注,点击标注显示数据库的水深地址,以及路线查询,实现客户端手机端页面的显示等功能。二、 基本要求1、论文1万5千字以上;2、外文翻译3000字以上;3、实现java数据库驱动获取数组;4、调用百度地图API应用程序接口实现显示查询;5、实现远程查询数据;6、参考文献7篇以上,外文1篇以上。三、主要技术指标要求1、满足Java驱动数据库准确实时的根据数据库数据的更新采集数据;2、通过百度API应用程序接口地图数据的显示查询。四、应收集的资料与参考文献 查阅关于mysql数据库的相关资料,熟悉数据库的建立流程;掌握java语言的语句编写;掌握javascript语言的编写;熟悉百度地图API功能的调用方法;规划地图开发所具有的功能和页面。五、进度计划2014年2月3月:总体设计实现的功能,查阅语言相关资料;2014年3月4月:编写语言,运行测试;2014年4月5月:调整优化,完成论文;2014年6月:答辩。教研室主任签字时间年 月 日毕业论文开题报告题目基于mysql的百度地图二次开发学生姓名杨小宁学号20102643班级电1004专业电子信息工程一、课题的研究背景近几年城市内涝现象比较严重,给人民的出行带来了困扰,严重的造成财产损失,另外信息化越来越普及的今天,手机电脑越来越成为生活中必不可少的一部分,地图作为其中的一个重要组成,给人民的生活出行带来巨大便利,具有广阔的发展前景。百度地图的二次开发具有易上手,功能强大,交互性强等优势,拥有越来越多的使用者,百度地图API为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。百度地图API免费对外开放,业已广泛应用互联网、移动设备、车厂等行业,主要涉及房产、电商、团购、移动手机应用、生活服务网站等。主要有搜房、糯米、去哪儿网、百姓网、12580、酷讯旅游、同程网、途牛旅游网、好大夫在线、豆角网、墨迹天气、食神摇摇等。二、国内外的研究现状到目前为止,学者们主要讨论了知识地图在知识管理、图书馆服务以及指导学习三个方面的应用。(1)知识地图在知识管理方面的应用。知识地图不仅可以用于显性知识的管理,还可用于隐性知识的管理。可采用两种知识地图对隐性知识进行管理,一种用于隐性知识的表达,称为认知地图,亦称方法或过程图;另一种用于隐性知识的交流传播,被称为专家图,这两种图分别从隐性知识本身和隐性知识载体两个角度出发对隐性知识进行管理。可利用知识地图建立用户易用的智能化导航系统,用户在浏览的同时发表评论,通过知识地图平台进行隐性知识交流,能够为组织创新提供条件,利用知识地图进行知识重组,可为知识服务提供良好的服务平台。(2)知识地图在图书馆参考咨询服务中的应用。知识地图是一种良好的工具,它可实现图书馆知识资源的可视化配置,明确知识的分布以及分布于不同空间的知识资源间的内在联系。参考咨询系统中的请求管理器根据知识地图就可以快速找到合理的知识匹配,进而将咨询请求提交给匹配度最高的知识资源所有者(图书馆和知识专家),以达到咨询服务的高质量。在此基础上,讨论了知识地图在个性化信息推荐服务中的应用。认为图书馆的个性化信息推荐系统需要随时密切关注用户信息需求,并适时把有关信息自动推送给用户,知识地图为实现这样的服务提供了可能性。(3)知识地图在指导学习中的应用。学生要培养自己的学习能力、实践能力和创新能力,就需要在学习的过程中学会在知识之间自主建构有意义的连接并感悟这种意义,形成知识地图,在解决问题的过程中应用并完善知识地图,总结出解决问题的各种方法和一般规律,使知识地图成为智能知识地图。综上所述,对知识地图概念的研究,国外主要集中在20世纪末,尤其以1999年和2000年居多,而国内在这方面的研究稍晚,以2002年和2003年居多;在知识地图类型、功能以及知识地图的构建和应用方面,国内2000年以来研究颇多,且远远多于国外;此外,国内关于知识地图的应用和构建领域的文献近年来呈不断增长趋势,而国内外对知识地图特点以及评价指标的研究尚显薄弱,有待加强。三、主要工作 1、选择性能好的数据库,进行数据存储; 2、搭建平台,编写代码运行代码; 3、导入数据库驱动,编写相应的驱动代码; 4、使用javascript的脚本语言调用百度API的函数; 5、使用tomcat发布网站。四、采用的方法本系统实现Zigbee终端节点进行水深数据经纬度和地址的采集,把数据通过协议栈传到协调器,协调器通过串口连接GPRS,GPRS通过因特网通过因特网实现发短信打电话的功能,通过透传把数据存在mysql数据库中,使用JDBC驱动包进行数据库的驱动,调用的数据存储在数组中。使用百度地图API的函数,通过javascript语言编写程序,实现相应功能,通过内网通软件得到一个公网IP,对tomcat进行配置,根据IP得到网址,即可实现tomcat发布网页,使得电脑手机端浏览器输入url可以访问。 五、预期的结果实现Zigbee超声波终端节点水深数据的采集,通过协议栈实现协调器管理终端节点数据,通过GPRS数据透传数据传递给Labview上位机,同时实现GPRS实现发送短信打电话的功能,labview上位机存储数据在mysql数据库中,百度地图API获取数据库里的数据,根据经纬度把相应点标注在地图上,实现点击标注查看详细信息,包括该点的水深地址,实现地址的搜索,驾车路线的查询,实现在电脑手机浏览器输入网址查看详细信息。指导教师签字时 间年 月 日摘 要mysql数据库具有体积小、速度快、总体拥有成本低,重点是是开放源码的特点提供简便快速的数据存储调用,百度地图Javascript API是一套由Javascript语言编写的应用程序接口,可实现在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。本系统实现Zigbee终端节点进行水深数据经纬度和地址的采集,把数据通过协议栈传到协调器,协调器通过串口连接GPRS,GPRS通过因特网通过因特网实现发短信打电话的功能,通过数据透传把数据存在上位机labview中,labview把数据存储在mysql数据库中。本文研究如何通过Java驱动数据库获得经纬度,水深,地址数据,通过百度地图API应用程序接口根据精度为实现标注在地图上的显示,超过设定的水深值时实现跳动报警,输入地址实现地址查询,输入起始点实现路线查询,以及输入网址实现网页和手机端的显示。关键词:mysql数据库 百度地图API Javascript 应用程序Abstractmysql database has small volume, quick speed, low total cost of ownership, the key is to provide a simple quick is the characteristic of open source data storage calls,Baidu map Javascript API is a set of written by the JavaScript language application program interface,Can be realized on the site to build rich, interactive maps,Support PC and mobile terminal based on the browsers maps application development, and support HTML 5 features map development.This system implement Zigbee terminal nodes for water depth data collection of latitude and longitude and addresses, the data through the protocol stack to the coordinator, the coordinator via a serial port connection of GPRS, GPRS can realize the function of text call via the Internet through the Internet, through data passthrough the data exist PC labview, labview data is stored in the mysql database.In this paper, we study how to use the Java driver database for longitude and latitude, water depth, the address data, through the baidu map API application program interface according to the precision to achieve the display of the mark on the map, set more than the depth of the value implementation beating the police, the input address implementation query, enter the starting points to realize the route query, and input the website to realize the display on web and mobile phones.Key words: The mysql database Baidu map Javascript API Applications目 录第1章 绪论101.1 课题研究的的意义101.2 国内外研究现状101.3 论文研究内容及工具111.3.1 小巧高速的mysql数据库111.3.2 功能强大的百度地图API11第2章 系统方案设计122.1 设计原则及流程122.2 流程实现132.2.1 存储在mysql中的数据132.2.2 Java驱动数据库142.2.3 百度地图API函数调用142.2.4 电脑手机端页面的显示14第3章 mysql数据库163.1 mysql软件简介163.2 建立数据库163.3 存储数据17第4章 编程软件及文件184.1 JDK简介184.2 tomcat简介184.3 myeclips简介184.4 myeclips配置tomcat194.5 建立编程文件xm.jsp20第5章 Mysql数据库数据调用225.1 JDBC简介225.2 myeclipse添加JDBC驱动225.3 数据库驱动235.4 数据存储23第6章 百度地图应用程序接口256.1 百度地图API简介256.2 地图控件256.3 标注的显示266.3.1 数组的调用266.3.2 添加标注266.3.3 标注的跳动预警276.3.4 标注图标的自定义276.4 弹出窗口显示信息296.4.1 监听函数介绍296.4.2 点击窗口显示数据296.5 地址的查询316.5.1 搜索按钮316.5.2 本地搜索326.5.3 清除历史信息326.6 驾车线路查询336.6.1 驾车路线查询按钮336.6.2 路线查询实现336.7 定时更新页面信息357.1 内网通简介367.2 内网通提供静态IP367.3 tomcat的设置377.4 tomcat根据IP实现页面访问387.4.1 tomcat网页访问的机制387.4.2 网页访问38致 谢42参考文献43附录A 外文翻译44A.1 英文44A.2 译文50附录B 源程序55石家庄铁道大学毕业设计第1章 绪论1.1 课题研究的的意义随着移动平台操作系统的飞速发展和地图应用领域的不断延伸,人们对于地理信息服务的要求也越来越高,在手机端和电脑客户端拓展地图应用,尤其是可以根据特定的需求进行百度地图二次开发,开发出满足用户的需求的百度地图,本课题的目的在于市民和相关部门可以方便准确的远程实现各个地方水深,路线的查询,为人民的安全出行提供便利,同时相关部门也可以根据水深超出危险水深的地区提前做出应对措施,从而减少不必要的损失。1.2 国内外研究现状到目前为止,学者们主要讨论了知识地图在知识管理、图书馆服务以及指导学习三个方面的应用。(1)知识地图在知识管理方面的应用。知识地图不仅可以用于显性知识的管理,还可用于隐性知识的管理。可采用两种知识地图对隐性知识进行管理,一种用于隐性知识的表达,称为认知地图,亦称方法或过程图;另一种用于隐性知识的交流传播,被称为专家图,这两种图分别从隐性知识本身和隐性知识载体两个角度出发对隐性知识进行管理。(2)知识地图在图书馆参考咨询服务中的应用。知识地图是一种良好的工具,它可实现图书馆知识资源的可视化配置,明确知识的分布以及分布于不同空间的知识资源间的内在联系。参考咨询系统中的请求管理器根据知识地图就可以快速找到合理的知识匹配,进而将咨询请求提交给匹配度最高的知识资源所有者(图书馆和知识专家),以达到咨询服务的高质量。(3)知识地图在指导学习中的应用。学生要培养自己的学习能力、实践能力和创新能力,就需要在学习的过程中学会在知识之间自主建构有意义的连接并感悟这种意义,形成知识地图,在解决问题的过程中应用并完善知识地图,总结出解决问题的各种方法和一般规律,使知识地图成为智能知识地图。综上所述,对知识地图概念的研究,国外主要集中在20世纪末,尤其以1999年和2000年居多,而国内在这方面的研究稍晚,以2002年和2003年居多;在知识地图类型、功能以及知识地图的构建和应用方面,国内2000年以来研究颇多,且远远多于国外;此外,国内关于知识地图的应用和构建领域的文献近年来呈不断增长趋势,而国内外对知识地图特点以及评价指标的研究尚显薄弱,有待加强。1.3 论文研究内容及工具论文主要研究了从数据库里读取数据在地图上进行标注,并对标注的详细信息,点击标注实现标注信息弹出窗口,显示水深地址信息,实现发送短信的功能,根据短信链接信息实现具体信息的查看,实现地址的搜索和驾车路线的查询,根据公网IP对tomcat进行设置实现网页手机端的访问。1.3.1 小巧高速的mysql数据库mysql数据库用来存储本系统使用到的经度,纬度,水深,地址数据,使用mysql数据库具有一下优势1:(1) 使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性(2) 支持多线程,充分利用CPU资源。(3) 优化的SQL查询算法,有效地提高查询速度2。(4) 提供TCP/IP、ODBC和JDBC等多种数据库连接途径。(5) 提供用于管理、检查、优化数据库操作的管理工具。1.3.2 功能强大的百度地图API百度地图API实现的是调用数据库数据,通过百度地图应用程序接口,调用百度地图API功能强大的函数类,实现功能丰富的百度地图二次开发。百度API具有免费,特制,高效,开放的特点,功能齐全,百度地图API的功能包括核心类,基础类,工具类,覆盖物类,服务类,图层类等。本系统实现的地图的功能包括标注的显示,标注跳动预警,窗口信息展示,地区搜素,驾车路线的查询,以及手机电脑端页面的查看11。百度地图API具有的优势:(1) 功能丰富;(2) 交互性;(3) 功能特制;(4) 免费开放;(5) 支持PC端和移动端基于浏览器的地图应用开发;(6)支持HTML5特性的地图开发;第2章 系统方案设计2.1 设计原则及流程总体实现Zigbee终端节点进行水深数据经纬度和地址的采集,把数据通过协议栈传到协调器,协调器通过串口连接GPRS,GPRS通过因特网通过因特网实现发短信打电话的功能,通过数据透传把数据存在上位机labview中,labview把数据存储在mysql数据库中,百度API从数据库中调取数据实现手机页面的访问,总体的流程如图2-1所示16。百度APILabSQL 透传驱动:无线ZigBee 无线ZigBee ZigBee无线ZigBee协调器单片机GPRS串口串口 GSM 图2-1 总体流程图本系统主要实现的是调用存储在mysql里的数据,通过Java驱动mysql使得数据存储在数组里,百度API读取数组里的经纬度,利用自身的的功能将标注唯一标注在地图上,通过跟经纬度对应的水深,地址数据,在地图上显示对应标注所在点的水深和地址12。本系统功能的实现流程图如图2-2所示。图2-2 系统流程图2.2 流程实现在mysql数据库使用其自带的数据名为test的数据库,表名为study,表study中有五个字段,包括id,jingdu,weidu,shuishen,address,其中id是唯一索引Primary Key,jingdu,weidu是根据百度地图地理反编码得到的,我国对经纬度进行了二次加密,本系统使用百度地图API实现的二次开发,所以采取的是百度地图的地理反编码得到经纬度比较准确,水深数据是根据Zigbee超声波节点采集的水深数据,address的数据是根据经纬度得到的3。2.2.1 存储在mysql中的数据上位机labview存储数据在数据库名为test,表名为study,在mysql数据库中输入select * from test.study,得到如图2-3所示的数据4。图2-3 MySQL数据库2.2.2 Java驱动数据库Java连接mysql需要安装JDBC驱动,本系统采用的是mysql-connector-java-5.0.6-bin.jar mysql的JDBC驱动,放在C:Program Files (x86)Apache Software FoundtionTomcat 6.0lib目录下,然后把驱动放在如图2-4所示的位置7。图2-4 Mysql的JDBC驱动位置2.2.3 百度地图API函数调用百度地图API函数基本面向对象的技术,包含核心类,基础类,控件类,覆盖物类,右键菜单类,工具类,地图图层类,服务类。本系统使用的是基础类,控件类,覆盖物类,服务类函数,来实现了地图方法缩小,地图的拖曳,卫星地图的显示,已经通过鼠标滚轮实现地图的放大缩小;标注的显示,应用的是百度地图API的覆盖物类,实现的是根据数据库里的经纬度通过一定的标记图标在地图上显示出来;地址的搜索,路线的查询等功能,应用的是百度地图API的服务类,通过调用服务方法来实现地点的搜索以及路线的规划11。2.2.4 电脑手机端页面的显示tomcat的功能室想用HTML页面的访问请求,先配置tomact,在C:Program Files (x86)Apache Software FoundationTomcat 6.0webappsROOT目录下导入本系统的文件xm.jsp,如图2-5所示5。图2-5 Tomcat配置文件使用内网通内网通,是专业的内网端口映射软件,该软件把本机IP映射到固定服务器的的IP地址,映射效果如图2-6所示。图2-6 端口映射映射成功后,tomcat根据映射成功的IP地址,即http:/IP/文件,来实现网页访问,所以在电脑或者手机上输入网址:53:59975/study/xm.jsp即可实现页面访问。第3章 mysql数据库3.1 mysql软件简介mysql是一个开放源码的小型关联式数据库管理系统。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。mysql所使用的SQL语言是用于访问数据库的最常用标准化语言。并且具有支持多线程,充分利用CPU资源,优化的SQL查询算法,有效地提高查询速度,提供用于管理、检查、优化数据库操作的管理工具等优势。本系统使用的是版本是mysql-installer-community-。登陆用户名为root,密码是yangxiaoning。3.2 建立数据库打开软件,点击MySQLForExcelConnection,如图3-1所示。图3-1 进入数据库密码是mysql数据库安装软件安装的时候确定的,设定的密码是yangxiaoning,输入用户密码yangxiaoning,点击OK。进入mysql数据库页面,建立表的前提的是在先建立一个数据库,在数据库的基础上建立表,进入页面可以看到mysql数据库有一个自带的名为test的数据库,可以mysql数据库自带的数据库名为test数据库上右击选择Creat Table,开始建表,如图3-2所示。图3-2 建立表设置表名为study,分为五个字段id,jingdu,weidu,shuishen,address,设置id为Primary key,int型,使得id为唯一索引,其他四个字段设置最大长度为255的字符型,设置好后点击Apply,表study建立完成。3.3 存储数据表建好后,在Quary1中输入select * from test.study,点击执行按钮,可以查询labview上位机存储在数据库test,表study中的数据,如图3-3所示3。图3-3 mysql中存储的数据第4章 编程软件及文件4.1 JDK简介JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。本系统使用的是jdk-7u45-windows-i586软件,用来搭建java运行平台。4.2 tomcat简介tomcat服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。本系统使用的tomcat版本是apache-tomcat-6.0.39。注意需要先安装JDK软件,搭建一个合适的语言平台。4.3 myeclips简介myeclipse是一个十分优秀的用于开发Java,J2EE的Eclipse,插件集合,myeclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。myeclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说myeclipse几乎囊括了目前所有主流开源产品的专属myeclipse开发工具8。本系统使用的myeclips软件是myeclipse-8.5.0,用来编写程序。注意myeclips需要对tomcat进行配置。4.4 myeclips配置tomcatmyeclipse是Java Web企业级开发中最流行的工具,Java Web的开发离不开服务器,作为J2EE平台上最流行的服务器,tomcat发挥着巨大的作用,由于myeclipse自带的tomcat功能不够完善,而且无法更好的清除服务器缓存,不能方便的透明的查看tomcat服务器的各种运行状态,所以给myeclips配置tomcat很有必要。在window-perference里进行设置。使用下载的tomcat6.0,按钮设置成Enable,如图4-1所示9。图4-1 使用下载的tomcat禁止myeclips自带的tomcat,按钮设置成Disable,如图4-2所示。图4-2 禁止使用myEclipse自带的tomcat4.5 建立编程文件xm.jspJSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页10。在myeclipse中建立.jsp文件,在WEB-INF右击,选择new,在下拉菜单里选择JSP(Advanced Templates),设置文件名为xm.jsp,其中File Path是文件的存储路径,点击Finish完成文件的建立,如图4-3所示。图4-3 建立jsp文件得到如图4-4所示的文件,双击文件xm.jsp,进入编程环境。图4-4 文件位置第5章 Mysql数据库数据调用5.1 JDBC简介JDBC(Java Database Connectivity)称为Java数据库连接,是一种用Java编写的用于数据库访问的应用程序API。有了JDBC,就可以用统一的语法对多种关系数据库进行访问,而不必担心其数据库操作语言的差异,这充分体现了Java语言的平台无关性。5.2 myeclipse添加JDBC驱动在myeclipse中添加mysql的JDBC驱动,加载方法是myeclipse中:右键单击项目名然后build pathAdd External Archives找到你下载好的JDBC驱动Jar包(mysql-connector-java-5.0.5-bin.jar)确定会自动添加到这个Referenced Libraries,即可导入JDBC驱动。加载到myeclipse的如图5-1所示14。图5-1 JDBC数据源导入myeclipse中的位置 5.3 数据库驱动Java调用mysql中的数据需要JDBC驱动,本系统采用的是mysql-connector-java-5.0.6-bin.jar的驱动包实现mysql的JDBC驱动5。/数据库驱动Class.forName(com.mysql.jdbc.Driver);/建立数据库连接三个参数:URL、用户名、密码Connection ct=DriverManager.getConnection(jdbc:mysql:/:3306/test,root,yangxiaoning);/获取StatementStatement sm=ct.createStatement();/获取结果集ResultSetResultSet rs=sm.executeQuery(select * from study);其中Class.forName(com.mysql.jdbc.Driver);在应用程序中加载JDBC驱动程序,通常使用Class.forName()方法加载,com.mysql.jdbc.Driver是mysql的JDBC驱动。Connection ct = DriverManager.getConnection(jdbc:mysql:/:3306/test, root,yangxiaoning);成功加载驱动之后,要用DriverManager类的方法getConnection()来创建一个数据库连接类的实例。对于jdbc:mysql:/:3306/test, root,yangxiaoning,表示jdbc连接mysql的url,mysql数据库的端口号为3306,数据库名为test,登陆数据库用户名为root,密码是yangxiaoning。获取Connection对象之后,可以用其中的方法创建一个Statement对象的实例。Statement sm = ct.createStatement();Statement对象可以执行标准的SQL语句,用来完成对数据库的插入、删除或修改等操作。 ResultSet rs = sm.executeQuery(select * from study); 表示通过执行语句select * from study获取表study的数据。5.4 数据存储Java驱动数据库成功后获取到数据库里的数据,需要把数据库的数据存储在数组里。 / * 数据库连接代码开始 */异常处理语句String latis = ;String longis = ;String deeps = ;String addresss = ;while (rs.next() latis += rs.getString(jingdu) + ,;/纬度longis += rs.getString(weidu) + ,;/经度 deeps += rs.getString(shuishen) + ,;/shuishenaddresss +=rs.getString(address) + ,;rs.close();sm.close();ct.close(); 定义latis,longis,deeps,addresss定义字符串,通过while循环语句,不断的读取数据,把数据存储在字符串中。定义字符串,latis用来存储纬度数据,longis用来存储经度数据,deeps用来存储水深数据,addresss用来存储地址数据。数据库里的数据存储在读完并且存储在这四个字段之后,即完成了数据库访问,要关闭与数据库连接即rs.close(); sm.close();ct.close();第6章 百度地图应用程序接口6.1 百度地图API简介百度地图API是一套由javascript语句编写的应用程序接口,它能够使用户在网站中构建功能丰富,交互性强的地图应用程序。通过地图服务应用接口将平台和地理信息数据绑定,将复杂的GIS底层逻辑进行封装,以一种直观的方式免费提供给用户,从地图服务和开发两个层面降低了GIS的应用门槛。百度地图API不仅包含构建地图的基本接口,还提供了诸如本地搜索,路线规划等数据服务,用户可以根据自己的需要进行选择。百度地图API函数基本面向对象的技术,包含核心类,基础类,控件类,覆盖物类,右键菜单类,工具类,地图图层类,服务类。其中核心类主要用来实现地图的表达;控件类用来添加地图的浏览工具如地图的移动,缩放工具;服务类提供用户地图的相关服务,如搜索工具,公交路线查询工具,自驾路线查询工具盒地理编码工具等。每个类都通过AJAX模式实现,开发者只需要通过其API,利用javascript脚本语言就可以将百度地图服务连接到自己的网页中。通过地图API提供的借口,满足各类B/S和C/S体系架构的基于网络地图服务应用11。6.2 地图控件百度地图上负责与地图交互的UI元素,百度地图API中提供了丰富的控件,还可以通过Control类来实现自定义控件,使用的控件:/map.addControl(new BMap.NavigationControl();/平移缩放控件 /map.addControl(new BMap.ScaleControl();/比例尺控件map.addControl(new BMap.OverviewMapControl();/缩略地图控件map.addControl(new BMap.MapTypeControl();/地图类型控件map.enableScrollWheelZoom();/启用滚轮放大缩小map.addControl(new BMap.MapTypeControl();/地图类控件,地图卫星三维map.addControl(new BMap.OverviewMapControl(); map.addControl(new BMap.OverviewMapControl(isOpen:1);/开启鹰眼(迷你型缩略图控件)map.addControl(new BMap.OverviewMapControl(isOpen: 1, anchor: BMAP_ANCHOR_TOP_RIGHT);/开启鹰眼,位置在右上方map.addControl(new BMap.NavigationControl(type: BMAP_NAVIGATION_CONTROL_SMALL);/为地图添加鱼骨(迷你型平移控件)map.addControl(new BMap.ScaleControl(offset: new BMap.Size(5, 40);/添加一个带上偏移量的比例尺通过添加这些控件可以使得地图放大缩小平移,拖曳,卫星地图显示,比例尺,鼠标滚轮实现地图的放大缩小等地图表达功能,通过放入迷你控件可以使得页面的规划更加的合理。6.3 标注的显示所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线和多边形和圆)、信息窗口等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。通过覆盖物可以很方便的把想要在地图上标示的内容显示出来。标注的显示主要是通过调用数据库的经纬度来定位具体的地点并且在地图上标注出来。出于安全考虑,国家对坐标进行了二次加密,GPS坐标,百度坐标,goole坐标会有偏差,本系统的经纬度的值是通过地理反解码获取百度地图经纬度,可以保证定位的准确性。6.3.1 数组的调用定义数组arrayObx=.split(,); arrayOby=.split(,); arrayObz=.split(,);arrayObm=.split(,);经度放在arrayObx数组里,纬度放在arrayOby数组里,水深放在arrayObz数组里,地址放在arrayObm数组里。6.3.2 添加标注通过map.addOverlay方法向地图添加覆盖。根据经纬度定义marker,创建标注。var marker= new BMap.Marker(new BMap.Point(arrayObxi, arrayObyi),icon: icon,fillColor:blue);/创建标注将标注添加到地图中 map.addOverlay(marker);/将标注添加到地图中即可在地图上显示标注点。效果如图6-1所示。图6-1 标注的显示6.3.3 标注的跳动预警设定一个预警值,超过这个预警值就标注就跳动,程序如下: markers.push(marker);if (arrayObzi30) map.addOverlay(marker);/ 将标注添加到地图中 else map.addOverlay(marker); marker
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论