一键上传旅途照片生成展示网页的构建

  • 作为一个比较喜欢出去见识世界、看看自然风光的人,这几年有幸跑了一些地方,在祖国大地不同的地方见识了不同的人文风物,手机里也存了不少照片,想着如果以某种方式展现来回忆我的旅途的话,或许会给自己带来不一样的体验。目标口号已经想好:去过的风景,直观丰富地展示你的人生旅途,带来新的回忆感受。在看到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),我使用了高德地图,个人比较喜欢。可用插件有Leaflet.EasyButtonLeaflet.markercluster

代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,697评论 4 61
  • 应县木塔怀古 筹添万木聚梵宫, 恒岳五台一抱中。 百尺浮屠天浩渺, 八方檐马月玲珑。 雕彤剥落胡尘劫, 塔刹合分大...
    孔孟之乡阅读 3,813评论 0 0
  • 设立目标这件事情,在很多时候都能提供动力,让我们在坚持的同时感受到成就和满足。比如说:我今年要瘦20斤、要每周跑三...
    乐之读阅读 12,216评论 245 192
  • 上一章 随着车子的行使,两边的建筑物在逐次向后退去。早春的北京,万物尚未复苏,下午五点,天就已经逐渐暗了下来,伴随...
    董墨冉阅读 3,596评论 5 6

友情链接更多精彩内容