1、基于 LBS 的旅游景区服务 APP 研究 黄宏涛 广东外语外贸大学信息科学与技术学院 摘 要: 利用百度地图的 LBS 服务, 研究了 Android 平台的旅游景区服务 APP, 从系统功能模块设计、总体架构和数据库设计等方面进行了阐述, 并详细介绍了定位模块的实现方法。关键词: LBS; 百度地图; 定位服务; 1 概述LBS (Location Based Service) 基于位置的服务, 是通过移动运营商通讯网络 (如 GSM 网、WCDMA 网) 或外部定位方式 (如 GPS) 获取移动终端用户的位置信息 (地理坐标) , 在 GIS 平台支持下, 向用户提供的一种增值服务。随着
2、移动互联网快速发展和智能移动终端普及, LBS 在不同行业领域得到广泛应用。本文以针对游客对旅游景区服务的需求, 以 LBS 为基本要素, 研究并设计了基于Android 系统的旅游景区服务 APP。2 系统分析2.1 系统需求分析随着经济的发展和人们物质生活水平改善, 居民的旅游需求呈现多元化和个性化, 自助旅游的人越来越多。许多游客在旅游行程中需要随时随地了解旅游景点有关的各类信息, 如旅游景点介绍、景点天气预报、酒店查询与预定、地图导航等, 合理规划和安排旅游线路。游客需要一款能够在智能手机运行的景区服务 APP 软件, 能够提供综合信息服务。当选中某个景点时, 有关该景点的背景知识以图
3、片、文字等形式显示出来;提供地图服务, 显示游客当前位置, 为游客规划游览线路;显示景点周边信息;提供相关衣食住行等信息的检索。2.2 系统功能分析根据系统需求分析, 设计提供景区信息服务的 Android 客户端 APP, 主要功能模块有:图 1 系统功能结构图 下载原图(1) 景区介绍。主要包含了景区主要景点的文字简介、图片、历史、人文、最佳旅游时间、推荐旅游线路等内容。(2) 美食。介绍当地的特色美食及推荐的餐饮店铺, 显示店铺的地址、电话、特色等信息。(3) 住宿。显示景区附近各类宾馆、酒店信息, 根据酒店类型, 分为星级酒店、快捷连锁酒店和特色民宿等类型。(4) 公共交通。提供各地到
4、达景区的交通方式及景区周围公共交通信息查询。(5) 人在景区。提供基于 LBS 的各种服务, 分为我的位置、地图浏览、线路导航和兴趣点查询等。能确定用户当前位置, 并在百度地图上显示;在地图上将主要景点、美食推荐、住宿等信息在地图上分类显示, 能计算用户当前位置距离各个兴趣点的位置;能提供当前位置到目的地的线路规划;POI 兴趣点周边检索查找用户附近兴趣点信息查询服务, 并将查询结果在地图上标识。(6) 景区助手。提供旅游景区的常用实用工具和信息, 包括服务点查询、景区紧急联系电话、天气预报等。2.3 非功能性需求除了满足功能性需求外, 一个 Android 应用要确保系统易用、稳定和低耗等非
5、功能性需求。易用性方面, APP 客户端用户界面应该美观, 功能易见, 方便使用, 符合用户的操作习惯。可靠性方面, 程序能在不同型号和 Android 版本手机上能顺畅运行, 避免出现系统卡顿或崩溃。程序运行时占用较少的资源, 不用的系统资源能及时回收。3 系统总体设计3.1 相关开发技术(1) Android 开发环境Java 语言是一门功能强大的跨平台面向对象开发语言, 由于其具有诸多优点, 可以开发 WEB 应用程序、嵌入式系统应用程序, 已成为移动互联网时代最为流行的开发语言之一。Android 是一种基于 Linux 的开发源代码的操作系统, 主要应用于智能移动设备, 如手机、智能
6、终端等。Android 采用了分层的架构, 共分为四层, 从低到高分别是 Linux 内核层、Android 系统运行层、Android 应用框架层和 Android 应用层。Android 平台的应用层是采用 Java 语言开发的, Java 语言是 Android 平台的核心之一, 具有其他开发语言不可替代的优点。集成开发环境选用 Eclipse, Eclipse 是一个开源, 基于 Java 的可扩展开发平台, 它是一个框架和服务, 通过插件组件构建开发环境, 其标准的插件集中包括Java 开发工具 (JDK) 。(2) 百度地图 API百度地图 API 是百度地图为开发者免费提供的百度
7、地图服务应用程序接口。百度地图 Android SDK 是一套基于 Android4.0 及以上版本设备 API, 可以使用该套 SDK 开发适用于 Android 系统移动设备的地图应用, 通过调用地图 SDK 接口, 访问百度地图服务和数据, 构建功能丰富、交互性强的地图类应用程序。(3) SQLite 数据库SQLite 是一个开源的嵌入式关系数据库, SQLite 数据库以嵌入的方式, 运行于包含它的应用程序中, 不需要在程序内部进行配置和管理, 仅依赖于文件系统。SQLite 是进程内部的数据库引擎, 只需使用它的一个动态库, 就能使用其所有功能。SQLite 占用资源很少, 非常适
8、合在嵌入型设备中使用, Android 系统中也集成了 SQLite。3.2 系统总体架构系统采用三层体系架构, 数据层、逻辑层和表现层。数据层为系统提供基本的数据支撑, 来源为百度 LBS 数据和存储在本地系统数据;逻辑层主要负责调用程序接口处理用户请求, 基于 Android SDK 和百度地图 SDK 编写;表现层是人机交互的窗口, 用户通过该层发布操作指令, 系统将执行结果返回客户端并以地图等为载体进行可视化表达。3.3 数据库设计APP 客户端使用 Android 系统内置的 SQLite 数据库存储相关数据。根据需求分析和系统功能设计, 以关系数据库 E-R 理论为基础, 划分系统
9、边界, 对系统中的各类对象实体进行抽象, 分析出系统的概念模型, 根据关系数据库数据结构特征, 给出相关数据表的定义。本系统定义的主要数据表:Attractions 景点表, Cates 美食表、Hotels 旅馆表、transport 公共交通表、Poi 兴趣点表。4 定位模块的实现使用百度地图提供的 Android 定位 SDK, 可以方便获取当前位置的定位信息。位置信息主要包括经纬度、地址、位置描述、周边 POI 等。下面详细介绍获取位置信息的步骤和方法。4.1 初始化 Location Client 类在主线程声明并初始化 Location Client 类, 同时将 Context
10、类型参数传入。核心代码如下:4.2 配置定位 SDK 参数通过参数配置, 设定定位模式、返回坐标类型及是否连续定位。4.3 实现 BDAbstract Location Listener 接口实现 Abstract 类型的监听接口 BDAbstract Location Listener, 用于实现定位监听。4.4 获取定位信息发起定位后, 从 BDAbstract Location Listener 监听接口中获取定位结果信息。my Location Client.start () ;启动定位 SDK, 发起定位请求5 结论根据对旅游信息服务的分析, 设计了基于 Android 系统和百度地图的旅游景区服务 APP 程序, 实现景区信息管理、定位和地图浏览、路径导航等功能, 满足游客对旅游景区信息查询、地图导航的需求, 具有一定的实用价值。参考文献1方维岚, 陆正卿.基于 LBS 的智慧园区导览交互系统设计与实现J.信息技术, 2016 (4) :136-140. 2吕冠南等.移动掌上校园 APP 的设计与实现J.北京测绘, 2017 (3) :114-119. 3http:/ 4付晓, 张彬, 周爱华, 朱海勇, 赵伯川.三山五园历史文化景区自助旅游系统 APP 设计与开发J.北京联合大学学报, 2017 (10) :15-20.