王学慧,王冯依欣,宋瑾钰,赵跃鹏
(1.浙江理工大学信息学院;2.浙江理工大学经济管理学院;3.浙江理工大学 机械与自动控制学院,浙江 杭州 310018)
随着国民消费水平的不断提高,浙江省的旅游经济也在加速发展中,来浙旅游人群规模逐步扩张,西湖出游人群比重不断提升。在西湖旅游业发展高度成熟的当下,西湖深厚的诗词文化底蕴让一些旅游业商家看到了新的商机:一方面,西湖诗词文化可以强化青少年课外素质文化教育[1];另一方面,诗词作者的“名人效应”可激发青少年游客的出行动机。“诗词+旅游”作为一大热点逐渐为人所熟知。但是,目前安卓市场上为西湖诗词文化旅游服务的应用软件寥寥无几。
在导航系统研究设计方面,陈燕红等[2]研究Android 地图构建、地图全景导航嵌入以及景点展示等关键技术,实现了乌鲁木齐特色景点全景导游系统,但其仅使用了腾讯地图街景导航实现全景导航,并利用腾讯、百度及高德地图实现系统外部导航,而没有实现内部地图导航;蔡晓洁等[3]采用Vue.js 框架、Java 开发后端与WebSocket 协议,直接通过高德地图API 获取数据开发了一款旅游导航Web APP,虽然使用Web APP 框架可以降低开发成本,但是短期内其浏览体验还无法超越原生APP。在诗词软件设计开发方面,冯丽露等[4]基于古诗词学习的特点研发了古诗词记忆与测试APP 系统,并介绍了该系统的设计与实现方法,但该系统对于诗词文化的学习未能寓教于学,还仅限于对诗词信息的整理,用户下载动力较弱。目前针对诗词旅游的软件并不多,张琦等[5]分析了全媒体时代下旅游APP 发展现状,并创造性地将传统诗词文化与旅游深度结合设计了一款APP,但是针对诗词文化部分,用户搜索相关诗词具体操作比较复杂,而且其只利用GPS 技术了实现定位签到功能,并没有实现导航功能。
在诗词旅游潜力巨大的背景下,本文针对目前市场上缺乏能彰显诗词旅游特色的应用软件的问题,设计了一套针对青少年的西湖诗词旅游方案。从技术方面来看,本文使用原生APP 进行开发,引入高德地图帮助用户定位、导航、搜索景点。为提升青少年用户体验,开发了卡通地图定位导航等,使用AR 技术对西湖著名景点进行建模展示,让用户可身临其境地感受西湖之美。从功能方面来看,这是一款将古典诗词与杭州西湖旅游相结合的旅游导航软件,以期让广大青少年在西湖旅游的同时,能够学习到优秀的传统文化知识。
GPS(Global Positioning System)即全球定位系统。GPS在全球的覆盖率高达98%,能够使用低频讯号,纵使天气不佳,仍能保持相当的讯号穿透性,对于高速运动中的对象,也能确定精密的瞬间三维空间坐标、速度矢量和精确授时等信息[6]。GPS 为本旅游导航系统实现精确定位提供了可靠的技术支持。卫星导航系统是覆盖全球的自主定位卫星系统[7],允许小型电子接收器进行定位,例如具备接收功能的Android 手机即可借此获得包括经度、维度与高度在内的位置信息,并能精确到10m 内[8],这为本系统实现精确导航与3D 建筑物可视化提供了有效方案。
高德地图依托导航、航空摄影摄像、数字地图甲级测绘资质及强大的电子地图数据库成为中国数字地图内容、导航和位置服务解决方案的优秀提供商。高德地图依据交通态势数据、POI 数据、公交数据、行政区划数据、天气数据等实时更新地图内容,不断完善地图数据系统,从而方便了地图类APP 产品的维护。
利用“GPS+基站定位+WiFi”的混合定位模式,高德定位SDK 将多种定位技术的亮点加以整合,可无视地理位置差异进行精准定位[9]。在野外,可通过GPS 定位提供的高精度位置信息,同时结合网络提供的辅助信息提高定位精度[10];在市区,可借助基站密集的优势,通过GPS 与基站信号混合的定位方式,实现在复杂户外环境下的精准定位。混合定位模式具有毫秒级响应、无GPS 依赖等优点,为移动APP 实时监控用户移动带来的周围环境变化提供应对措施。
高德地图开放的SDK 基于全面的路网信息,结合精准的实时路况,在多端为用户提供准确的导航服务。除实时导航外,高德地图还可提供模拟导航功能,以及无需起点与终点的智能巡航功能。开放且可靠的API 逐渐成为国内开发者的首选,同时其在线开放的API 文档也方便了本系统的设计与实现。
为实现本软件的导航功能,开发者需要在高德开放平台网站进行注册,申请高德地图开发者key,在项目中生成签名证书申请文件,并在AndroidMainfest.xml 注册程序中进行高德地图的权限授予,之后高德地图才能在安卓手机上显示[11]。
增强现实(Augmented Reality,AR)是一种将真实世界信息与虚拟世界信息进行“无缝”集成的新技术[12],其将原本在现实世界一定时空范围内很难体验到的实体信息(视觉信息、声音、味道、触觉等)通过计算机技术[13]模拟仿真后再进行叠加,将真实环境与虚拟物体实时叠加到同一画面或空间中。将虚拟信息应用于真实世界并被人类感官所感知,从而实现超越现实的感官体验[14]。
如今可复原历史场景、再现著名古建筑物的AR 技术[15]正逐渐成为景区吸引游客、宣传景点、传承文化的手段,因此本系统引入AR 技术对西湖著名景点进行建模。通过3D 模型和实时讲解寓教于学,可提高诗词旅游的趣味性,同时增强软件自身的核心竞争力。
本系统围绕西湖诗词旅游主题,采用C/S 模式,包含Android 系统、Google VR 系统、DumixAR 系统和高德定位导航系统,将西湖特色诗词与高德地图导航相融合,从而实现用户的沉浸式旅游。
客户端基于Android 系统运行的智能手机可实现3D 地图显示、定位、地点查询、导航以及与服务器通信等功能。后台管理系统采用SSM(SpringBoot+SpringMVC+Mybatis)框架结构,耦合度低、复用性高。MySQL 数据库技术存储用户登录注册等方面数据信息,以实现诗词管理、景点管理、通知管理及数据分析等功能。
客户端软件基于模块化思想为用户提供卡通地图、实体地图、在线商城、个人账户管理4 大功能模块,其中卡通地图模块包括景色名称、特色卡片、搜索栏定位;实体地图模块包括实时天气、步行语音导航、史路、诗路、AR 识景;在线商城模块包括课程、热卖产品、西湖小知识;个人账户管理模块包括点赞、收藏、订单。客户端主要功能模块如图1所示。
Fig.1 Main function modules of client图1 客户端主要功能模块
为了贴近目标人群——青少年,分别根据西湖旅游十景(苏堤春晓、曲院风荷、平湖秋月、断桥残雪、柳浪闻莺、花港观鱼、雷峰夕照、双峰插云、南屏晚钟、三潭印月)的特点设计了10 款卡通风格的图标插画[16]。APP 主页使用Android 的相对布局RelativeLayout 实现,单击图标时弹出气泡显示该景点名字(见图2);双击图标时弹出西湖特色景区定制功能卡片(见图3),提供该景点简介、导航、相关诗人介绍和VR 全景观赏功能。
Fig.2 Scenic spot display bubble图2 景点显示气泡图
Fig.3 Scenic spot display card figure图3 景点显示卡片图
本模块实现的功能是利用高德地图进行定位,显示3D地图图层,使用定位蓝点显示旅客当前所处地理位置[17]。点击地图上任意地理位置,显示其地理名称及其与本位置的距离,如图4 所示。利用地图手势传感器,可使自定义控件地图图标的方向指示跟随手机方向进行旋转,实现类似陀螺仪的功能,使得定位及导航更加形象、易懂,如图5 所示。
他是百年家族企业的继承者,是中式调味料品牌的第四代传人。他将父辈“思利及人”的核心理念融入企业管理中,也将慈悲、传承、创新、创业、坚守等宝贵的文化符号注入李锦记的文化血液里。
Fig.4 Other location distance map图4 其他位置距离图
Fig.5 Custom icon rotation map图5 自定义图标旋转图
3.1.1 集成的高德定位及其3D 地图显示板块
编写高德地图激活定位函数activate(OnLocation-ChangedListener listener)继 承com.amap.api.maps.Location-Sourse 接口的方法,程序首先需要设置定位回调监听,在其中设置定位参数,即可显示3D 地图。关键代码如下[18]:
3.1.2 自定义地图定位控件及类似陀螺仪旋转功能
调用高德地图开放接口com.amap.api.location.AmapLocationSListener 即地图的监听器获取经纬度,首次定位时将人所处位置定位在屏幕中央,如果旅客位于雷锋塔附近,则下方底部定位弹窗的TextView 提示内容改成“在雷锋塔景区附近”。之后使用aMap 添加动画监听,通过addMarker方法添加蓝色定位图标,以及addCircle 方法添加定位精度圆,同时引用地图手势传感器旋转定位图标。如果不是首次定位,此时地图缩小显示。如果可以移动地图到定位点,则通过aMap.animateCamera()方法使动画到达定位所处的屏幕中心位。关键代码如下:
本模块实现的功能是在用户搜索导航景点时提示将要搜索的内容,并实时、动态地将高德地图的提示以条目形式列在下方,方便用户前往导航地址,如图6 所示。
Fig.6 Search navigation interface图6 搜索导航界面
调用高德地图搜索提示API,能够对用户在EditText 输入的内容进行提示,并使用ArrayList 对搜索结果进行存储,重写onGetInputtips 方法将搜索结果与mSearchData、RecyclerView、适配器SearchAdapter 相结合,之后将提示内容以列表形式回调出来,效果如图6 所示。关键代码如下:
本模块能够实现步行语音导航功能,选择地图上任意不与起点重复的地点,将弹出底部弹框显示名称与距离,可以选择“路线”按钮进行语音步行导航,如图7 所示。
Fig.7 Pedestrian navigation interface图7 步行导航界面
点击“路线”自定义按钮后,启动Intent 跳转到Walk-RouteNaviActivity 进行语音步行导航[19],同时新建Bundle传递从该页面获取的起点和终点坐标数据。在Walk-RouteNaviActivity 导航活动中先初始化基础地图,再使用前一页面传入的起点和终点值进行路径规划开发,创建导航图层,添加规划好的路线到地图,重写onCalculateRoute-Success 方法,对于规划成功的路线进行回调,展示在手机上并进行语音导航,效果如图7 所示。
WalkRouteNaviActivity 线路规划同时实现步行导航的关键代码如下:
本项目的两个特色板块分别是“史路”和“诗路”。“史路”是以历史诗人为一条线路,讲解该文人与西湖著名景点的渊源并进行景点导航;“诗路”是以诗词地点为一条线路,进行相关景点的旅游导航。由于篇幅有限,本文以“史路”中的“再寻苏轼之旅”和“诗路”中的“第九站:雷锋夕照”路线规划为例,结合VR 虚拟现实技术和AR 增强现实技术进行阐述。
3.4.1 “史路”模块设计与AR 增强现实技术实现
“史路”使用BaseBottomSheetDialog 结合Android 自定义UI:利用卡片式折叠交互CardStackView 技术实现10 张西湖著名历史诗人游览线路卡片的切换效果,如图8 所示。其中,“再寻苏轼之旅”展开后是关于苏轼游览西湖的路线定制,介绍苏轼写下的关于西湖的著名诗词以及苏轼与苏堤的故事,并同时对苏堤进行导航提示。如图9 所示,用户可点击“去苏堤”按钮实现去苏堤的步行导航。
Fig.8 Overview of the history card图8 史路卡片概览图
Fig.9 Expansion of the history card图9 史路卡片展开图
到达苏堤后,用户可对苏堤进行AR 识景操作,查看苏堤的AR 模型,如图10 所示。
Fig.10 Sudi AR preview图10 苏堤AR 预览图
AR 实现技术如下:在DumixAR 开放平台创建试用版的AR 应用,引入编译需要的Framewrok。DuMix AR 需要引入的系统库有libz.tbd、libstdc++.tbd,并需要引入第三方库AFNetworking、ZipArchive对工程进行设置。在Android 工程中设置第三方库的资源路径并初始化SDK,联网后使用DumixAR 回调平台得到的APP Id、AR Key 和Secret Key,根据AR Key 下载AR 的case 内容,并在手机上进行加载。
3.4.2 “诗路”模块设计与VR 虚拟现实技术实现
“诗路”模块根据西湖十景设计了10 条诗词路线,以“第九站:雷峰夕照”路线为例(见图11)进行详细说明。用户可点击图片进入雷锋夕照景区详情介绍界面(见图12),其中包括了地理、人文、诗人及其诗词,用户可对该景点涉及到的诗词文化进行系统学习,还可利用VR 眼镜对雷锋塔景点进行沉浸式观察(见图13)。
调用Google 开源的Vr-sdk 实现西湖十景的360°全景再现,首先使用Google 提供的现实全景图片的View 即Vr-PanoramaView,然后在工程文件中为VrPanoramaView 添加所需的设置Options,并为VrPanoramaView 设置监听事件VrPanoramaEventListener,创建任务ImageLoaderTask传入VR 图片名及设置,使用loadImageFromBitmap 加载本地图片的VR 图片,可展示西湖景点的虚拟真实环境,并具有一定的真实感。关键代码如下:
Fig.11 Study map of shilu tour图11 诗路游览学习界面
Fig.12 Leifeng sunset scenic area details introduction图12 雷锋夕照景区详情介绍界面
Fig.13 Panoramic view of Leifeng sunset VR图13 雷锋夕照VR 全景
在国家越来越重视诗词文化的背景下,本文主要运用Android 开发了一套西湖诗词旅游导航系统,将传统诗词文化与旅游导航相结合,寓教于学,让青少年在诗人所处的西湖美景中感悟诗词的深刻内涵,加深对传统诗词文化精髓的理解,通过高德地图、AR 和VR 技术实现的“史路”与“诗路”培养青少年对诗词文化的兴趣。本系统在诗词文化传播形式上进行了一定创新,在完成Android 移动端APP开发后可向西湖旅游部门进行推荐,以期为文化旅游的推广注入新活力。