| | |
| | | } |
| | | } |
| | | }, |
| | | _mapClick: function (e) {//地图全局点击事件 标记不能点击 |
| | | _mapClick: function (e) { //地图全局点击事件 标记不能点击 |
| | | // console.log('地图全局点击事件'); |
| | | |
| | | if (!e.target) { |
| | |
| | | }, |
| | | // zoomNum: this.map.getZoom(), |
| | | indexs: null, |
| | | onceTime: 300,//防抖定时 |
| | | onceTimeMethod: null,//防抖判断属性 |
| | | onceTime: 300, //防抖定时 |
| | | onceTimeMethod: null, //防抖判断属性 |
| | | onClick: function (evt) { //标志以及聚合表示点击事件 |
| | | var eour = evt.graphic.attributes.clusterCount; |
| | | var mySelf = this; |
| | |
| | | // area: 'auto', |
| | | offset: posi, |
| | | skin: 'flare', |
| | | closeBtn: 0,//关闭按钮,可通过配置1和2来展示,0关闭 |
| | | closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭 |
| | | content: [url, 'no'], |
| | | resize: false, |
| | | scrollbar: false, |
| | | // tipsMore: true, //允许多个tipe |
| | | // content: num, |
| | | success: function (layero, index) {//成功后添加全局点击关闭 |
| | | success: function (layero, index) { //成功后添加全局点击关闭 |
| | | $("#layui-layer-iframe" + index).contents().find("#input1").val(JSON.stringify(evt.graphic.attributes)); |
| | | // console.log(layero, index); |
| | | that.indexs = index; |
| | | |
| | | |
| | | var isclickD = true |
| | | , endx = null |
| | | , endy = null; |
| | | var isclickD = true, |
| | | endx = null, |
| | | endy = null; |
| | | layero[0].style.position = 'absolute'; |
| | | |
| | | downs = document.onmousedown = () => {//鼠标按下事件 |
| | | 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 mx = window.event.clientX //鼠标初始位置 |
| | | , |
| | | my = window.event.clientY, |
| | | cx = this.offset[1].replace("px", "") //初始位置 |
| | | , |
| | | cy = this.offset[0].replace("px", ""); |
| | | if (endx != null && endy != null) { |
| | | cx = endx; |
| | | cy = endy; |
| | | } |
| | | moves = document.onmousemove = () => {//鼠标移动事件 |
| | | moves = document.onmousemove = () => { //鼠标移动事件 |
| | | // console.log('move');//move |
| | | // console.log(this.offset) |
| | | var ux = window.event.clientX//记录实时位置 |
| | | , uy = window.event.clientY; |
| | | endx = +cx + (ux - mx)// 初始位置+(鼠标初始位置-实时位置) |
| | | 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(ux, uy,'记录实时位置'); |
| | | // console.log(ux, uy,'最后位置'); |
| | | isclickD = false; |
| | | ups = document.onmouseup = () => {//鼠标抬起事件 |
| | | ups = document.onmouseup = () => { //鼠标抬起事件 |
| | | // console.log('up');//end |
| | | // downs = document.onmousedown = null; |
| | | moves = document.onmousemove = null; |
| | |
| | | } |
| | | |
| | | }, |
| | | end: function () {//关闭事件 |
| | | end: function () { //关闭事件 |
| | | |
| | | } |
| | | }); |
| | | that.layuiLayer.open({//第二个iframe |
| | | that.layuiLayer.open({ //第二个iframe |
| | | title: '', |
| | | type: 2, |
| | | shadeClose: true, |
| | |
| | | offset: 'r', |
| | | skin: 'flare', |
| | | isOutAnim: false, |
| | | closeBtn: 0,//关闭按钮,可通过配置1和2来展示,0关闭 |
| | | 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) {//成功后添加全局点击关闭 |
| | | success: function (layero, index) { //成功后添加全局点击关闭 |
| | | // var z = document.onclick = ()=>{ |
| | | // parent[0].layer.close(index); |
| | | // // // parent[0].layer.close(+index + 1); |
| | |
| | | }) |
| | | }) |
| | | } |
| | | if (mySelf.onceTimeMethod == null) {//防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗 |
| | | if (mySelf.onceTimeMethod == null) { //防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗 |
| | | var offsetMy = [+evt.screenY - 300 + 'px', +evt.screenX - 172.5 + 'px']; |
| | | fCard(offsetMy); |
| | | 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)//地图中心缩放 |
| | | this.map.setZoom(this.map.getZoom() + 1) //地图中心缩放 |
| | | // this.map.setZoom(18); |
| | | parent[0].layer.close(this.indexs) |
| | | parent[0].layer.close(+this.indexs + 1) |
| | |
| | | this.singles.push(single); |
| | | delete single.graphic; |
| | | var symbol; |
| | | console.log(single.onlineStatus, '移动事件'); |
| | | 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); |
| | | var graphic = new Graphic(point, symbol, attributes, null); |
| | |
| | | //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, |
| | |
| | | //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"); |
| | |
| | | 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, |
| | |
| | | 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", |
| | |
| | | //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, |