From 8aa3edd56c279100c9053576f3e90fa55459fe77 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 16 Jan 2023 16:15:55 +0800
Subject: [PATCH] 修改
---
public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js | 618 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 358 insertions(+), 260 deletions(-)
diff --git a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
index 6594849..9a47933 100644
--- a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
+++ b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
@@ -32,6 +32,9 @@
PopupTemplate, GraphicsLayer
) {
return declare([GraphicsLayer], {
+
+ //聚合渲染data
+ userState: '设备',
constructor: function (options) {
/* options description:
spatialReference: default 102100. A SpatialReference object using the wkid of that data.
@@ -70,12 +73,19 @@
this.maxFlareCount = options.maxFlareCount || 8;
this.displaySingleFlaresAtCount = options.displaySingleFlaresAtCount || 8;
this.singleFlareTooltipProperty = options.singleFlareTooltipProperty || null;
- var defaultTextSymbol = new TextSymbol()
+ var defaultTextSymbol = new TextSymbol()//聚合字体
.setColor(new Color([255, 255, 255]))
- .setAlign(Font.ALIGN_START)
- .setFont(new Font("10pt").setWeight(Font.WEIGHT_BOLD).setFamily("calibri"))
+ // .setAlign(Font.ALIGN_START)//被否决
+ .setOffset(+100, +10)//偏量
+ // .setHaloSize(1)
+ .setFont(new Font("15pt").setWeight(Font.WEIGHT_BOLD).setFamily("calibri"))
+ .setSize("30")
+ // .setOffsetY(-30)
+ .setHorizontalAlignment("middle")
.setVerticalAlignment("middle");
- defaultTextSymbol.font.size = 30;
+ // defaultTextSymbol.font.size = 30;
+ // defaultTextSymbol.yoffset = 10;
+ // console.log(defaultTextSymbol,2123445453)
this.textSymbol = options.textSymbol || defaultTextSymbol;
this.flareShowMode = options.flareShowMode || "mouse";
@@ -195,13 +205,18 @@
var mySelf = this;
// console.log(und)
if (und == '控制端') {//控制端弹窗关闭
- parent[0].layer.close(indexControl);
- parent[0].layer.close(+indexControl + 1);
- // console.log('控制:', indexControl)
+ // parent[0].layer.close(indexControl);
+ // parent[0].layer.close(+indexControl + 1);
}
- // console.log('tucen:', mySelf.indexs)
- if (eour == undefined) {
+ if (eour == undefined) {//判断是否是聚合状态
+ // if(this.userState == '设备'){
+ // // console.log(this.userState)
+ // }else if(this.userState == '警情'){
+ // // console.log(this.userState)
+ // }else if(this.userState == '业主'){
+ // // console.log(this.userState)
+ // }
var dataO = evt;
var aa = evt.graphic.screenX;
var bb = evt.graphic.screenX;
@@ -210,255 +225,313 @@
nams: evt.graphic.attributes.deviceName,
type: evt.graphic.attributes.jtype,
}
- // console.log(dataO);
- // console.log(aa - bb);
var cache = [];
//解决重复JSON.stringify将循环结构转换为JSON。有几率出错,err:TypeError: Converting circular structure to JSON
-
-
- // var setdata = JSON.stringify(evt.graphic.attributes
-
- // , function (key, value) {
- // if (typeof value === 'object' && value !== null) {
- // if (cache.indexOf(value) !== -1) {
- // // 移除
- // return;
- // }
- // // 收集所有的值
- // cache.push(value);
- // }
- // return value;
- // }
- // );
-
+ //舍弃上面方法,原因是对象里面嵌入对象,造成不能转换成JSON,吧对象去掉就好,
var as = evt.graphic.attributes;
+ var bs = {};
for (let key in as) {
- if (typeof as[key] == 'object') {
- as = as[key].attributes;
+ if (typeof as[key] != 'object') {
+ bs[key] = as[key]
+ // as = as[key].attributes;
// console.log('youduixang ')
- break;
+ // break;
}
}
- var setdata = JSON.stringify(as);
- // console.log(setdata);
- // var newkeys = Object.keys(evt.graphic.attributes);
- // var newvalues = Object.values(evt.graphic.attributes);
- // var str = "";
- // newkeys.forEach(function (item,index) {
- // str += item
- // })
-
-
- // console.log(cache);
+ var setdata = JSON.stringify(bs);
cache = null;
- var fCard = (posi, setdata,winSize) => { // 弹窗函数
- var that = this,
- url = './popup/html/FlareClusterLayer_v3.html',
- clickD = null,
- clickG = null,
- downs = null,
- moves = null,
- ups = null;
- layui.use('layer', function () {
- that.layuiLayer = layui.layer;
- that.layuiLayer.config({
- extend: 'myskin/FlareClusterLayer.css'
- });
- 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;
+ if (this.userState == '设备') {
+ // console.log(this.userState)
+ var fCard = (posi, setdata, winSize) => { // 设备弹窗函数
+ var that = this,
+ url = './popup/html/FlareClusterLayer_v3.html',
+ clickD = null,
+ clickG = null,
+ downs = null,
+ moves = null,
+ ups = null;
- // var isclickD = true
- // , endx = null
- // , endy = null;
- // layero[0].style.position = 'absolute';
+ layui.use('layer', function () {
+ that.layuiLayer = layui.layer;
+ that.layuiLayer.config({
+ extend: 'myskin/FlareClusterLayer.css'
+ });
+ that.layuiLayer.close(that.layuiLayer.index);
+ //两个弹窗
+ // that.layuiLayer.open({
+ // title: '',
+ // type: 2,
+ // shadeClose: false,
+ // shade: false,
+ // skin: 'demo-class',
+ // // id: 'onelyOne',
+ // maxmin: false, //开启最大化最小化按钮
+ // area: ['200px', '70px'],
+ // // area: 'auto',
+ // offset: posi,
+ // skin: 'flares',
+ // 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;
- // 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", "");
+ // var isclickD = true
+ // , endx = null
+ // , endy = null;
+ // layero[0].style.position = 'absolute';
- // //判断鼠标是否在地图上
- // // 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;
- // }
- // }
+ // 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", "");
- // var mouseWheel = that.map.on("mouse-wheel", myMouseWheelHandler);
+ // //判断鼠标是否在地图上
+ // // 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;
+ // }
+ // }
- // function myMouseWheelHandler(event) {
- // // console.log("Mouse wheel value = " + event.value);
- // parent[0].layer.close(index);
- // parent[0].layer.close(+index + 1);
- // mouseWheel.remove();
- // }
+ // 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();
+ // }
- // },
- // end: function () { //关闭事件
+ // },
+ // end: function () { //关闭事件
- // }
- // });
- // that.layuiLayer.open({ //第二个iframe
- // title: '',
- // type: 2,
- // shadeClose: true,
- // shade: false,
- // skin: 'demo-class',
- // id: 'onelyTwo',
- // maxmin: false, //开启最大化最小化按钮
- // area: ['360px', '484px'],
- // // area: 'auto',
- // offset: 'r',
- // skin: 'flare',
- // isOutAnim: false,
- // closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭
- // content: ['./popup/html/FlareClusterLayer_v3 copy.html'],
- // resize: false,
- // scrollbar: false,
- // // tipsMore: true, //允许多个tipe
- // // content: num,
- // success: function (layero, index) { //成功后添加全局点击关闭
- // // var z = document.onclick = ()=>{
- // // parent[0].layer.close(index);
- // // // // parent[0].layer.close(+index + 1);
- // // z = null;
- // // }
- // //尝试传值
- // //js对象转json对象
- // // $("#layui-layer-iframe" + index).contents().find("input").val(JSON.stringify(evt.graphic.attributes));
- // $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
- // },
- // })
- that.layuiLayer.open({ //第二个iframe
- title: '',
- type: 2,
- shadeClose: true,
- shade: false,
- skin: 'demo-class',
- id: 'onelyTwo',
- maxmin: false, //开启最大化最小化按钮
- area: ['360px', '484px'],
- // area: 'auto',
- offset: winSize,
- skin: 'flare',
- isOutAnim: false,
- closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
- content: ['./popup/html/FlareClusterLayer_v3 copy.html'],
- resize: false,
- scrollbar: false,
- // tipsMore: true, //允许多个tipe
- // content: num,
- success: function (layero, index) { //成功后添加全局点击关闭
- // var z = document.onclick = ()=>{
- // parent[0].layer.close(index);
- // // // parent[0].layer.close(+index + 1);
- // z = null;
- // }
- //尝试传值
- //js对象转json对象
- // $("#layui-layer-iframe" + index).contents().find("input").val(JSON.stringify(evt.graphic.attributes));
- $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+ // }
+ // });
+ that.layuiLayer.open({ //第二个iframe
+ title: '',
+ type: 2,
+ shadeClose: true,
+ shade: false,
+ skin: 'demo-class',
+ id: 'onelyTwo',
+ maxmin: false, //开启最大化最小化按钮
+ area: ['360px', '484px'],
+ // area: 'auto',
+ offset: winSize,
+ skin: 'flare',
+ isOutAnim: false,
+ closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
+ content: ['./popup/html/FlareClusterLayer_v3 copy.html'],
+ resize: false,
+ scrollbar: false,
+ // tipsMore: true, //允许多个tipe
+ // content: num,
+ success: function (layero, index) { //成功后添加全局点击关闭
+ // var z = document.onclick = ()=>{
+ // parent[0].layer.close(index);
+ // // // parent[0].layer.close(+index + 1);
+ // z = null;
+ // }
+ //尝试传值
+ //js对象转json对象
+ // $("#layui-layer-iframe" + index).contents().find("input").val(JSON.stringify(evt.graphic.attributes));
+ $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+ },
+ })
+ //一个弹窗
+ // that.layuiLayer.open({ //第二个iframe
+ // title: '',
+ // type: 2,
+ // shadeClose: true,
+ // shade: false,
+ // skin: 'demo-class',
+ // id: 'onelyTwo',
+ // maxmin: false, //开启最大化最小化按钮
+ // area: ['360px', '484px'],
+ // // area: 'auto',
+ // offset: winSize,
+ // skin: 'flare',
+ // isOutAnim: false,
+ // closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
+ // content: ['./popup/html/FlareClusterLayer_v3 copy.html'],
+ // resize: false,
+ // scrollbar: false,
+ // // tipsMore: true, //允许多个tipe
+ // // content: num,
+ // success: function (layero, index) { //成功后添加全局点击关闭
+ // $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
- },
+ // },
+ // })
})
- })
+ }
+ } else if (this.userState == '警情') {
+ // console.log(this.userState)
+ var fCard = (posi, setdata, winSize) => { // 设备弹窗函数
+ var that = this,
+ url = './popup/html/FlareClusterLayer_v3.html',
+ clickD = null,
+ clickG = null,
+ downs = null,
+ moves = null,
+ ups = null;
+
+ layui.use('layer', function () {
+ that.layuiLayer = layui.layer;
+ that.layuiLayer.config({
+ extend: 'myskin/FlareClusterLayer.css'
+ });
+ that.layuiLayer.close(that.layuiLayer.index);
+ that.layuiLayer.open({
+ title: '',
+ type: 2,
+ shadeClose: true,
+ shade: false,
+ skin: 'demo-class',
+ id: 'onelyTwo',
+ maxmin: false, //开启最大化最小化按钮
+ area: ['360px', '484px'],
+ // area: 'auto',
+ offset: winSize,
+ skin: 'flare',
+ isOutAnim: false,
+ closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
+ content: ['./popup/html/SupervisoryMapPdata.html'],
+ resize: false,
+ scrollbar: false,
+ // tipsMore: true, //允许多个tipe
+ // content: num,
+ success: function (layero, index) { //成功后添加全局点击关闭
+ $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+
+ },
+ })
+ })
+ }
+ } else if (this.userState == '业主') {
+ // console.log(this.userState)
+ var fCard = (posi, setdata, winSize) => { // 设备弹窗函数
+ var that = this,
+ url = './popup/html/FlareClusterLayer_v3.html',
+ clickD = null,
+ clickG = null,
+ downs = null,
+ moves = null,
+ ups = null;
+
+ layui.use('layer', function () {
+ that.layuiLayer = layui.layer;
+ that.layuiLayer.config({
+ extend: 'myskin/FlareClusterLayer.css'
+ });
+ that.layuiLayer.close(that.layuiLayer.index);
+
+ that.layuiLayer.open({
+ title: '',
+ type: 2,
+ shadeClose: true,
+ shade: false,
+ skin: 'demo-class',
+ id: 'onelyTwo',
+ maxmin: false, //开启最大化最小化按钮
+ area: ['360px', '484px'],
+ // area: 'auto',
+ offset: winSize,
+ skin: 'flare',
+ isOutAnim: false,
+ closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
+ content: ['./popup/html/SupervisoryMapYdata.html'],
+ resize: false,
+ scrollbar: false,
+ // tipsMore: true, //允许多个tipe
+ // content: num,
+ success: function (layero, index) { //成功后添加全局点击关闭
+ $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+
+ },
+ })
+ })
+ }
}
+
+
if (mySelf.onceTimeMethod == null) { //防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
- var offsetMy = [+evt.screenY - 300 + 'px', +evt.screenX - 172.5 + 'px'];
+ var offsetMy = [+evt.screenY - 310 + 'px', +evt.screenX - 168 + 'px'];
+ if (und == '控制端') {//控制端弹窗关闭
+ var offsetMy = [+window.innerHeight / 2 - 115 + 'px', (+window.innerWidth - 360) / 2 + 257 + 'px'];
+ // console.log('控制端中浮',offsetMy)
+ }
// 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();
- // this.map.setExtent(evt.graphic._extent)
- // this.map.setZoom(this.map.getZoom() + 1)//地图中心缩放
- // console.log(this.map.getZoom())
- // this.map.setZoom(18);
- // event.stopPropagation();
+
var lgtd = Number(evt.graphic.attributes.x);//地图跟随缩放
var lttd = Number(evt.graphic.attributes.y);
// // console.log($(this).find('input').attr('lttd'));
var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
this._map.centerAndZoom(position, this.map.getZoom() + 1);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
- parent[0].layer.close(this.indexs)
- parent[0].layer.close(+this.indexs + 1)
+ // parent[0].layer.close(this.indexs)
+ // parent[0].layer.close(+this.indexs + 1)
// console.log('111:', this.map.zoomToFullExtent(), '222:', evt, evt.graphic._extent, 'zoom');
}
// console.log(evt)
-
if (und != '控制端') {
this._restoreInfoWindowSettings();
@@ -513,7 +586,6 @@
}
}
-
},
//Add a data point to be clustered.
@@ -664,6 +736,7 @@
_graphicDraw: function (e) {
var g = e.graphic;
+
if (g.attributes.isCluster) {
//create the cluster graphics if this is a cluster being drawn
var cl = this._getClusterFromGraphic(g);
@@ -701,7 +774,8 @@
}
},
- _graphicMouseOut: function (e) {
+ _graphicMouseOut: function (e) {//鼠标进入图片事件
+
if (e.graphic.attributes.isFlare) {
this._hideFlareDetail();
}
@@ -784,8 +858,10 @@
},
_clusterData: function () {
-
+ //此函数当前仅适用于不使用预聚集数据的情况
//this function currently only applies if not using preclustered data
+ // console.log('改变111111111111111')
+
if (this.preClustered) {
return;
}
@@ -871,15 +947,15 @@
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]);
}
}
-
},
_createClusterGrid: function (webExtent) {
@@ -925,19 +1001,38 @@
}
},
- _createSingle: function (single) {
+ _createSingle: function (single) {//加载图标样式
this.singles.push(single);
delete single.graphic;
var symbol;
- if (single.jtype == 1) {
- symbol = new esri.symbol.PictureMarkerSymbol("./images/yj-jingbao.png", 40, 40);
- } else {
- if (single.onlineStatus == 1) {
+ if (single.tenant_id == undefined) {//如果不是业主
+ if (single.dtype == 3) {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/by-jingbao.png", 40, 40);
+ } else if (single.dtype == 2) {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/selfbaojin2.gif", 80, 80);
+ } else if (single.dtype == 1) {
symbol = new esri.symbol.PictureMarkerSymbol("./images/zx-jingbao.png", 40, 40);
- } else {
+ } else if (single.dtype == 0) {
symbol = new esri.symbol.PictureMarkerSymbol("./images/dx-jingbao.png", 40, 40);
}
+ // if (single.state != '') {
+ // symbol = new esri.symbol.PictureMarkerSymbol("./images/by-jingbao.png", 40, 40);
+ // } else {
+ // if (single.jtype == 1) {
+ // symbol = new esri.symbol.PictureMarkerSymbol("./images/selfbaojin2.gif", 80, 80);
+ // } else {
+ // 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);
+ // }
+ // }
+ // }
+ } else {//是业主
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/Yz.png", 40, 40);
}
+
+
var point = new Point(single[this.xPropertyName], single[this.yPropertyName], this.spatialRef);
var attributes = lang.clone(single);
@@ -1031,11 +1126,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 - 6),//聚合文字设置
+ text: cluster.clusterCount,
+ align: 'middle'
+ })
.setFont({
size: this.textSymbol.font.size,
family: this.textSymbol.font.family,
@@ -1159,10 +1254,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 + 3,
+ r: conCircleRadius
+ })
//.setStroke({ width: 1, color: "000" })
.setFill(new Color([0, 0, 0, 0]));
containerCircle.rawNode.setAttribute("class", "flare-object cluster-object");
@@ -1461,16 +1556,16 @@
tooltipGroup.rawNode.setAttribute("class", "tooltip-text");
var textShapes = [];
- for (var i = 0, len = lines.length; i < len; i++) {
+ 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,
+ size: 8,//聚合字体大小//没效果
family: this.textSymbol.font.family,
weight: this.textSymbol.font.weight
});
@@ -1481,12 +1576,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 +1717,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,
@@ -1671,8 +1766,11 @@
_clickOpenOnclick: function (e, und, indexControl) {
this.onClick(e, und, indexControl)
+ },
+ _setUserState: function (state) {
+ // console.log(state)
+ this.userState = state
}
-
//#endregion
});
});
--
Gitblit v1.9.3