印象桂林智慧旅游导航小程序设计与实现

2022-11-11 05:57俸思洋范传松张会兵
大众科技 2022年10期
关键词:车位停车场桂林

俸思洋 余 康 范传松 张会兵

印象桂林智慧旅游导航小程序设计与实现

俸思洋 余 康 范传松张会兵

(桂林电子科技大学计算机与信息安全学院,广西 桂林 541004)

随着旅游市场的爆发,智慧旅游逐渐成为一种新的热点。目前市场上的旅游APP众多,基本侧重于简单的导航设计,而对用户和旅游目的实际情况有所忽略,为此设计一款印象桂林智慧旅游导航小程序。首先,阐述小程序的总体架构和客户端结构,对地图实时定位、路线查询、景点信息介绍及智慧预约停车等功能进行介绍;然后结合腾讯地图API及微信小程序开发的相关技术,重点论述路线查询以及智慧景点导览两大板块,将传统导航功能与智慧旅游服务相融合来满足不同用户的个性化旅游体验。

微信小程序;旅游导航;腾讯地图API;智慧旅游

引言

近年来,随着经济社会的快速发展,旅游市场的需求量不断增长[1]。桂林作为一座享誉世界的旅游城市,是许多游客首选的旅游目的地之一。在计算机网络技术快速发展的今天,游客从网络中获取到的旅游信息纷繁复杂,为了给游客提供更好的旅游体验,本文对旅游导航小程序项目进行了研究。

在现有的旅游导航系统中,蔡晓洁等[2]采用Vue.js框架、Java开发后端以及WebSocket协议,通过高德地图API来获取数据并在此基础上开发关于旅游导航的Web APP;聂静静[3]实现了基于Android的手机旅游导航系统,但是其仅仅实现了地图导航,且无法满足与iOS系统的兼容性。虽然使用Web能够更好地降低使用成本,但是存在着地图实时更新速度慢、占用内存高的问题。本文针对上述问题,设计了一款基于微信小程序的桂林特色智慧旅游程序,该程序可同时满足安卓和iOS两大不同系统用户的使用需求,在腾讯地图提供的实时地图导览、地点查询、分享位置等功能接口上,加入多种方式的路线规划、桂林特色景点信息的语音导览和介绍、智能寻找附近停车场并进行实时预约的功能,使广大用户在游玩过程中提高旅游体验。

1 系统设计

1.1 系统总体架构

本系统围绕智慧桂林旅游主题,采用C/S模式,主要业务逻辑使用微信小程序的.js文件来实现,针对外部资源文件以及用来构建视图层的.wxml和.wxss文件,利用MINA开发框架进行打包,从而实现实时更新功能[4]。同时基于腾讯地图导航系统,能够实时获取用户的地理位置和导航信息[5]。

在客户端方面,基于该微信小程序运行的智能手机可实现地图实时显示、定位、地点查询、路线导航、景点信息介绍、车位预约以及与服务器端通信等功能。在服务器端方面,采用MySQL数据库存储用户的登录、注册等方面的信息,同时进行后端操作,对HTML逻辑层次进行结构和分析,以实现对用户数据的分析和管理等功能。

1.2 客户端功能设计

根据系统的架构设计,客户端基于模块化思想设计了主页面、地图导航页面、景点页面以及个人页面四个页面。客户端的页面结构以及对应的模块功能如图1所示。

图1 客户端页面结构图

系统中各个页面及模块之间的切换采用微信小程序中的wx.navigateTo()方法实现,保证页面跳转前后的稳定性与实时性。

地图导航页面由导航定位、路线规划、附近搜索组成。其中,导航定位采用了第三方的地图定位平台,接入腾讯地图API,实现实时定位、地图展示、导航、天气和搜索的功能。系统通过用户IP定位,结合用户输入的导航目的地,调用腾讯地图的微信小程序服务API,即可规划出适合不同交通方式出行下的导航路径,从而进行实时导航。附近搜索提供了用户当前位置周围的公共设施、餐饮服务、娱乐场所等的搜索功能,支持模糊查询,并且与导航功能相结合,为用户提供目的地导航的服务。同时通过本地存储功能能够得到搜索记录,还可以清空搜索历史。

景点页面由热门景点信息介绍和停车场预约组成。(1)热门景点信息介绍:提供桂林市最热门的“十大景点”的相关背景、门票、适宜游玩时间等信息,并提供语音讲解的功能,用户可以在游览景点的同时播放关于景点的介绍[6]。(2)停车场预约:对于每个景点,结合腾讯地图API为自驾用户提供了附近停车场的导航功能,用户可以根据实际情况选择合适的停车场。同时用户可以点击预约按钮进行停车场空闲车位预约,与倪旺[7]设计的停车场预约系统不同的是,本系统通过服务器数据库展示各停车场的空闲车位情况,在用户预约成功后,生成一个二维码作为预约凭证。

个人页面由用户登录验证、个人中心和收藏分享组成。(1)用户登录验证:用户初次使用小程序注册登录时,小程序API中的wx.getUserInfo()方法自动获取用户微信的相关数据信息,系统后台获取到信息后存入后台缓存用作以后用户登录时必备的验证数据,从而保证同一用户再次登录时不用重新验证信息。(2)个人中心:用户可以对账户进行管理,设置有清除后台缓存、帮助中心与反馈、联系工作人员等功能,帮助用户了解系统的相关功能、升级完善系统以及对系统提出改进建议。(3)收藏分享:用户可以根据自身偏好对相关页面进行收藏,并且可以通过分享链接分享给微信好友。

2 关键部分实现

2.1 导航模块

该模块可以根据用户从指定起点到终点的行程方式来提供个性化的导航服务,对于公交导航服务,用户可以自行选择出发的时间以及最快捷、最经济、少换乘、少步行和不坐地铁这五类不同的策略,满足绝大部分用户的需求。小程序会调用腾讯地图API来获取用户所需的导航信息,小程序对其进行整理与加工,为用户展现导航过程中的道路信息与驾车的具体操作信息,公交的车次与对应的过站数量,还有预估的费用、公里数与时间,并进行地图路线的展示。获取驾车导航信息的伪代码如下:

1 //获取腾讯地图API提供的路径信息

2 if(getPathInformation)

3 then

4 steps←Array[pathInformation]

5 for i←0 to steps.length

6 //分离出路径中的具体坐标

7 poLen←Array[steps[i.location]]

8 for j←0 to poLen.length

9 //提取坐标中的经纬度

10 points←(longitude, latitude)

以某酒店作为目的地为例,路线规划以及导航信息如图2和图3所示。

图2 路线规划

图3 导航信息

2.2 景点介绍模块

该模块为用户展示了桂林的十大国家级旅游景区,具体展示了景区的预览图片、评分以及具体的地址信息,在景区的详情页面中,小程序还展示了对应景区的中英文名称、地理位置信息、推荐旅行的时间、景区的看点、开放时间、景区的级别、门票的价格以及景区的简介,用户可以全方位地了解景区的信息,帮助他们更好地选择旅游的景区,还提供了语音播报功能,只需要用户点击对应的文字以及语音播报的按钮就可以播放语音,为一些特殊用户提供贴心的支持。语音播报的伪代码如下:

1 if (selectSentence)

2 then

3 // 计算语音播放时长

4 time ← evaluatePlayTime(sentence.length)

5 // 设置语音为中文

6 language ← "zh_CN"

7 // 将选中的文字转换成语音集

8 audio ← createAudio(time, language, sentence)

9 call play(audio)

2.3 停车位模块

该模块可以根据用户选择的景区来展示附近的停车场信息,小程序会在地图中展示停车场的位置,在停车场的具体页面中,小程序会展示停车场的预览图片、单位小时的价格、停车场的具体位置、总车位以及剩余的车位。小程序还为用户提供了预约车位的功能,用户点击预约车位的按钮后,输入具体的预约车位的信息,就可以进行车位的预约,并显示对应车位的预约码,用户可以自行保存。小程序也提供了停车场导航功能,为用户提供便捷的服务。停车场详情界面及预约界面的伪代码如下:

1 //获取停车场数据

2 totalData←Array[parkinglotInformation]

3 while scenic in totalData

4 //判断景区停车场的位置

5 if (nearScenic)

6 then

7 scenicData←Array[scenic]

8 //将停车场的位置在地图上标出

9 call setLocation(scenicData, mapFile)

10 if (getUserInfo)

11 then

12 //用户预定车位

13 call book(scenicData, userInfo)

以两江四湖停车场为例,附近停车场搜寻展示界面及车位预约功能如图5和图6所示。

图5 附近停车场搜寻

图6 车位预约

3 结束语

在智慧旅游逐渐火热以及桂林旅游业迅猛发展的背景下,本文主要运用微信小程序开发印象桂林智慧旅游导航系统,将智慧旅游与桂林旅游文化相结合,结合腾讯地图API实现了地图导航、景点介绍、停车预约等实用功能,满足不同类型手机用户对旅游导航的使用需求,具有可扩展性和应用性,为智慧旅游地图导航的发展与应用提供了良好的支持,适用于以桂林为旅游目的地的自驾游用户。

[1] 刘冬平. 旅游需求分析[J]. 经济研究导刊,2018(22): 153-154.

[2] 蔡晓洁,陆世明,张子彬,等. 移动端旅游导航 Web APP 的设计[J]. 信息与电脑(理论版),2020,32(3): 57-59.

[3] 聂静静. 基于Android 平台的手机导航系统的设计与实现[D]. 成都: 电子科技大学,2018.

[4] 柳叶. 基于微信小程序的校园导航系统的设计与实现[J]. 测绘与空间地理信息,2021,44(11): 84-86.

[5] Zhang E W, Peng S Y, Zhai Y J. Design and application development of the camps navigation system based on ArcGIS runtime SDK for Android[C]. 2019 IEEE 4th Advanced Information Technology, Electronic and Automation Control Conference, 2019.

[6] 关阳,张徐,苏振. 基于Python数据可视化的国内外游客桂林旅游感知对比分析[J]. 资源开发与市场,2021,37(11): 1380-1387.

[7] 倪旺. 基于微信小程序的车位预约设计[D]. 保定: 河北大学,2020.

Design and Implementation of Impression Guilin Smart Tourism Navigation Mini Program

With the outbreak of the tourism market, smart tourism has gradually become a new hotspot. At present, there are many tourism APPs in the market, which basically focus on simple navigation design, while ignoring the actual situation of users and tourism purposes. Therefore, a mini program for impression Guilin smart tourism navigation is proposed. First, the overall architecture and client structure of the applet are described, and the functions of real-time map positioning, route query, scenic spot information introduction and intelligent parking reservation are introduced; then, combining the relevant technologies of Tencent maps API and WeChat applet development, it focuses on route query and intelligent scenic spot guidance, and integrates traditional navigation functions with intelligent tourism services to meet the personalized tourism experience of different users.

WeChat mini program; tourism navigation; Tencent maps API; smart tourism

TP311.52

A

1008-1151(2022)10-0008-03

2022-08-12

区级大学生创新训练项目(桂林电子科技大学大学生创新创业训练计划项目资助)。

俸思洋(2001-),男,广西桂林人,桂林电子科技大学计算机与信息安全学院学生,研究方向为计算机科学与技术。

张会兵,男,桂林电子科技大学计算机与信息安全学院教授,研究方向为物联网与嵌入式系统。

猜你喜欢
车位停车场桂林
桂林行
为了车位我选择了环保出行
我自己找到一个
停车场寻车管理系统
乐!乘动车,看桂林
一个车位,只停一辆?
PLC在地下停车场排水系统的应用
“8·12”后,何以为家
桂林游
居住桂林很潇洒