赞
踩
问题:在做疫情分析时,疫情点采用cluster动态聚集,对于有肺炎患者的地方,通过overlay的方式显示动态闪烁点,但是由于疫情点是动态聚集的,在不同的级别,聚集点不同,下一次聚集时,有肺炎患者的点被聚集到另一个聚集点中,但是预警闪烁点的位置还在原地,这样就造成预警点不在有肺炎患者的聚集点中。
解决办法:当新出现肺炎患者点,将其加入到聚集图层中,同时添加overlay 预警点,并将肺炎患者点的实际id和位置保存到overlay的属性中。
1、新出现肺炎患者点,将其加入到聚集图层中(这是是加入到数据中,情况图层数据,再统一加载新的数据)
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i];
- var id = row.resourceid;
- var val = row.temperature;
- var region = row.retrievalRegion;
- var pnt = [ row.channelLongitude, row.channelLatitude];
- var fea = new ol.Feature(new ol.geom.Point(pnt))
- fea.setId(id);
- fea.setProperties(row);
- feas.push(fea);
- }
- var sr = this.clusterLyr.getSource().getSource();
- sr.clear();
- sr.addFeatures(feas);//聚类要素展示数据
- sr.refresh();
2、同时添加overlay 预警点,并将肺炎患者点的实际id和位置保
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。