一鍵上傳旅途照片生成展示網頁的構建

  • 作為一個比較喜歡出去見識世界、看看自然風光的人,這幾年有幸跑了一些地方,在祖國大地不同的地方見識了不同的人文風物,手機里也存了不少照片,想著如果以某種方式展現來回憶我的旅途的話,或許會給自己帶來不一樣的體驗。目標口號已經想好:去過的風景,直觀豐富地展示你的人生旅途,帶來新的回憶感受。在看到leaflet開源地圖庫時,覺得可以比較簡單地初步實現我的想法。

初步效果

效果圖1 - 60多張照片的效果圖,有部分照片的信息缺失
效果圖2 - 點擊顯示當時的照片
效果圖3 - 可以進一步加入文字描述內容與動態效果

思路

  • 一般手機照片都包含豐富的信息,如拍攝時間等等,而python又有強大的PIL圖像處理庫,使得我們可以輕松解析照片信息。在服務端我們可以使用Django來負責產生簡單的上傳機制,將上傳的圖片放入靜態資源文件夾以提供路由,并且對照片進行解析,獲得的信息利用Django自帶的ORM編寫照片信息模型,存入默認的sqlite3數據庫,十分簡便,然后利用Django-restframework庫將照片信息生成api,方便前端異步獲取。在前端利用leaflet地圖庫生成展示效果,為了以后的開發,采用了vuejs框架,利用vue-resource從api異步get數據,并同步到頁面。
  • 這樣我們使用時便可以方便地一步上傳照片,在地圖上再現我們去過的風景,點擊出現當時的情景。當然直接根據照片只獲得了基本的時間和經緯度信息,進一步我們可以提供提交修改功能,讓用戶自己較為精細地修正地理位置(某些地理位置并不十分準確),并對照片做注解,提交回憶文本,然后一并展示。更進一步是利用時間數據,動態地顯示我們的旅途軌跡,以及自動生成整個人生旅途的動態展示效果。
  • leaflet文檔很詳細豐富,api文檔也很美觀,插件也不少。使用leaflet使用兩三句js語句就可以輕松地產生應用效果。不要對文檔望而生畏,我一開始也嫌煩,懶得看,后來靜下心一看發現很容易上手。在github上還有中文地圖圖層提供商的列表(不需要api key),我使用了高德地圖,個人比較喜歡??捎貌寮?a target="_blank" rel="nofollow">Leaflet.EasyButton、Leaflet.markercluster。

代碼

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,229評論 4 61
  • 應縣木塔懷古 籌添萬木聚梵宮, 恒岳五臺一抱中。 百尺浮屠天浩渺, 八方檐馬月玲瓏。 雕彤剝落胡塵劫, 塔剎合分大...
    孔孟之鄉閱讀 622評論 0 0
  • 設立目標這件事情,在很多時候都能提供動力,讓我們在堅持的同時感受到成就和滿足。比如說:我今年要瘦20斤、要每周跑三...
    樂之讀閱讀 7,624評論 245 192
  • 上一章 隨著車子的行使,兩邊的建筑物在逐次向后退去。早春的北京,萬物尚未復蘇,下午五點,天就已經逐漸暗了下來,伴隨...
    董墨冉閱讀 567評論 5 6