网格化大气监测系统项目总结

近期网格化大气监测系统项目大致功能基本实现,温故而知新,这篇文章用来总结之前的工作。把之前的难点总结一下,逻辑思路流程理一理,能得到不少收获。

项目概述

项目目的

本次项目名称为网格化大气监测系统,主要目的是为了配合实验室的工作开展,把数据在后台页面图表化,简单直接明了。

人员分工

本次项目由软件研发组来完成,其中人员分配如下:

项目经理 ui设计师 前端开发 后端开发
1人 1人 1人 1人

项目详情

设计图

设计图由ui设计师出稿,设计图上传至蓝湖工作平台,由ui设计师和前端开发通过合作交流共同完成。


蓝湖
设计图初稿
涉及技术

前端:Vue.js、JavaScript、HTML、CSS等。
后端:spring boot等。

前端ui框架:为了统一风格以及提升开发效率,本次开发引入了——Element Ui,本次项目中下拉框、按钮、多选框等基本组件都由Element Ui实现。

Element Ui

前端可交互图表框架:本项目采用的是流行于国内的可交互图表框架——ECharts,基本文档API齐全,实用性强。

ECharts

前端可交地图框架:地图框架采用了国内常用的百度地图框架,简洁大方的界面,灵活的组件都是百度地图的优点。

百度地图

功能需求

1.选择相应组织、查询的时间段、空气指标以及对应设备后,echarts图表显示相应的设备指标趋势图、百度地图模块显示当前组织所有设备所在位置以及设备类型并跳转至当前组织设备的地理位置。

2.在勾选轨迹按钮后,判断当前轨迹开关的状态,若为true显示所选设备轨迹、若为false所有轨迹消失。

3.在点击数据校准后,若数据校准开关为true,则获取的后台数据为校准后的数据,若为false则后台返回的数据为未校准的原始数据。

4.当鼠标指向echarts图标的线上,根据对应时间以及设备数据信息在百度地图显示当时设备所处的地理位置。

逻辑思路

由于本人做的是前端模块,就只具体分析下前端代码的逻辑思路。

1、展示数据点位置

1、当鼠标指向echarts图表的折线图上时,地图上显示当前鼠标所指时间对应的地图坐标。
2、坐标位置显示对应echarts折线对应颜色的涟漪点。

方法注释

initEnvShowTip:鼠标放在echarts图标上触发showtip事件,执行createMark方法。
createMark:创建标记(marker),将坐标点集合放入百度地图的option中。
getMarkerData:获取标记的时间、坐标以及名称。
setChartMapCenter:将地图中心设置为当前标记,只执行一次。

流程图
部分代码
getMarkerData
2、显示设备标记

1、当所选条件都满足时,点击确定发送ajax请求。
2、请求获取到当前所选机构的所有设备信息(包括设备类型、设备经纬度)。
3、判断设备类型,显示对应的设备图标。
4、根据经纬度、通过百度地图的方法创建对应图标。

方法注释

getCityDevsMap:当勾选设备、时间段、空气指标以及机构都被勾选时,点击确定按钮开始发送ajax请求(POST),获取当前勾选的设备信息。
showDevMarker:获取到百度bmap实例,将地图中心定位到当前组织中心,地图层级设为12级。
createDevMaker:利用new BMap.Point创建坐标点,设置坐标点的样式,生成坐标点。


流程图
部分代码
createDevMaker
3、显示设备移动轨迹

1、当轨迹开关状态为true时,在满足条件时点击确定按钮,显示当前勾选设备的轨迹。
2、轨迹颜色各不相同,需要区分开来。
3、关闭轨迹开关时,轨迹消失。

方法注释

getDevTrack:通过ajax请求(POST)获取所勾选信息的轨迹信息。
creatTracks:创建轨迹信息,将信息push进bmap的实例option中。

流程图
部分代码
creatTracks

难点

本次项目的难点在于生成轨迹与设备标记等地图覆盖物时的冲突,当生成轨迹时设备标记消失,清空轨迹时设备标记消失等一系列问题。

刨根问底,这一系列问题都是由于百度地图的实例设置option被覆盖、重复叠加或者清空等情况造成的。

通过myechartmap.setOption来更改设置

this.myechartmap.setOption(this.myechartmapOption);

在不想要设置被清空的时候,通过myechartmap.getOption()来获取原有设置

this.myechartmap.getOption();

在弄清问题所在的原因之后,把思路和逻辑理清了,问题就迎刃而解。沉着冷静、细心思考才是解决问题的关键。

总结

通过本次项目的实践,在对于echarts以及百度地图的理解方面有了更深层次的了解。百度地图与echarts结合常用的创建覆盖物等方法已基本掌握,但还需改进,实现出更加完美的效果出来。

要想提高效率,提升自我技术水平才是关键,多熟悉了解JavaScript,把基础打扎实,开发效率事半功倍。

在工作效率方面还需提升,在前后端合作方面我认为有必要规范一下开发流程,在开发的时候经常会遇到一些情况。

例如:

1、接口文档已经更新,而前端在不知道的情况下继续按照以前的接口文档开发,查找问题需要很多时间,在更新文档后应该给相关人员一个消息提示。

2、后台每次调试、更新或者报错,前端无法获取数据继续开发,耽误不少时间。

3、每当出现问题时,前后端都应该查找自己是否出错,而不是互相推卸责任。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容