王怡,盧琪玉,楊肖丹,王茜,李鏈純
(華南師范大學(xué)計(jì)算機(jī)學(xué)院,廣州510631)
基于時(shí)空軌跡記錄和情感體驗(yàn)的旅游足跡照片集分享的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
王怡,盧琪玉,楊肖丹,王茜,李鏈純
(華南師范大學(xué)計(jì)算機(jī)學(xué)院,廣州510631)
通過調(diào)用百度地圖的API接口實(shí)現(xiàn)搜索定位功能,用戶可以依次選擇旅游地點(diǎn),并在每個(gè)旅游地點(diǎn)上面添加旅游圖片,并根據(jù)需求對上傳的圖片進(jìn)行圖像處理,添加游記心得體會;當(dāng)所有旅游地點(diǎn)選擇及編輯完畢后,系統(tǒng)將按照旅游時(shí)間的順序自動生成旅游照片集并在地圖上繪制出游客的旅游軌跡。
百度地圖API;圖片處理;軌跡;情感體驗(yàn)
近年來,大眾旅游時(shí)代的市場基礎(chǔ)愈加厚實(shí),越來越多人選擇在假期或者閑暇時(shí)間出行旅游。根據(jù)數(shù)據(jù)顯示,2015年我國旅游總?cè)藬?shù)達(dá)到41.2億人次[1]。而在旅行中,旅游愛好者會沿途拍攝較多的照片,并且記錄所到之處的個(gè)人旅游感受。因此,旅客在旅程結(jié)束之后,通常比較樂意將自己在旅途中拍攝的照片利用圖片處理軟件進(jìn)行處理,并且撰寫修輯自己的旅游心情游記。對于游客個(gè)人來說,旅游軌跡是旅行中很具有個(gè)人特色的信息。但是市面上現(xiàn)存的旅游軌跡記錄軟件多數(shù)是需要在旅行的過程中實(shí)時(shí)記錄軌跡,這樣對于正在旅行的游客來說是較為不方便的。并且,多數(shù)旅游游記分享軟件缺少圖片處理的功能。
因此,本軟件系統(tǒng)將著眼于實(shí)現(xiàn)用戶在旅游過后進(jìn)行旅行軌跡記錄的功能,通過地圖搜索定位與繪制,來記錄用戶旅游的時(shí)空軌跡,提高用戶在旅游過程中的情感體驗(yàn)。用戶只需依次輸入旅游的地點(diǎn),系統(tǒng)會將輸入的地點(diǎn)定位在地圖上,用戶在對應(yīng)的地點(diǎn)上輸入旅游時(shí)間,上傳圖片,根據(jù)需要與當(dāng)時(shí)的旅游心情體會編輯處理圖片,并撰寫游記。當(dāng)所有旅游地點(diǎn)都選定、編輯、上傳完畢后,系統(tǒng)將按照旅游時(shí)間的順序在地圖上繪制出游客的旅游軌跡,給予用戶一種在時(shí)空中連貫穿梭回顧旅程的優(yōu)良情感回顧與體驗(yàn)。
本旅游軌跡記錄的旅游照片集系統(tǒng)是使用An?droid Studio平臺進(jìn)行手機(jī)客戶端的開發(fā),使用Java編程語言來完成系統(tǒng)的實(shí)現(xiàn)。本系統(tǒng)共分為系統(tǒng)管理、旅游軌跡、照片處理、用戶信息四個(gè)功能板塊。該軟件需要在網(wǎng)絡(luò)連接和手機(jī)定位打開的狀態(tài)下使用,使用Bmob移動后端云服務(wù)平臺實(shí)現(xiàn)服務(wù)器和數(shù)據(jù)庫與用戶系統(tǒng)客戶端之間的通信數(shù)據(jù)傳輸。
系統(tǒng)管理模塊為系統(tǒng)利用后臺服務(wù)器與數(shù)據(jù)庫對所有用戶和旅游軌跡數(shù)據(jù)的處理。通過對所有用戶所發(fā)布的旅游軌跡的點(diǎn)贊量與評論數(shù)量進(jìn)行排序,篩選出熱門的旅游軌跡,并推薦給用戶進(jìn)行閱讀。用戶查看熱門推薦軌跡路線時(shí),可進(jìn)行評論與點(diǎn)贊,也查看軌跡發(fā)布者的個(gè)人信息與軌跡路線列表。
圖1 軟件系統(tǒng)功能模塊圖
旅游軌跡模塊為當(dāng)用戶選擇制作旅游相冊軌跡功能時(shí),系統(tǒng)將使用百度地圖API來實(shí)現(xiàn)地圖的繪制與顯示。用戶輸入旅游地點(diǎn)之后,系統(tǒng)將通過地圖搜索定位功能,在地圖上顯示所有符合條件的地點(diǎn),用戶可進(jìn)行地點(diǎn)的選擇,并對該地點(diǎn)添加對應(yīng)的旅游時(shí)間,相關(guān)照片以及旅游游記。當(dāng)用戶完成所有旅游地點(diǎn)的詳細(xì)信息編輯后,所有的信息將上傳到服務(wù)器,系統(tǒng)將根據(jù)時(shí)間的順序生成旅游照片集并將所有的旅游地點(diǎn)連成一條旅游軌跡。用戶可點(diǎn)擊軌跡上的每個(gè)具體旅游點(diǎn),回顧體驗(yàn)該旅程的照片美景以及旅游心情。
照片處理模塊為當(dāng)用戶在制作旅游軌跡路線過程中,選擇旅游地點(diǎn)后,實(shí)現(xiàn)本地照片加載、圖片選擇、照片處理與圖片上傳的功能。其中,圖片處理功能包括圖片裁剪與旋轉(zhuǎn),添加濾鏡、文字、貼圖等基礎(chǔ)圖片處理功能。
用戶信息模塊為用戶注冊、登錄、個(gè)人信息編輯的管理,以及當(dāng)用戶給其他用戶點(diǎn)贊與評論時(shí)的系統(tǒng)處理工作。
系統(tǒng)操作流程設(shè)計(jì)如圖2所示。
為方便用戶的使用,軟件主界面設(shè)計(jì)采用了frag?ment和radiobutton結(jié)合的形式,包括熱門旅游軌跡推薦,軌跡搜索,個(gè)人軌跡制作,個(gè)人資料四個(gè)界面。當(dāng)用戶點(diǎn)擊不同的radiobutton時(shí),系統(tǒng)在主界面的Activ?ity中加載對應(yīng)的界面,當(dāng)用戶進(jìn)入不同的fragment中實(shí)現(xiàn)各功能的操作時(shí),系統(tǒng)將實(shí)現(xiàn)不同Activity之間的跳轉(zhuǎn),其中包含了Activity的銷毀、喚醒等的處理。
圖2 系統(tǒng)操作流程圖
本系統(tǒng)的特點(diǎn)在于注重用戶在旅游過程后的時(shí)空軌跡記錄與情感體驗(yàn)。用戶可在旅游結(jié)束之后,利用本軟件記錄個(gè)人的旅游照片與心情。系統(tǒng)會根據(jù)用戶旅游的時(shí)間順序生成旅游照片集以及旅程軌跡?;诖斯δ?,用戶除了可以回顧某個(gè)自己所到旅游地點(diǎn)的照片美景以及旅游心得之外,還能夠?yàn)g覽自己整個(gè)旅程所有旅行地點(diǎn)所連成的足跡軌跡。從北到南,從西往東的旅行軌跡不僅能夠增強(qiáng)用戶對旅程的連貫性回顧及憶想,還能夠升華旅客對于旅行的成就感與榮譽(yù)感。
而且本軟件的主色調(diào)采用了淡藍(lán)色色調(diào)。淡藍(lán)色可以象征廣闊無際的天空與海洋,寓意著旅行永無止境,世界有多大,旅行的腳步及軌跡就有多遠(yuǎn)。并且淡藍(lán)色的色調(diào)會給用戶帶來明朗、清新、安詳文藝的視覺體驗(yàn)。
(1)照片處理
①本地圖片選擇器
本系統(tǒng)的本地圖片選擇器是仿照微信圖片選擇器,首先利用ContentProvider掃描手機(jī)中的所有圖片,然后異步掃描出本地圖庫中帶有jpeg,png后綴的文件,記錄下圖片的路徑,以便在gridview中顯示圖片;由于多張圖片加載存在一定的等待時(shí)間,因此加載圖片的imageadapter類要實(shí)現(xiàn)兩個(gè)條件:一是防止內(nèi)存溢出,調(diào)用chosepiture.getInstance()方法,利用圖片的大小來對其進(jìn)行壓縮,并且利用緩存機(jī)制避免多次加載的等待時(shí)間;二是用戶操作UI控件必須充分的流暢,在imageadapter類中的getView()方法需要使用異步加載、回調(diào)顯示。
除了gridview顯示外,還需要選擇不同文件夾要用到的彈窗ListImageDirPopupWindow類,通過在initEvent()方法實(shí)現(xiàn)該彈窗點(diǎn)擊的響應(yīng)事件,跳轉(zhuǎn)到對應(yīng)文件夾下。
②圖片編輯
本系統(tǒng)的圖片編輯調(diào)用了github上imageeditli?brary開源項(xiàng)目,該項(xiàng)目提供了圖片編輯所需要的剪切、旋轉(zhuǎn)、添加表情貼圖、文字編輯。通過intent.putExtra(EditImageActivity.FILE_PATH,picurl[i])方法將選中的圖片路徑傳入imageeditlibrary中的EditImageActivity編輯類中。
(1)地圖軌跡記錄
●地點(diǎn)搜索定位及覆蓋物點(diǎn)擊彈出式動畫效果的實(shí)現(xiàn)過程
在使用百度地圖免費(fèi)API接口提供的各種功能之前,先要在百度地圖官網(wǎng)申請一個(gè)百度地圖開發(fā)密鑰,才能在程序中使用百度地圖提供的地圖服務(wù)、定位服務(wù)及數(shù)據(jù)服務(wù)等。
android:name="com.baidu.lbsapi.API_KEY"
android:value="XWrY1eZmuEPpDaiP79d7zD9YhkT ?vWjU5"
/>
①覆蓋物點(diǎn)擊事件彈出式動畫效果當(dāng)用戶點(diǎn)擊地點(diǎn)上的紅色覆蓋物標(biāo)識時(shí),會從底端彈出一個(gè)對應(yīng)于封裝好的bottomview的布局顯示效果,該布局所對應(yīng)的activity類bottomview將全部布局封裝好,只需要在另一個(gè)地圖主模塊Myactivity中利用接口實(shí)現(xiàn)對布局的相應(yīng)響應(yīng)動作。彈出動畫的效果如下圖4所示。
②圖片輪播模塊
該圖片輪播模塊將用戶選擇并完成編輯的照片上傳到服務(wù)器端后,進(jìn)行一一地輪流播放。通過設(shè)置相應(yīng)適合的輪播間隔時(shí)間,讓用戶欣賞該旅游地點(diǎn)的相關(guān)圖片,帶來良好的視覺感受。添加圖片集合至輪播區(qū)域的部分代碼如下:
private ViewFlipper viewFlipper;
//添加圖片至ViewFlipper
public void addViewToViewFillper(List viewFlipper.addView(views.get(i),new View?Group.LayoutParams(ViewGroup.LayoutParams.MATCH_PAR?ENT,ViewGroup.LayoutParams.MATCH_PARENT)); } } ●旅游路線的軌跡形成實(shí)現(xiàn) 系統(tǒng)使用百度地圖的API接口函數(shù)來實(shí)現(xiàn)軌跡點(diǎn)覆蓋物的標(biāo)識及其多個(gè)點(diǎn)之間的連線,按照用戶編輯的旅游時(shí)間順序來形成旅游軌跡,形成效果如圖5所示。 ①軌跡中對應(yīng)覆蓋物的紅色marker點(diǎn)擊事件的處理,采用與上述相同的彈出式效果,具體的響應(yīng)事件onMarkerClick()部分代碼如下: Bundle extraInfo=arg0.getExtraInfo(); Info info=(Info)extraInfo.getSerializable("info"); final LatLng latLng=arg0.getPosition(); //將經(jīng)緯度轉(zhuǎn)換成屏幕上的點(diǎn) Pointpoint=bdMap.getProjection ().toScreenLocation(latLng); point.y-=47; LatLngll=bdMap.getProjection().fromScreenLocation(point);Toast.makeText(AddOverlayActivity.this,latLng.toString(),Toast.LENGTH_SHORT).show ();bottomView.setVisibility(View.VISIBLE); TranslateAnimationanimation=(TranslateAnimation)Ani?mationUtils.loadAnimation(AddOverlayActivity.this,R.anim.an?im_show);bottomView.startAnimation(animation); ②兩個(gè)地理位置點(diǎn)之間的連線 系統(tǒng)通過調(diào)用百度地圖的接口函數(shù)addOverlay(polylinewOptions)來實(shí)現(xiàn)多個(gè)經(jīng)緯度點(diǎn)的連線。引用百度地圖的添加折線監(jiān)聽回調(diào)PolylineOptions,將多個(gè)經(jīng)緯度點(diǎn)從服務(wù)器端獲取,保存至points的list集合中。部分代碼的設(shè)置如下: PolylineOptions polylineOptions=new PolylineOptions(); polylineOptions.points(points); polylineOptions.color(0xFF000000); polylineOptions.width(6);//折線線寬 bdMap.addOverlay(polylineOptions); 圖3 圖4 圖5 本文設(shè)計(jì)和開發(fā)了基于Android平臺上的旅游足跡記錄與照片分享App,為廣大用戶提供一個(gè)可在旅游過后隨時(shí)記錄旅游照片與軌跡的平臺。這是一款集獲取、分享、記錄的App。 用戶除了可瀏覽熱門推薦的旅游軌跡還可根據(jù)旅游地點(diǎn)進(jìn)行相關(guān)搜索,并于從中獲取自己想要的旅游推薦及信息。 用戶可隨心隨意編輯上傳自己旅行的照片以及游記,除了自我表達(dá)抒發(fā)情感之外還能夠供他人瀏覽以及分享。 系統(tǒng)自動生成的照片集以及軌跡記錄了用戶連貫的旅程足跡,更好地促進(jìn)用戶旅行情感體驗(yàn)及升華。 當(dāng)然,本系統(tǒng)還存在很多不足之處需要在后續(xù)推廣中進(jìn)行進(jìn)一步的完善。 [1]胡亞會.“互聯(lián)網(wǎng)+”發(fā)展戰(zhàn)略背景下我國旅游業(yè)發(fā)展的再思考.遼寧:旅游縱覽周刊,2015. Abstract: By referencing the Baidu map API interface,realizes the orientating function.The user can select their tourist destinations and upload their photos.According their needs,the user also can manipulate the photos and write down the travel experienc?es;when finishing choosing and editing all the tourist destinations,the system automatically produces the travel photo galler?ies and record the travel track in line with the order of time. Keywords: Baidu Map API;Photo Manipulating;Trajectory;Emotional Experience Design and Implementation of the Tourism Photo Gallery System Based on Track Record of Time and Space and Emotional Experiences WANG Yi,LU Qi-yu,YANG Xiao-dan,WANG Xi,LI Lian-chun 2017-03-21 2017-06-01 1007-1423(2017)18-0075-05 10.3969/j.issn.1007-1423.2017.18.018 大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目訓(xùn)練計(jì)劃項(xiàng)目 王怡(1995-),女,廣東湛江人,華南師范大學(xué)本科在讀,學(xué)生,研究方向?yàn)檐浖こ?/p> 盧琪玉(1995-),女,廣東梅州人,華南師范大學(xué)本科在讀,學(xué)生,研究方向?yàn)榫W(wǎng)絡(luò)工程 楊肖丹(1995-),女,廣東梅州人,華南師范大學(xué)本科在讀,學(xué)生,研究方向?yàn)閿?shù)據(jù)庫 王茜(1996-),女,湖南省常德人,華南師范大學(xué)本科在讀,學(xué)生,研究方向?yàn)榫W(wǎng)絡(luò)工程 李鏈純(1995-),女,廣東潮安人,華南師范大學(xué)本科在讀,學(xué)生,研究方向?yàn)檐浖こ?/p>3 結(jié)語
(College of Computer Science,South China Normal University,Guangzhou 510631)