俸思洋 余 康 范傳松 張會兵
印象桂林智慧旅游導航小程序設計與實現(xiàn)
俸思洋 余 康 范傳松張會兵
(桂林電子科技大學計算機與信息安全學院,廣西 桂林 541004)
隨著旅游市場的爆發(fā),智慧旅游逐漸成為一種新的熱點。目前市場上的旅游APP眾多,基本側重于簡單的導航設計,而對用戶和旅游目的實際情況有所忽略,為此設計一款印象桂林智慧旅游導航小程序。首先,闡述小程序的總體架構和客戶端結構,對地圖實時定位、路線查詢、景點信息介紹及智慧預約停車等功能進行介紹;然后結合騰訊地圖API及微信小程序開發(fā)的相關技術,重點論述路線查詢以及智慧景點導覽兩大板塊,將傳統(tǒng)導航功能與智慧旅游服務相融合來滿足不同用戶的個性化旅游體驗。
微信小程序;旅游導航;騰訊地圖API;智慧旅游
近年來,隨著經(jīng)濟社會的快速發(fā)展,旅游市場的需求量不斷增長[1]。桂林作為一座享譽世界的旅游城市,是許多游客首選的旅游目的地之一。在計算機網(wǎng)絡技術快速發(fā)展的今天,游客從網(wǎng)絡中獲取到的旅游信息紛繁復雜,為了給游客提供更好的旅游體驗,本文對旅游導航小程序項目進行了研究。
在現(xiàn)有的旅游導航系統(tǒng)中,蔡曉潔等[2]采用Vue.js框架、Java開發(fā)后端以及WebSocket協(xié)議,通過高德地圖API來獲取數(shù)據(jù)并在此基礎上開發(fā)關于旅游導航的Web APP;聶靜靜[3]實現(xiàn)了基于Android的手機旅游導航系統(tǒng),但是其僅僅實現(xiàn)了地圖導航,且無法滿足與iOS系統(tǒng)的兼容性。雖然使用Web能夠更好地降低使用成本,但是存在著地圖實時更新速度慢、占用內(nèi)存高的問題。本文針對上述問題,設計了一款基于微信小程序的桂林特色智慧旅游程序,該程序可同時滿足安卓和iOS兩大不同系統(tǒng)用戶的使用需求,在騰訊地圖提供的實時地圖導覽、地點查詢、分享位置等功能接口上,加入多種方式的路線規(guī)劃、桂林特色景點信息的語音導覽和介紹、智能尋找附近停車場并進行實時預約的功能,使廣大用戶在游玩過程中提高旅游體驗。
本系統(tǒng)圍繞智慧桂林旅游主題,采用C/S模式,主要業(yè)務邏輯使用微信小程序的.js文件來實現(xiàn),針對外部資源文件以及用來構建視圖層的.wxml和.wxss文件,利用MINA開發(fā)框架進行打包,從而實現(xiàn)實時更新功能[4]。同時基于騰訊地圖導航系統(tǒng),能夠實時獲取用戶的地理位置和導航信息[5]。
在客戶端方面,基于該微信小程序運行的智能手機可實現(xiàn)地圖實時顯示、定位、地點查詢、路線導航、景點信息介紹、車位預約以及與服務器端通信等功能。在服務器端方面,采用MySQL數(shù)據(jù)庫存儲用戶的登錄、注冊等方面的信息,同時進行后端操作,對HTML邏輯層次進行結構和分析,以實現(xiàn)對用戶數(shù)據(jù)的分析和管理等功能。
根據(jù)系統(tǒng)的架構設計,客戶端基于模塊化思想設計了主頁面、地圖導航頁面、景點頁面以及個人頁面四個頁面。客戶端的頁面結構以及對應的模塊功能如圖1所示。
圖1 客戶端頁面結構圖
系統(tǒng)中各個頁面及模塊之間的切換采用微信小程序中的wx.navigateTo()方法實現(xiàn),保證頁面跳轉前后的穩(wěn)定性與實時性。
地圖導航頁面由導航定位、路線規(guī)劃、附近搜索組成。其中,導航定位采用了第三方的地圖定位平臺,接入騰訊地圖API,實現(xiàn)實時定位、地圖展示、導航、天氣和搜索的功能。系統(tǒng)通過用戶IP定位,結合用戶輸入的導航目的地,調用騰訊地圖的微信小程序服務API,即可規(guī)劃出適合不同交通方式出行下的導航路徑,從而進行實時導航。附近搜索提供了用戶當前位置周圍的公共設施、餐飲服務、娛樂場所等的搜索功能,支持模糊查詢,并且與導航功能相結合,為用戶提供目的地導航的服務。同時通過本地存儲功能能夠得到搜索記錄,還可以清空搜索歷史。
景點頁面由熱門景點信息介紹和停車場預約組成。(1)熱門景點信息介紹:提供桂林市最熱門的“十大景點”的相關背景、門票、適宜游玩時間等信息,并提供語音講解的功能,用戶可以在游覽景點的同時播放關于景點的介紹[6]。(2)停車場預約:對于每個景點,結合騰訊地圖API為自駕用戶提供了附近停車場的導航功能,用戶可以根據(jù)實際情況選擇合適的停車場。同時用戶可以點擊預約按鈕進行停車場空閑車位預約,與倪旺[7]設計的停車場預約系統(tǒng)不同的是,本系統(tǒng)通過服務器數(shù)據(jù)庫展示各停車場的空閑車位情況,在用戶預約成功后,生成一個二維碼作為預約憑證。
個人頁面由用戶登錄驗證、個人中心和收藏分享組成。(1)用戶登錄驗證:用戶初次使用小程序注冊登錄時,小程序API中的wx.getUserInfo()方法自動獲取用戶微信的相關數(shù)據(jù)信息,系統(tǒng)后臺獲取到信息后存入后臺緩存用作以后用戶登錄時必備的驗證數(shù)據(jù),從而保證同一用戶再次登錄時不用重新驗證信息。(2)個人中心:用戶可以對賬戶進行管理,設置有清除后臺緩存、幫助中心與反饋、聯(lián)系工作人員等功能,幫助用戶了解系統(tǒng)的相關功能、升級完善系統(tǒng)以及對系統(tǒng)提出改進建議。(3)收藏分享:用戶可以根據(jù)自身偏好對相關頁面進行收藏,并且可以通過分享鏈接分享給微信好友。
該模塊可以根據(jù)用戶從指定起點到終點的行程方式來提供個性化的導航服務,對于公交導航服務,用戶可以自行選擇出發(fā)的時間以及最快捷、最經(jīng)濟、少換乘、少步行和不坐地鐵這五類不同的策略,滿足絕大部分用戶的需求。小程序會調用騰訊地圖API來獲取用戶所需的導航信息,小程序對其進行整理與加工,為用戶展現(xiàn)導航過程中的道路信息與駕車的具體操作信息,公交的車次與對應的過站數(shù)量,還有預估的費用、公里數(shù)與時間,并進行地圖路線的展示。獲取駕車導航信息的偽代碼如下:
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 //提取坐標中的經(jīng)緯度
10 points←(longitude, latitude)
以某酒店作為目的地為例,路線規(guī)劃以及導航信息如圖2和圖3所示。
圖2 路線規(guī)劃
圖3 導航信息
該模塊為用戶展示了桂林的十大國家級旅游景區(qū),具體展示了景區(qū)的預覽圖片、評分以及具體的地址信息,在景區(qū)的詳情頁面中,小程序還展示了對應景區(qū)的中英文名稱、地理位置信息、推薦旅行的時間、景區(qū)的看點、開放時間、景區(qū)的級別、門票的價格以及景區(qū)的簡介,用戶可以全方位地了解景區(qū)的信息,幫助他們更好地選擇旅游的景區(qū),還提供了語音播報功能,只需要用戶點擊對應的文字以及語音播報的按鈕就可以播放語音,為一些特殊用戶提供貼心的支持。語音播報的偽代碼如下:
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)
該模塊可以根據(jù)用戶選擇的景區(qū)來展示附近的停車場信息,小程序會在地圖中展示停車場的位置,在停車場的具體頁面中,小程序會展示停車場的預覽圖片、單位小時的價格、停車場的具體位置、總車位以及剩余的車位。小程序還為用戶提供了預約車位的功能,用戶點擊預約車位的按鈕后,輸入具體的預約車位的信息,就可以進行車位的預約,并顯示對應車位的預約碼,用戶可以自行保存。小程序也提供了停車場導航功能,為用戶提供便捷的服務。停車場詳情界面及預約界面的偽代碼如下:
1 //獲取停車場數(shù)據(jù)
2 totalData←Array[parkinglotInformation]
3 while scenic in totalData
4 //判斷景區(qū)停車場的位置
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 車位預約
在智慧旅游逐漸火熱以及桂林旅游業(yè)迅猛發(fā)展的背景下,本文主要運用微信小程序開發(fā)印象桂林智慧旅游導航系統(tǒng),將智慧旅游與桂林旅游文化相結合,結合騰訊地圖API實現(xiàn)了地圖導航、景點介紹、停車預約等實用功能,滿足不同類型手機用戶對旅游導航的使用需求,具有可擴展性和應用性,為智慧旅游地圖導航的發(fā)展與應用提供了良好的支持,適用于以桂林為旅游目的地的自駕游用戶。
[1] 劉冬平. 旅游需求分析[J]. 經(jīng)濟研究導刊,2018(22): 153-154.
[2] 蔡曉潔,陸世明,張子彬,等. 移動端旅游導航 Web APP 的設計[J]. 信息與電腦(理論版),2020,32(3): 57-59.
[3] 聶靜靜. 基于Android 平臺的手機導航系統(tǒng)的設計與實現(xiàn)[D]. 成都: 電子科技大學,2018.
[4] 柳葉. 基于微信小程序的校園導航系統(tǒng)的設計與實現(xiàn)[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數(shù)據(jù)可視化的國內(nèi)外游客桂林旅游感知對比分析[J]. 資源開發(fā)與市場,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
區(qū)級大學生創(chuàng)新訓練項目(桂林電子科技大學大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目資助)。
俸思洋(2001-),男,廣西桂林人,桂林電子科技大學計算機與信息安全學院學生,研究方向為計算機科學與技術。
張會兵,男,桂林電子科技大學計算機與信息安全學院教授,研究方向為物聯(lián)網(wǎng)與嵌入式系統(tǒng)。