From e2ed7cb4ef578d970beca80aea4903e9b13cd1f8 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 23 Apr 2021 17:21:40 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jfpt-Vue
---
public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js | 260 ++++++++++++++++++++++++++-------------------------
1 files changed, 134 insertions(+), 126 deletions(-)
diff --git a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
index 6594849..b231345 100644
--- a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
+++ b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
@@ -230,7 +230,7 @@
// return value;
// }
// );
-
+
var as = evt.graphic.attributes;
for (let key in as) {
if (typeof as[key] == 'object') {
@@ -251,7 +251,7 @@
// console.log(cache);
cache = null;
- var fCard = (posi, setdata,winSize) => { // 弹窗函数
+ var fCard = (posi, setdata, winSize) => { // 弹窗函数
var that = this,
url = './popup/html/FlareClusterLayer_v3.html',
clickD = null,
@@ -266,103 +266,103 @@
});
that.layuiLayer.close(that.layuiLayer.index);
// layer.alert('layer 新皮肤');
- // that.layuiLayer.open({
- // title: '',
- // type: 2,
- // shadeClose: false,
- // shade: false,
- // skin: 'demo-class',
- // // id: 'onelyOne',
- // maxmin: false, //开启最大化最小化按钮
- // area: ['200px', '75px'],
- // // area: 'auto',
- // offset: posi,
- // skin: 'flare',
- // closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭
- // content: [url, 'no'],
- // resize: false,
- // scrollbar: false,
- // // tipsMore: true, //允许多个tipe
- // // content: num,
- // success: function (layero, index) {//成功后添加全局点击关闭
- // // console.log(evt.graphic.attributes);
- // $("#layui-layer-iframe" + index).contents().find("#input1").val(setdata);
- // // console.log(layero, index);
- // that.indexs = index;
+ // that.layuiLayer.open({
+ // title: '',
+ // type: 2,
+ // shadeClose: false,
+ // shade: false,
+ // skin: 'demo-class',
+ // // id: 'onelyOne',
+ // maxmin: false, //开启最大化最小化按钮
+ // area: ['200px', '75px'],
+ // // area: 'auto',
+ // offset: posi,
+ // skin: 'flare',
+ // closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭
+ // content: [url, 'no'],
+ // resize: false,
+ // scrollbar: false,
+ // // tipsMore: true, //允许多个tipe
+ // // content: num,
+ // success: function (layero, index) {//成功后添加全局点击关闭
+ // // console.log(evt.graphic.attributes);
+ // $("#layui-layer-iframe" + index).contents().find("#input1").val(setdata);
+ // // console.log(layero, index);
+ // that.indexs = index;
- // var isclickD = true
- // , endx = null
- // , endy = null;
- // layero[0].style.position = 'absolute';
+ // var isclickD = true
+ // , endx = null
+ // , endy = null;
+ // layero[0].style.position = 'absolute';
- // downs = document.onmousedown = () => { //鼠标按下事件
- // // console.log('down');//start
- // // downs = document.onmousedown = null;
- // var mx = window.event.clientX//鼠标初始位置
- // , my = window.event.clientY
- // , cx = this.offset[1].replace("px", "")//初始位置
- // , cy = this.offset[0].replace("px", "");
+ // downs = document.onmousedown = () => { //鼠标按下事件
+ // // console.log('down');//start
+ // // downs = document.onmousedown = null;
+ // var mx = window.event.clientX//鼠标初始位置
+ // , my = window.event.clientY
+ // , cx = this.offset[1].replace("px", "")//初始位置
+ // , cy = this.offset[0].replace("px", "");
- // //判断鼠标是否在地图上
- // // console.log(mx,'+',my);
- // if (mx > 359 && mx < 1543 && my > 5 && my < 818) {
- // // console.log('on map')
- // if (endx != null && endy != null) {
- // cx = endx;
- // cy = endy;
- // }
- // moves = document.onmousemove = () => {//鼠标移动事件
- // // console.log('move');//move
- // // console.log(this.offset)
- // var ux = window.event.clientX//记录实时位置
- // , uy = window.event.clientY;
- // endx = +cx + (ux - mx)// 初始位置+(鼠标初始位置-实时位置)
- // endy = +cy + (uy - my);
- // layero[0].style.left = endx + 'px';
- // layero[0].style.top = endy + 'px';
- // // console.log(+cx, +cy,'初始位置');
- // // console.log(mx, my,'鼠标初始位置');
- // // console.log(ux, uy,'记录实时位置');
- // // console.log(ux, uy,'最后位置');
- // isclickD = false;
- // ups = document.onmouseup = () => {//鼠标抬起事件
- // // console.log('up');//end
- // // downs = document.onmousedown = null;
- // moves = document.onmousemove = null;
- // ups = document.onmouseup = null;
- // var timess = setTimeout(() => {
- // clearTimeout(timess);
- // timess = null;
- // isclickD = true;
- // }, 1);
- // }
- // }
- // }
- // }
- // clickD = document.onclick = () => {
- // if (isclickD) {
- // parent[0].layer.close(index);
- // parent[0].layer.close(+index + 1);
- // // parent[0].layer.closeAll();
- // // console.log(111111111111)
- // clickD = document.onclick = null;
- // }
- // }
+ // //判断鼠标是否在地图上
+ // // console.log(mx,'+',my);
+ // if (mx > 359 && mx < 1543 && my > 5 && my < 818) {
+ // // console.log('on map')
+ // if (endx != null && endy != null) {
+ // cx = endx;
+ // cy = endy;
+ // }
+ // moves = document.onmousemove = () => {//鼠标移动事件
+ // // console.log('move');//move
+ // // console.log(this.offset)
+ // var ux = window.event.clientX//记录实时位置
+ // , uy = window.event.clientY;
+ // endx = +cx + (ux - mx)// 初始位置+(鼠标初始位置-实时位置)
+ // endy = +cy + (uy - my);
+ // layero[0].style.left = endx + 'px';
+ // layero[0].style.top = endy + 'px';
+ // // console.log(+cx, +cy,'初始位置');
+ // // console.log(mx, my,'鼠标初始位置');
+ // // console.log(ux, uy,'记录实时位置');
+ // // console.log(ux, uy,'最后位置');
+ // isclickD = false;
+ // ups = document.onmouseup = () => {//鼠标抬起事件
+ // // console.log('up');//end
+ // // downs = document.onmousedown = null;
+ // moves = document.onmousemove = null;
+ // ups = document.onmouseup = null;
+ // var timess = setTimeout(() => {
+ // clearTimeout(timess);
+ // timess = null;
+ // isclickD = true;
+ // }, 1);
+ // }
+ // }
+ // }
+ // }
+ // clickD = document.onclick = () => {
+ // if (isclickD) {
+ // parent[0].layer.close(index);
+ // parent[0].layer.close(+index + 1);
+ // // parent[0].layer.closeAll();
+ // // console.log(111111111111)
+ // clickD = document.onclick = null;
+ // }
+ // }
- // var mouseWheel = that.map.on("mouse-wheel", myMouseWheelHandler);
+ // var mouseWheel = that.map.on("mouse-wheel", myMouseWheelHandler);
- // function myMouseWheelHandler(event) {
- // // console.log("Mouse wheel value = " + event.value);
- // parent[0].layer.close(index);
- // parent[0].layer.close(+index + 1);
- // mouseWheel.remove();
- // }
+ // function myMouseWheelHandler(event) {
+ // // console.log("Mouse wheel value = " + event.value);
+ // parent[0].layer.close(index);
+ // parent[0].layer.close(+index + 1);
+ // mouseWheel.remove();
+ // }
- // },
- // end: function () { //关闭事件
+ // },
+ // end: function () { //关闭事件
- // }
- // });
+ // }
+ // });
// that.layuiLayer.open({ //第二个iframe
// title: '',
// type: 2,
@@ -433,11 +433,11 @@
// console.log(evt.screenY);
var winSize = [+window.innerHeight / 2 - 242 + 'px', +window.innerWidth - 380 + 'px']
// console.log(winSize,4454645634536);
- fCard(offsetMy, setdata,winSize);
+ fCard(offsetMy, setdata, winSize);
mySelf.onceTimeMethod = setTimeout(() => {
mySelf.onceTimeMethod = null;
}, mySelf.onceTime);
- } else {};
+ } else { };
} else {
// var taxLotExtent = evt.graphic.geometry.getExtent();
@@ -784,8 +784,9 @@
},
_clusterData: function () {
-
+ //此函数当前仅适用于不使用预聚集数据的情况
//this function currently only applies if not using preclustered data
+ // console.log('改变111111111111111')
if (this.preClustered) {
return;
}
@@ -871,9 +872,10 @@
cl.singles.push(obj);
}
}
-
for (i = 0, len = this.gridClusters.length; i < len; i++) {
if (this.gridClusters[i].clusterCount === 1) {
+// console.log(this.gridClusters)
+
this._createSingle(this.gridClusters[i].singles[0]);
} else if (this.gridClusters[i].clusterCount > 0) {
this._createCluster(this.gridClusters[i]);
@@ -929,15 +931,21 @@
this.singles.push(single);
delete single.graphic;
var symbol;
- if (single.jtype == 1) {
- symbol = new esri.symbol.PictureMarkerSymbol("./images/yj-jingbao.png", 40, 40);
+ // console.log(single.state);
+ if (single.state != '') {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/by-jingbao.png", 40, 40);
} else {
- if (single.onlineStatus == 1) {
- symbol = new esri.symbol.PictureMarkerSymbol("./images/zx-jingbao.png", 40, 40);
+ if (single.jtype == 1) {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/yj-jingbao.png", 40, 40);
} else {
- symbol = new esri.symbol.PictureMarkerSymbol("./images/dx-jingbao.png", 40, 40);
+ if (single.onlineStatus == 1) {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/zx-jingbao.png", 40, 40);
+ } else {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/dx-jingbao.png", 40, 40);
+ }
}
}
+
var point = new Point(single[this.xPropertyName], single[this.yPropertyName], this.spatialRef);
var attributes = lang.clone(single);
@@ -1031,11 +1039,11 @@
//add a text element for the label to display the count and add to the group
var shapeCenter = this._getShapeCenter(cluster.graphicShape);
var textShape = groupShape.createText({
- x: shapeCenter.x,
- y: shapeCenter.y + (this.textSymbol.font.size / 2 - 2),
- text: cluster.clusterCount,
- align: 'middle'
- })
+ x: shapeCenter.x,
+ y: shapeCenter.y + (this.textSymbol.font.size / 2 - 2),
+ text: cluster.clusterCount,
+ align: 'middle'
+ })
.setFont({
size: this.textSymbol.font.size,
family: this.textSymbol.font.family,
@@ -1159,10 +1167,10 @@
//create a transparent circle that contains the boundary of the flares, this is to make sure the mouse events don't fire moving in between flares
var conCircleRadius = (center.x - (bbox.x - radius - buffer)) + radius; //get the radius of the circle to contain everything
var containerCircle = groupShape.createCircle({
- cx: center.x,
- cy: center.y,
- r: conCircleRadius
- })
+ cx: center.x,
+ cy: center.y,
+ r: conCircleRadius
+ })
//.setStroke({ width: 1, color: "000" })
.setFill(new Color([0, 0, 0, 0]));
containerCircle.rawNode.setAttribute("class", "flare-object cluster-object");
@@ -1463,11 +1471,11 @@
var textShapes = [];
for (var i = 0, len = lines.length; i < len; i++) {
var textShape = tooltipGroup.createText({
- x: xPos,
- y: yPos + (i * 10),
- text: lines[i],
- align: 'middle'
- })
+ x: xPos,
+ y: yPos + (i * 10),
+ text: lines[i],
+ align: 'middle'
+ })
.setFill("#000")
.setFont({
size: 8,
@@ -1481,12 +1489,12 @@
var rectPadding = 2;
var textBox = tooltipGroup.getBoundingBox();
var rectShape = tooltipGroup.createRect({
- x: textBox.x - rectPadding,
- y: textBox.y - rectPadding,
- width: textBox.width + (rectPadding * 2),
- height: textBox.height + (rectPadding * 2),
- r: 0
- })
+ x: textBox.x - rectPadding,
+ y: textBox.y - rectPadding,
+ width: textBox.width + (rectPadding * 2),
+ height: textBox.height + (rectPadding * 2),
+ r: 0
+ })
.setFill(new Color([255, 255, 255, 0.9]))
.setStroke({
color: "#000",
@@ -1622,11 +1630,11 @@
//Have to add the flare text after the flare group animation otherwise Edge just reloads the page and dies for some reason?
if (this.shape.flareText) {
var flareText = this.shape.createText({
- x: this.shape.flareText.location.x,
- y: this.shape.flareText.location.y,
- text: this.shape.flareText.text,
- align: 'middle'
- })
+ x: this.shape.flareText.location.x,
+ y: this.shape.flareText.location.y,
+ text: this.shape.flareText.text,
+ align: 'middle'
+ })
.setFill(layer.textSymbol.color)
.setFont({
size: this.shape.flareText.textSize,
--
Gitblit v1.9.3