10/18gps模块逻辑整理

tab-control搞定,但是两个月前自己的GPS模块是怎么写的又忘得一干二净,来理一下思路

main-panel模块

研究了一下main-panel里的加载情况

当main-panel被tabctrl激活了以后,mainpanel把subregion信息传递给mainpanel,mainpenal的程序被激活。

总而言之region-panel是获取设备属性信息的第一步,region-panel会把所有设备下的传感器控制器gps控件读取出来并且分类,是最关键的一步。

mainpanel处理subregion信息:

1、生成sensor、controller列表,传递给sensorpanel等。

2、激活实时信息的websockect传输,就是填上valSubject,这就解释了为什么刚打开不点区域的时候gps模块无数据。

sensor的工作

订阅websockect的valSubject,筛选出和自己的值一致的数据,更新。

总的GPS模块

我最初写的gps模块,目的是在一个图里展示这个账号下所有设备的位置信息,如果走mainpanel的话只能获得某一区域的gps

所以这个模块和regionpanel是同级的,都是订阅了websocket的attrSubject来直接获取的。attrSubject是靠regionpanel激活的

gpsService里的活:

先执行getGPSAttrFromWs()生成GPSList,再执行getRealTimeGPSDataFromWs(),筛选出实时信息里gps相关数据,发布到gps订阅号gpsSubject里。

gps-panel组件就干了一件事:

订阅gpsSubject,更新marker列表,marker每个device的都是唯一的,要根据deiviceId更新对应的marker。

新的GPS模块,根据区域显示Marker

1、把region传进gps模块,毕竟这个组件是可以复用的。

2、生成gps列表

3、根据gps列表找valSubject数据,更新自己的marker list

 

 

发现一件事:

public GPSList:GPS[] =[]

一定要赋值赋一个空集才能继续push!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值