1、武汉理工大学能力拓展训练课程设计说明书1.系统描述 .11.1 问题描述 .11.2 需求分析 .11.2.1 用户体验需求 .11.2.2 功能需求 .11.3 可行性分析 .21.3.1 经济可行性 .21.3.2 操作可行性 .21.3.3 技术可行性 .22.背景资料说明 .32.1Android 环境说明 .32.2 百度地图接口说明 .32.3 系统的体系结构图 .43.系统概要设计 .43.1 总体框架图 .43.2 各部分功能描述 .54.总体详细设计 .64.1 界面设计 .64.1.1 主界面设计 .64.1.2 路线查询界面设计 .74.1.3 校园周边信息查询界面设计
2、.74.1.4 校园定位界面设计 .84.1.5 地图界面的设计 .84.1.6 查找列表界面设计 .94.2 各模块逻辑图 .94.2.1 路线查询模块 .94.2.2 校园周边信息查询模块 .104.2.3 校园定位模块 .114.3 详细代码设计 .124.3.1AndroidManifest.xml 文件的修改 .124.3.2 资源文件的设计 .134.3.3 程序控制代码设计 .135.测试和结果说明 .145.1 启动模拟器 .145.2 测试各模块 .155.2.1 路线查询测试 .155.2.2 校园周边信息查询测试 .175.2.3 校园定位测试 .195.2.4 卫星地图
3、和街道地图测试 .196.总结与展望 .196.1 总结 .196.2 展望 .207.参考文献 .20武汉理工大学能力拓展训练课程设计说明书0基于 Andriod 环境的地图查询系统设计1.系统描述1.1 问题描述设计一个基于 android 环境的地图查询系统设计,整个设计是建立在武汉理工大学的地图导航之上。该系统能够提供武汉理工大学校区定位的查询;能够为用户提供用户需求的源点和终点路线的查询,其包含公交查询、驾车查询和步行查询;能够提供校园周边信息的查询,如餐饮、银行和交通等信息的查询。1.2 需求分析1.2.1 用户体验需求一个成功的 Android 应用程序往往需要提供良好的用户体验
4、。良好的用户体验体现在以下几点:1界面友好用户界面要简洁直观,并且易于操作。2快速响应快速处理用户的输入或请求,对于有些需要较多时间的应用程序,可以在它处理时,给用户一个提示,让用户知道程序还在运行中。3无缝性Android 应用程序模型的构建是能够允许用户在不同的应用程序之间进行流畅的切换。所以当用户正在做一些其他的事情,如在接电话或查看地图是,SMS 服务每次都在短信收到时弹出一个对话框,这很快就会使用户崩溃,需要引入通知机制,来使用户能够自己控制。1.2.2 功能需求基于 android 环境的地图查询系统扮演着与用户直接交互并提供服务的重要角色,它需要提供有好的、方便的用户操作界面,接
5、收用户的各项操作并将这些操作转化成与之对应的命令,采用用户活动的方式完成各个服务逻辑流程。其功能需求主要包含一下内容:1地图缩放的功能用户能够通过此缩放功能,随时放大某一块感兴趣的地图数据,或者缩小当前的地图信息到更高一个视觉观察层次。武汉理工大学能力拓展训练课程设计说明书12视图模式切换功能在显示地图信息的时候,应该提供给用户显示地图的街道信息和卫星信息两种常规的视图模式,用户可以根据自己的需要选择一种合适的视图模式。3路线查询功能在用户的起点或者用户自己设定的起点和终点后,提供起点到终点公交查询,并给出从起点到终点可供选择的公交查询列表,在用户选中需要的项后给出百度地图的路线行走信息。同时
6、还提供驾车查询和步行查询,它们给出起点到终点的经纬度坐标,并给出两点间的距离。4校园周边信息查询功能提供给用户校园周边信息查询的功能,如提供“餐饮” 、 “银行” 、 “交通”等周边信息。能使用户很方便地寻找需要的服务,返回该服务商家的地图地理位置坐标同时将该坐标标志出来。5校园定位提供给用户武汉理工大学余家头校区和马房山校区的地图定位,同时在地图上标志出来。1.3 可行性分析可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。可从三个方面分析研究每种解决问题的可行性。1.3.1 经济可行性基于 android 环境的地图查询系统是一个 C/S 系统。服务
7、器端使用的是百度提供的百度地图 API 接口,此接口可很好的提供本系统所需要的所有关于地图的功能,同时该接口是免费的只需要注册一个百度账号申请百度 API 的 KEY 即可。客户端即本系统,由于很大一部分的操作是由百度地图接口处理的,所以客户端所有完成的工作量并不大。该系统带来的利益却是巨大的,能够实现主流的用户需求,所以在经济上是可行的。1.3.2 操作可行性使用百度地图查询地理坐标是百度地图提供给用户的一个合法的使用权限,并且地图查询系统属于一种常规的需要。该系统使用方便、高效,不会出现违规的操作,同时操作快捷也易于掌握。1.3.3 技术可行性武汉理工大学能力拓展训练课程设计说明书2And
8、roid 的地图查询系统,所需要的背景知识是一些基础的 java 和对百度地图一些接口类的使用。这些在百度地图的用户手册中都很好的说明,在对这些背景知识有了较好的了解之后便可在较短的时间内开发出一个功能完善的系统。2.背景资料说明2.1Android 环境说明Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。本次地图查询系统选择的是 Android 环境,是由于其有如下的优点: 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发出更具差异性的应用,
9、同时整个系统是免费的。 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik,Android 的运行速度比想象的要快得多。 具有强大的 Linux 社区的支持。 应用程序都是基于 Java 开发的,Java 具有一次编写,到处运行的跨平台性。实现了能够在所有的 Android 设备中运行,真正做到了硬件无关性,降低了开发者的负担。 具有全球一半以上的市场占有率。2.2 百度地图接口说明百度地图是百度提供的一项网络地图搜索服务,覆盖了国内近 400 个城市、数千个区县。在百度地图里,用户可以查询街道、商场、楼盘的地理位置,也可以找到离您最近的所有餐馆、学校、银行、公园等等。百度地图 A
10、ndroid SDK 是一套基于 Android 2.1(v1.3.5 及以前版本支持 android 1.5 以上系统)及以上版本设备的应用程序接口。开发者可以使用该套 SDK 开发适用于 Android系统移动设备的地图应用,通过调用地图 SDK 接口,可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。百度地图 Android SDK 提供的所有服务是免费的,接口使用无次数限制。只需申请密钥(key) 后,便可使用百度地图 Android SDK。任何非营利性产品可以直接使用。百度地图提供的接口包含以下功能: 地图展示:包括 2D 图、卫星图、 3D 图地图展示。 地
11、图操作:提供控制平移、缩放、底图旋转、变换视角等地图相关操作的功能。武汉理工大学能力拓展训练课程设计说明书3 自定义绘制:提供自定义绘制点、线、圆、矩形、凸多边形和文字的功能。 百度地图导航:提供调起百度地图 Android 版(v5.0 及以上版本)导航功能。 地图搜索:提供根据关键字进行范围检索、城市检索和周边检索。且支持 LBS 云检索用户自有数据。 详情查询:提供餐饮类的 POI 的详细信息查看(Place 详情) 。 线路规划:提供公交、驾车和步行三种类型,多种方案(不含地铁、时间优先、最少换乘、最少步行)的线路规划。 地理编码:提供地址信息与坐标之间的相互转换。 位置标注:提供一个
12、或多个 POI 位置标注,且支持用户自定义图标。 实时路况:提供城市、城际(城市之间的高速)实时交通路况信息图。 离线地图:提供离线地图功能,可节省用户流量。 定位:采用 GPS、WIFI、基站、IP 混合定位模式,请使用 Android 定位 SDK 获取定位信息,使用地图 SDK 定位图层进行位置展示。2.3 系统的体系结构图系统的体系结构图如图 1 所示:百度地图接口智能手机硬件平台A n d r o i d 操作系统显示器G P R S 或 3 G 模块触摸屏G P S卫星 卫星卫星图 1. 系统体系结构图3.系统概要设计3.1 总体框架图在设计系统功能架构时,基于 android 环
13、境的地图查询系统包含三个主要的模块:路线查询,校园周边信息查询,校园定位。其系统总体框架图如图 2 所示。武汉理工大学能力拓展训练课程设计说明书4主界面路线查询校园周边信息查询校园定位退出公交查询驾车查询步行查询餐饮等周边信息查询余家头校区定位马房山校区定位图 2. 系统总体框架图3.2 各部分功能描述(1)视图模式切换及地图缩放功能描述:显示一个地方的卫星图、街道图和对地图进行放大缩小应用场景:当一个用户想查看一个地方的街道情况或更清晰地图时,可以使用此系列功能来进行查看。(2)路线查询功能描述:提供起点到终点公交查询,并给出从起点到终点可供选择的公交查询列表,在用户选中需要的项后给出百度地
14、图的路线行走信息。同时还提供驾车查询和步行查询,它们给出起点到终点的经纬度坐标,并给出两点间的距离。应用场景:当一个用户想查看从一个地方到另个一地方的公交坐车路线或者行走路线时,可以使用此系列功能进行查看。(3)校园周边信息查询功能描述:提供给用户校园周边信息查询的功能,如提供“餐饮” 、 “银行” 、 “交通”等周边信息。能使用户很方便地寻找需要的服务,返回该服务商家的地图地理位置坐标同时将该坐标标志出来。武汉理工大学能力拓展训练课程设计说明书5应用场景:当一个用户想查看武汉理工大学余家头校区校园周边的一些服务时,可以使用此系列功能进行查看。(4)校园定位功能描述:提供给用户武汉理工大学余家
15、头校区和马房山校区的地图定位,同时在地图上标志出来。应用场景:当一个用户想查看武汉理工大学余家头校区或马房山校区的地理位置时,可以使用此系列功能进行查看。4.总体详细设计4.1 界面设计一个 Android 应用程序的主界面是非常重要的,用户第一眼看到的就是主界面。为了给用户留下好的印象,主界面的设计要遵循一致的准则,给用户统一的感觉,不觉混乱,控件简洁使用方便,同时在色调的搭配上遵循对比原则。4.1.1 主界面设计主界面是系统运行后开启的第一个用户界面,包含“武汉理工大学地图导航”的标题文字,同时提供了四个 Button 按钮分别用来响应“路线查询 ”、 “校园周边信息查询” 、 “校园定位
16、”和“退出”事件。主界面设计如图 3 所示。武汉理工大学能力拓展训练课程设计说明书6图 3. 主界面设计 图 4. 路线查询界面设计4.1.2 路线查询界面设计路线查询界面提供了三个 TextView 分别用来显示“点击按钮更改终点或起点” 、 “起点”和“终点” ,同时还给出了 5 个 Button 按钮分别用来响应起点、终点输入、公交查询、驾车查询和步行查询五个事件。路线查询界面如图 4 所示。4.1.3 校园周边信息查询界面设计校园周边信息查询界面提供了一个 TextView 控件用来显示“选择周边选项” ,同时还提供了 10 个 Button 按钮分别用来响应周边信息的查询事件。校园周
17、边信息查询界面如图5 所示。武汉理工大学能力拓展训练课程设计说明书7图 5. 校园周边信息查询界面设计 图 6. 校园定位界面设计4.1.4 校园定位界面设计校园定位界面提供了一个 TextView 控件用来显示“选择校区” ,同时还提供了两个Button 按钮分别用来响应“余家头校区定位”和“马房山校区定位”这两个事件。校园定位界面如图 6 所示。4.1.5 地图界面的设计地图界面提供了一个 ToggleButton 按钮,主要是用来切换 “开启卫星地图”和“关闭卫星地图”两个功能。地图界面如图 7 所示。武汉理工大学能力拓展训练课程设计说明书8图 7. 地图界面的设计 图 8. 查找列表界面设计4.1.6 查找列表界面设计查找列表界面设计主要提供了两个 TextView 用来显示“查找列表”和“点击列表选择您要找的位置” ,同时还提供了一个 ListView 用来给出检索的表单项。查找列表界面如图8 所示。4.2 各模块逻辑图4.2.1 路线查询模块路线查询模块说明:在进入路线查询界面后,提示用户“点击按钮更改终点或起点” 。然后用户便可以进行公交查询、驾车查询或步行查询,如果用户没有输入终点会提示用户输入终点,如果用户已经输入了则会提供对应的地图服务。