1、本科毕业论文(20 届)基于百度地图 API 的路径演示系统所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 2基于百度地图 API 的路径演示系统摘 要在信息化高速普及的最近几年,地图已成为人们出行必不可少的工具,百度公司为了抢占市场,开放了百度地图 API 接口供开发者调用。本课题提出了一种基于 Baidu Map API 的路径演示系统的解决方案。该系统包含定位,测距,路径规划,数据库记录,以及动态路径演示等功能。系统采用用 B/S 结构,使用 JS+Baidu Map api 等技术实现,利用SQL server 作为后台数据存储。平台的 Web
2、前端实现路径演示、搜索与定位、路径跟踪、路径导航、使用帮助功能,并在后台提供了数据地理数据的增删改查。基于百度地图 API的路径演示系统可以方便人们出行,记录,推进了全民导航信息化、生活化快捷化,可以彻底改变出门靠问路的时代。关键词:百度地图;搜索;测距;导航;安大数据3The path demo system that based on the the baidu map API AbstractIn recently years, with rapid popularization of information technology, the map has become the nece
3、ssary tools for people to travel, baidu inc., in order to seize market, open the baidu map API interface for developers to invoke. This topic proposed a path based on Baidu Map API demo system solutions. The system includes orientation, distance, path planning, database records, as well as the dynam
4、ic path demonstration, and other functions. System by using B/S structure, using JS + Baidu Map API technical implementation, such as the use of SQL server as a backend data store. Platform Web front-end realization path of the demonstrations, search, location, path tracking, and navigation path, us
5、e the help function, and provides the data in the background of geographical data and delete. Path based on baidu map API demo system can facilitate people to travel at the same time, record, promote the universal navigation information high-speeding, unripe activation, can change to go out on the w
6、ayKeywords: Baidu Map; Search; Range; Navigation; Ahu dataI目 录1 绪论 .11.1 课题的背景和意义 .11.2 国内外研究现状 .11.3 系统开发环境 .22 需求分析 .32.1 可行性分析 .32.1.1 技术可行性 .32.1.2 经济可行性 .32.1.3 操作可行性分析 .32.2 系统流程图 .42.2.1 路径规划模块数据流图 .42.2.2 路径演示模块数据流图 .52.3 数据字典 .53 设计工具及技术简介 .63.1 ASP.NET简介 .63.2 SQL SERVER数据库简介 .63.3 涉及语言及关键
7、技术 .73.3.1 javascript 简介 .73.3.2 C#简介 .73.3.3 后台与数据库连接 .73.3.4 前端与后台交互 .83.4 AJAX简介 .84 系统概要设计 .104.1 总体设计 .104.2 后台数据库设计 .104.2.1 安大本地数据库 .104.2.2 行车记录数据库 .114.3 系统结构设计 .115 系统详细设计 .125.1 系统工作流程: .125.2.1 引用百度 api 文件 .125.2.2 创建地图容器元素 .125.2.3 命名空间 .13II5.2.4 创建地图实例 .135.2.5 创建点坐标 .135.2.6 初始化地图 .1
8、35.2.7 地图操作 .135.3 数据库设计 .145.3.1 数据库概念结构设计 .145.3.2 数据库逻辑结构设计 .155.4 系统详细设计与实现 .165.4.1 前台详细设计与实现 .165.4.2 后台详细设计与实现 .206 系统调试问题 及解决方法 .246.1 连接数据库时字符出错 .246.2 页面布局 .247 总结与展望 .25主要参考文献 .26致 谢 .2711 绪论1.1 课题的背景和意义21 世纪以来信息产业高速发展,尤其是在移动互联网兴起的时代,人们对电脑和手机的依赖程度也越来越大,不少人出行前必用手机或者电脑查看地图。地图作为极具重要的生活学习工作工具
9、,为人们的日常学习生活工作带来了划时代的便利,地图产业的发展和开发具有极其广阔的前景 1 。作为国内领先的地图提供商,百度公司开发的百度地图在国内的信息覆盖最为完整和齐全。为了抢占市场提高知名度,百度公司率先开发地图服务程序接口即百度地图 API2 。百度地图 API 是为开发者提供的一套免费地图程序服务接口,具体包括定位 SDK,Android SDK ,ios SDK ,web 服务 API,车联网API,LBS 云等多种开发服务工具。可以方便程序员轻易的在自己的程序中实现基本地图展现,搜索与定位,路线规划,LBS 云存储,检索等功能,适用于 PC端,移动端和各种服务器设备,多种操作系统下
10、的地图开发。先百度地图已免费开放了 4 年,极大程度了促进了涉及地图服务行业的互联网公司和各类手机需要用到地图服务的手机 APP 应用程序的发展,具体的向携程旅游,去哪网为代表的旅游性网站,搜房网,赶集网,百姓网等需要全国性范围内搜索与定位的各类服务性互联网公司。还有美团,饿了么等订餐,外卖,团购性网站以及不及其数的各个大小互联网公司都可以免费的把百度地图服务接到自己的程序中。1.2 国内外研究现状就世界范围内来看,地图行业较为发达的是日本,美国,欧洲等发达国家,它们为首的各类地图行业的大型互联网公司开放地图服务 API 较早。经过近十几年的发展,产业已日趋成熟 3 。就市场地位而言,在世界范
11、围内排名较高的是 google,NAVTEQ、Tele Atlas 和 Zenrin。谷歌公司基本奴役了半壁天下。NAVTEQ、Tele Atlas 主要市场在欧美,Zenrin 已吃透日本。它们这些国家的地图产业已经成熟,早已形成了较为完善的产业链,就目前它们的研究热点主要包括以下几个方面:地理信息的本地搜素技术,快速增量在线更新技术、三维实景地图技术、云端导航信息服务等 4 。目前国内以百度公司为主开放 API 供广大开发者应用,2010 年 4 月 23 日,百度地图正式宣布开放地图 API,且是为广大开发者免费提供。2011 年 3 月 28 日,百度地图根据团购网站对位置信息的展示需
12、求,团购插件上线。2011 年 4 月 1 日,百度地图举办 API 应用开发大赛。22011 年 4 月 27 日,百度地图发布移动版 Android SDK,满足移动开发者对地图应用的开发。2011 年 8 月 19 日,百度地图发布移动版 iOS SDK,满足移动开发者对地图应用的开发。2011 年 8 月 29 日,百度地图发布 Android&Symbian 定位 SDK,满足开发者对定位信息请求的需求。2012 年 2 月,百度地图地图名片上线,让用户可以不用开发,直接拷贝代码就可在自己的网站中嵌入百度地图及公交换乘搜索。2012 年 6 月 10 日,百度地图发布车联网 API,
13、为车联网行业提供量身定制的 API 服务支持。2012 年 7 月,百度地图发布定位 APK 产品。2012 年 8 月 31 日,百度地图发布 LBS 云(包括百度地图 API) ,成为百度世界大会 2012 为开发者提供的”七大武器“ 之一。2012 年 10 月 25 日,百度地图 URI API 发布,用户无需自己开发,就可以直接调起百度地图现有成果(如 PC 端地图、百度地图客户端 /web,实现自己网页或应用对地图所需,同时还能快速分享地图信息与他人 5 。基于地图 API 的导航应用系统主要应用于车载导航、PND 终端、智能手机、互联网以及各行业指挥调度信息系统等领域,在互联网位
14、置服务领域,中国本土主要地图厂商 Microsoft MSN,新浪,搜房网,阿里巴巴,京东商城,腾讯,Baidu, Sogou,MapBar 等都有基于地图 API 在互联网领域的地图服务 6 。1.3 系统开发环境该系统是基于 B/S 机构的浏览器/服务器的模式,所以需要明确掌握 HTML语言。因为现在当前主流的操作系统都是 window 7,而该系统已经集成自带了II7 服务器,在系统的运行浏览器选择为当下通用的 360 公司的安全浏览器。当前的网站开发语言主流的有 PHP、JSP 和 ASP7 。相对于其他语言来说,ASP较简单,操作掌握比其他语言更容易上手。因为语言选择的 ASP,其开
15、发软件也就理所当然的选择微软公司的 Visual Studio 2013,因为它把开发的很多类和方法都封装好了,一些控件也可以很轻松的进行拖拽,这样可以把大部分精力都投入到算法和逻辑结构中,而不是繁琐的简单代码。下列是其具体系统环境。操作系统:Windows 7数据库:SQL server 2014开发工具:Visual Studio 2013Web 服务器:II73使用语言:ASP.NET2 需求分析按照软件工程对于系统开发的流程,需求分析部分关系到系统的使用价值。本章从可行性分析(包括经济可行性,技术可行性,操作可行性)和系统流程图,系统数据流图和数据字典来保证软件是符合需求的 1 。2.
16、1 可行性分析系统的可行性分析在基于百度地图 API 的路径系统的设计与实现的整个建设过程中占有十分重要的地位,系统的可行性分析会决定基于百度地图 API 的路径演示系统的设计与实现是否可能实现或是否值得去实现 8 。可行性分析主要包括技术、经济等方面可行性分析:现有技术能否实现本系统的设计和开发;在经济上去实现的必要性的评估。2.1.1 技术可行性它指开发一个新的系统目前是否具备所需要的技术。由于本系统采用javascript 脚本语言和 Visual studio 2013开发环境 ,同时 JavaScript 可以使网页的功能更强大,人机交互更简单,超文本标记语言 HTML(Hypert
17、ext Markup Language)在设计组建中,把静态网页作为 地图应用程序的载体,更好的调用地图服务,结合 ASP.NET 动态网页设计语言,连接数据库设计地图,兼容性强 9 。技术层面成熟可行。2.1.2 经济可行性经济可行性是指系统可以使用的人力资源、自然资源、资金资源的可行性。对于网上购物商城系统来说,要包括对成本-收益的分析和短期-长远收益分析,也就是说对开发系统和运行系统的成本与系统运行后的收益进行分析,对系统短期收益和长远收益进行分析 10 。本系统采用 B/S 架构,开发模式相对简单,能满足用户定制需求,开发周期短,并且它使用的是有线或无线网络,对资源要求不会太高 ,经济
18、压力也不会大,可行性较高。2.1.3 操作可行性分析操作可行性主要是指系统的运行方式,操作过程的实施是否可行,操作人员操作的可行性。首先,本系统是基于浏览器/服务器架构的。在服务器上运行,一旦运行除了需要固定的维护时间要暂停系统以外,其他时间正常在服务器端运行系统即可。其次,本系统运行后,用户只需要根据操作要求,进行系统的常规操作,加之用户界面友好,功能全面,不需要对用户进行额外的培训。再次,该系统使用浏览器就进行系统的操作,无需掌握和学习任何专业技术知识即可灵活地使用本系统。因此,本系统从操作层面来讲是完全可行的。42.2 系统流程图系统流程图是描绘系统物理模型的传统工具。它的基本思想是用图
19、形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等) ,表达信息在各个部件之间流动的情况 11 。本系统的系统流程图如下:功能选择定位与规划安大本地数据库行车记录数据库车辆跟踪选择,更新,添加,删除功能定位 规划测距演示经纬度获取图 2.1:系统功能流程图2.2.1 路径规划模块数据流图关键字 接受查询 百度地图API调用相关信息鼠标滚动本地数据库信息显示用户图 2.2:路径规划模块数据流图这一板块可以实现的功能有基于百度地图 API 的路径演示系统5(1)基本地图显示。(2)地图常用鼠标操作,滚动放缩,拖拉。(3)地图定位。(4)路径规划。(5)两点或连续点间测距
20、。(4)放大到一定级别,显示本地数据库信息。2.2.2 路径演示模块数据流图用户行车记录数据库操作 显示路径演示界面查看或单击查询行车记录或地理信息图 2.3:路径演示模块数据流图(1)根据本地数据库信息显示对应轨迹和相应时间,经纬度信息。(2)单击任意点获取经纬度信息。2.3 数据字典数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据字典是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由 DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。