From e060b5724d307c1a3bc8015bf8d8a815c2aaca52 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 23 Apr 2021 11:42:19 +0800
Subject: [PATCH] 地图修改 详情图片获取

---
 public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js |  226 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 128 insertions(+), 98 deletions(-)

diff --git a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
index f95b136..6594849 100644
--- a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
+++ b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
@@ -251,7 +251,7 @@
 
         // console.log(cache);
         cache = null;
-        var fCard = (posi, setdata) => { // 弹窗函数
+        var fCard = (posi, setdata,winSize) => { // 弹窗函数
           var that = this,
             url = './popup/html/FlareClusterLayer_v3.html',
             clickD = null,
@@ -266,103 +266,134 @@
             });
             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,
+            //   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,
@@ -373,10 +404,10 @@
               maxmin: false, //开启最大化最小化按钮
               area: ['360px', '484px'],
               // area: 'auto',
-              offset: 'r',
+              offset: winSize,
               skin: 'flare',
               isOutAnim: false,
-              closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭
+              closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
               content: ['./popup/html/FlareClusterLayer_v3 copy.html'],
               resize: false,
               scrollbar: false,
@@ -392,6 +423,7 @@
                 //js对象转json对象
                 // $("#layui-layer-iframe" + index).contents().find("input").val(JSON.stringify(evt.graphic.attributes));
                 $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+
               },
             })
           })
@@ -399,15 +431,13 @@
         if (mySelf.onceTimeMethod == null) { //防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
           var offsetMy = [+evt.screenY - 300 + 'px', +evt.screenX - 172.5 + 'px'];
           // console.log(evt.screenY);
-          fCard(offsetMy, setdata);
+          var winSize = [+window.innerHeight / 2 - 242 + 'px', +window.innerWidth - 380 + 'px']
+          // console.log(winSize,4454645634536);
+          fCard(offsetMy, setdata,winSize);
           mySelf.onceTimeMethod = setTimeout(() => {
             mySelf.onceTimeMethod = null;
           }, mySelf.onceTime);
         } else {};
-
-
-
-
 
       } else {
         // var taxLotExtent = evt.graphic.geometry.getExtent(); 

--
Gitblit v1.9.3