zhitong.yu
2024-04-17 e841378f0e2bbfe7b448622bde52713ee8140f12
src/main/webapp/Home/Home1.jsp
@@ -20,6 +20,8 @@
    <link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/Search/mapReconnaissance/css/index.css">
    <link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/Marker/FMDomMarker/css/index.css">
    <script src="https://developer.fengmap.com/fmAPI/demos/Marker/FMDomMarker/js/index.js"></script>
    <script src="https://developer.fengmap.com/fmAPI/demos/libs/js/fengmap.plugin.draw.min.js"></script>
    <script src="https://developer.fengmap.com/fmAPI/demos/libs/js/fengmap.analyser.min.js"></script>
    <style>
        .box {
@@ -27,144 +29,8 @@
    </style>
</head>
<body>
<%--<div class="layui-container">--%>
<%--    <button class="layui-btn tileLayer-selector fm-btn">--%>
<%--        切换瓦片底图--%>
<%--        <i class="layui-icon layui-icon-down layui-font-12"></i>--%>
<%--    </button>--%>
<%--    <button type="button" id="init" class="layui-btn" onclick="initFilterLayer()">设置滤镜</button>--%>
<%--</div>--%>
<div id="fengmap"></div>
</body>
<%--<script>--%>
<%--    var map;--%>
<%--    var tileLayer;--%>
<%--    var flag;--%>
<%--    var objType = {--%>
<%--        'tilelayer': fengmap.FMTileProvider.AMAP_VECTOR, //百度矢量图替换BAIDU_VECTOR--%>
<%--        'tilelayerAMAP': fengmap.FMTileProvider.AMAP_SATELLITE, //百度卫星图替换BAIDU_SATELLITE--%>
<%--    }--%>
<%--    var options = {--%>
<%--        container: document.getElementById("fengmap"),--%>
<%--        appName: 'map1',--%>
<%--        key: '09facc4ee52d1844bc1e561dad5abf59',--%>
<%--        mapID: '1732234539564851202',--%>
<%--        themeID: '1717913720470753281',--%>
<%--        mapURL: '../fengmap/data/',--%>
<%--        themeURL: '../fengmap/data/theme/',--%>
<%--        minTiltAngle: 0,--%>
<%--        mapZoom: 16,--%>
<%--        backgroundColor:'#001133',--%>
<%--    }--%>
<%--    /* 初始化地图 */--%>
<%--    function InitMap(options) {--%>
<%--        const promise = new Promise((resolve, reject) => {--%>
<%--            if (map != null) {--%>
<%--                map.dispose();--%>
<%--                map = null;--%>
<%--            }--%>
<%--            map = new fengmap.FMMap(options);--%>
<%--            map.on('loaded', function () {--%>
<%--                SetTileLayerMode('tilelayer')--%>
<%--                resolve('地图初始化完成!');--%>
<%--            });--%>
<%--        });--%>
<%--        return promise;--%>
<%--    };--%>
<%--    // 设置底图--%>
<%--    function SetTileLayerMode(type) {--%>
<%--        if (tileLayer != null) {--%>
<%--            tileLayer.remove(map);--%>
<%--            tileLayer = null;--%>
<%--        }--%>
<%--        tileLayer = new fengmap.FMTileLayer({--%>
<%--            mode: objType[type],--%>
<%--            offset: 1.0,--%>
<%--            replaceColor: "#FCF9F2", //大比例尺下,不显示瓦片底图时,显示的背景颜色--%>
<%--            replaceOpacity: 0.9, //大比例尺下,不显示瓦片底图时,显示的背景颜色透明度--%>
<%--            filter: fengmap.FMTileFilter.NONE, //滤镜枚举,默认为fengmap.FMTileFilter.NONE,FMTileFilter类中预置了6种滤镜;也可以自定义滤镜(如果值为fengmap.FMTileFilter.CUSTOM,需要配置filterCustomization,自定义参数设置参考文档)--%>
<%--        })--%>
<%--        tileLayer.addTo(map);--%>
<%--        setFilterDisabled();--%>
<%--    }--%>
<%--    // 显示/隐藏--%>
<%--    function toggleTileLayerVisibility() {--%>
<%--        if (!tileLayer) return--%>
<%--        tileLayer.visible = !tileLayer.visible;--%>
<%--        setFilterDisabled(true);--%>
<%--    }--%>
<%--    // 删除--%>
<%--    function removeTileLayer() {--%>
<%--        if (!tileLayer) return--%>
<%--        tileLayer.remove(map);--%>
<%--        tileLayer = null;--%>
<%--        setFilterDisabled(false, true);--%>
<%--    }--%>
<%--    function setFilterDisabled(isToggle, isDelete) {--%>
<%--        if (isToggle) {--%>
<%--            let btn = document.getElementById('init');--%>
<%--            if (!btn) return--%>
<%--            if (btn.classList.value.indexOf('layui-btn-disabled') > -1) {--%>
<%--                btn.removeAttribute('disabled');--%>
<%--                btn.classList.remove('layui-btn-disabled');--%>
<%--            }--%>
<%--            else {--%>
<%--                btn.setAttribute('disabled', true);--%>
<%--                btn.classList.add('layui-btn-disabled');--%>
<%--            }--%>
<%--        }--%>
<%--        else {--%>
<%--            let btn = document.getElementById('init');--%>
<%--            if (btn) {--%>
<%--                if (isDelete) {--%>
<%--                    btn.setAttribute('disabled', true);--%>
<%--                    btn.classList.add('layui-btn-disabled');--%>
<%--                }--%>
<%--                else {--%>
<%--                    btn.classList.remove('layui-btn-disabled');--%>
<%--                    btn.removeAttribute('disabled');--%>
<%--                }--%>
<%--            }--%>
<%--        }--%>
<%--        updateUI();--%>
<%--    }--%>
<%--    //滤镜--%>
<%--    function FilterHandleClick(id, value) {--%>
<%--        if (!tileLayer) return--%>
<%--        tileLayer.setFilter(id, value);--%>
<%--    }--%>
<%--    //初始化滤镜--%>
<%--    function initFilterLayer() {--%>
<%--        // 修改设置面板展示状态--%>
<%--        updateUI(true);--%>
<%--    }--%>
<%--    UI.Init().then(() => {--%>
<%--        UI.Loading();--%>
<%--        return InitMap(options);--%>
<%--    }).then(() => {--%>
<%--        UI.Completed();--%>
<%--    });;--%>
<%--</script>--%>
<script>
    function attributeCount(obj) {
        var count = 0;
@@ -176,7 +42,7 @@
        return count;
    }
    function getRealPositionsanwei() {
    function getRealPositionsanweiOnline() {
        var realposition = [];
        $.ajax({
            async: false,
@@ -184,12 +50,21 @@
            url: "/hxzkuwb/getRealPositionsan2.do",
            dataType: 'json',
            success: function (data) {
                for (var i = 0; i < data.length; i++) {
                    //playMark[id,name,power,life,x,y,time]
                    realposition.push([data[i].tagid, data[i].name, data[i].power, data[i].life,data[i].baoliu2,data[i].baoliu3,data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sousuo, data[i].shipin, data[i].inkaoqing, data
                        [i].jiao, data[i].baoliu24, data[i].baoliu23, data[i].sex, data[i].minzu, data[i].phone, data[i].power, data[i].bumen, data[i].baoliu19,data[i].image,data[i].bumencolor,data[i].baoliu35])
                }
                realposition = data
            },
        });
        return realposition
    };
    function getRealPositionsanweiOffOnline() {
        var realposition = [];
        $.ajax({
            async: false,
            type: 'POST',
            url: "/hxzkuwb/getRealPositionsan3.do",
            dataType: 'json',
            success: function (data) {
                realposition = data
            },
        });
        return realposition
@@ -222,10 +97,19 @@
        });
        return realposition
    };
    function FindShowJianZhu(){
        var realposition = [];
        $.ajax({
            async: false,
            type: 'Get',
            url: "/hxzkuwb/FindShowJianZhuShan",
            dataType: 'json',
            success: function (data) {
                realposition = data;
            },
        });
        return realposition
    }
    function getAnchorInfo2() {
        var online_anchorList = [];
        var offline_anchorList = [];
@@ -253,6 +137,10 @@
    var biaoqians = new Object();
    var biaoqianids = new Object();
    var biaoqianidc = new Object();
    var jizhanbc = new Object();
    var jizhanbclabel = new Object();
    var wangguanbc = new Object();
    var wangguanbclabel = new Object();
    var onlineanchor = new Object();
    var onlineanchor1 = new Object();
    var offlineanchor = new Object();
@@ -285,214 +173,6 @@
    var coordsTransformer = new fengmap.FMCoordsTransformer({ origon: origon, target: target });
    function checkedfor() {
        var personlist;
        if (type == 0) {
            personlist = getRealPositionsanwei();
        } else {
            personlist = getRealPositionsanwei();
        }map.getLevel();
        if (personlist.length != 0) {
            if (markerpd) {
                for (var i = 0; i < personlist.length; i++) {
                    if (biaoqianids[personlist[i][0]] != null) {
                        biaoqianids[personlist[i][0]].text = "";
                        if (customSwitch1) {
                            biaoqianids[personlist[i][0]].text = " " + personlist[i][1] + "  " + personlist[i][0] + "  " + personlist[i][2] + "% ";
                            biaoqianids[personlist[i][0]].update();
                        } else {
                            if (customSwitch3) {
                                biaoqianids[personlist[i][0]].text = " " + personlist[i][1] + " ";
                            }
                            if (customSwitch4) {
                                biaoqianids[personlist[i][0]].text += " " + personlist[i][0] + " ";
                            }
                            if (customSwitch5) {
                                biaoqianids[personlist[i][0]].text += " " + personlist[i][2] + "% ";
                            }
                            biaoqianids[personlist[i][0]].update();
                        }
                        if (biaoqianids[personlist[i][0]].text == "" || biaoqianids[personlist[i][0]].text == null) {
                            biaoqianids[personlist[i][0]].visible = false;
                        } else {
                            if (((bm_offView == '1' && personlist[i][3] == '1') || (bm_offView == '0')) && ((bm_kaoqing == '1' && personlist[i][10] == '1') || (bm_kaoqing == '0'))) {
                                biaoqianids[personlist[i][0]].visible = true;
                            }
                        }
                    } else {
                        if (personlist[i][3] == "1") {
                            var markertext;
                            var xy;
                            if (type == 0) {
                                xy = coordsTransformer.transform({ x: personlist[i][4], y: personlist[i][5] });
                            } else {
                                 xy = fengmap.FMCalculator.latlngToMapCoordinate({x: personlist[i][4],y: personlist[i][5]})
                            }
                            if (customSwitch1) {
                                markertext = " " + personlist[i][1] + "  " + personlist[i][0] + "  " + personlist[i][2] + "% ";
                            } else {
                                if (customSwitch3) {
                                    markertext = " " + personlist[i][1] + " ";
                                }
                                if (customSwitch4) {
                                    markertext += " " + personlist[i][0] + " ";
                                }
                                if (customSwitch5) {
                                    markertext += " " + personlist[i][2] + "% ";
                                }
                            }
                            if (markertext != "" && markertext != null) {
                                var lmarker = new fengmap.FMTextMarker({
                                    text: " " + personlist[i][1] + " ",
                                    height: +personlist[i][12] + 9,
                                    x: xy.x,
                                    y: xy.y,
                                    textAlign: fengmap.FMTextAlign.Center,
                                    fontsize: 18,
                                    fillColor: '#ffffff',
                                    strokeColor: '#ffffff',
                                    plateColor: '60,141,196',
                                    plateStrokeColor: '60,141,196',
                                    strokeWidth: 0,
                                })
                                var level = map.getLevel();
                                var floor = map.getFloor(level);
                                lmarker.addTo(floor);
                                biaoqianids[personlist[i][0]] = lmarker;
                            }
                        }
                    }
                }
            } else {
                for (var i = 0; i < personlist.length; i++) {
                    if (biaoqianids[personlist[i][0]] != null) {
                        biaoqianids[personlist[i][0]].remove();
                        delete biaoqianids[personlist[i][0]];
                    }
                    if (biaoqians[personlist[i][0]] != null) {
                        var windowHtml;
                        var xy;
                        if (type == 0) {
                            xy = coordsTransformer.transform({ x: personlist[i][4], y: personlist[i][5] });
                        } else {
                             xy = fengmap.FMCalculator.latlngToMapCoordinate({x: personlist[i][4],y: personlist[i][5]})
                        }
                        // if (customSwitch1) {
                        //     windowHtml = '<div class="fm-control-popmarker2" style="height: 94px;top: -100px;">';
                        //     windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //     windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //     windowHtml += `<div id="info">`;
                        //     windowHtml += `<div class="content"><a> 姓名:` + personlist[i][0] + `</a><br>
                  //                      <a> 编号:`+ personlist[i][0] + `</a><br>
                  //                      <a> 电量:`+ personlist[i][2] + `</a>
                  //                      </div>`;
                        //     windowHtml += `</div>`;
                        //     windowHtml += `</div>`;
                        // } else {
                        //     if (customSwitch3) {
                        //         if (customSwitch4) {
                        //             if (customSwitch5) {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 94px;top: -100px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 姓名:` + personlist[i][0] + `</a><br>
                  //                      <a> 编号:`+ personlist[i][0] + `</a><br>
                  //                      <a> 电量:`+ personlist[i][2] + `</a>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             } else {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 72px;top: -78px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 姓名:` + personlist[i][0] + `</a><br>
                  //                      <a> 编号:`+ personlist[i][0] + `</a><br>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             }
                        //         } else {
                        //             if (customSwitch5) {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 72px;top: -78px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 姓名:` + personlist[i][1] + `</a><br>
                  //                      <a> 电量:`+ personlist[i][2] + `</a>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             } else {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 50px;top: -56px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 姓名:` + personlist[i][1] + `</a><br>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             }
                        //         }
                        //     } else {
                        //         if (customSwitch4) {
                        //             if (customSwitch5) {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 72px;top: -78px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 编号:` + personlist[i][0] + `</a><br>
                  //                      <a> 电量:`+ personlist[i][2] + `</a>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             } else {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 50px;top: -56px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 编号:` + personlist[i][0] + `</a><br>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             }
                        //         } else {
                        //             if (customSwitch5) {
                        //                 windowHtml = '<div class="fm-control-popmarker2" style="height: 50px;top: -56px;">';
                        //                 windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
                        //                 windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
                        //                 windowHtml += `<div id="info">`;
                        //                 windowHtml += `<div class="content"><a> 电量:` + personlist[i][2] + `</a>
                  //                      </div>`;
                        //                 windowHtml += `</div>`;
                        //                 windowHtml += `</div>`;
                        //             } else {
                        //
                        //             }
                        //         }
                        //     }
                        // }
                        if (windowHtml != "" && windowHtml != null) {
                            var lmarker = new fengmap.FMDomMarker({
                                x: xy.x,
                                y: xy.y,
                                content: windowHtml
                            });
                            var level = map.getLevel();
                            var floor = map.getFloor(level);
                            lmarker.addTo(floor);
                            biaoqianids[personlist[i][0]] = lmarker;
                        }
                    }
                }
            }
        }
    }
    function blues(e){
@@ -514,6 +194,9 @@
    var domMarker = null;
    //地图属性
    var boxselecttool;
    var selectedModels = [];
    var selectedModels1 = [];
        var options = {
            container: document.getElementById("fengmap"),
                appName: 'map1',
@@ -535,11 +218,10 @@
        floorInfo = map.getFloorInfos()
        localStorage.removeItem("domMar")
    });
    boxselecttool = new fengmap.FMBoxSelectTool(map);
    // 注册地图点击事件
    map.on('click', function (event) {
        marker = null;
        var clickMode = event.targets.find(it => it.type === fengmap.FMType.MODEL)
        var floor = floorInfo.find(it => it.level === event.level)
@@ -547,11 +229,54 @@
        UI.updateInfo(clickMode, floor, event)
        var fencename = $(".Alise").text();
        JianZhuName = fencename
        console.log(event.targets[0].FID)
        console.log(JianZhuName)
        JianZhuMsg(event.targets[0].FID,JianZhuName)
    })
    function kq(){
        boxselecttool.enable = true
        boxselecttool.boxStyle = {
            border: "border:5px solid #EEEE00",
            backgroundColor: "#FF4040",
            opacity: 0.5
        }
        //绘制完成事件
        boxselecttool.on('boxselected', function (e) {
            //重置上次选中model颜色
            for (var i = 0; i < selectedModels.length; i++) {
                selectedModels[i].resetColor();
            }
            selectedModels1.length = 0;
            //获取选中model
            var targets = e.targets;
            for (var i = 0; i < targets.length; i++) {
                if (targets[i].type === fengmap.FMType.MODEL) {
                    var models = map.getNodes(targets[i].children);
                    for (var j = 0; j < models.length; j++) {
                        if (models[j].FID != null) {
                            //将model颜色设置为0xff0000 透明度值为0.5
                            models[j].setColor(0xff0000, 0.5);
                            selectedModels1.push(models[j].FID);
                            selectedModels.push(models[j]);
                        }
                    }
                    localStorage.setItem("KuangXuan",selectedModels1)
                    localStorage.setItem("KuangXuan1","true")
                    break;
                }
            }
        });
        kqhuizhi = false;
        sessionStorage.setItem("kqhuizhi",false);
    }
    function closet(){
        boxselecttool.enable = false
    }
    var anchorObj = {
        'CENTER': fengmap.FMMarkerAnchor.CENTER,
        'BOTTOM': fengmap.FMMarkerAnchor.BOTTOM,
@@ -595,6 +320,7 @@
        localStorage.setItem("domMar",domMarker);
    }
    function removeMarker() {
        if (localStorage.getItem("domMar") == "" || localStorage.getItem("domMar") == null){
@@ -608,154 +334,160 @@
        domMarker.remove();
        localStorage.removeItem("domMar")
    }
    function setFilterDisabled(isToggle, isDelete) {
                if (isToggle) {
                    let btn = document.getElementById('init');
                    if (!btn) return
                    if (btn.classList.value.indexOf('layui-btn-disabled') > -1) {
                        btn.removeAttribute('disabled');
                        btn.classList.remove('layui-btn-disabled');
                    }
                    else {
                        btn.setAttribute('disabled', true);
                        btn.classList.add('layui-btn-disabled');
                    }
                }
                else {
                    let btn = document.getElementById('init');
                    if (btn) {
                        if (isDelete) {
                            btn.setAttribute('disabled', true);
                            btn.classList.add('layui-btn-disabled');
                        }
                        else {
                            btn.classList.remove('layui-btn-disabled');
                            btn.removeAttribute('disabled');
                        }
                    }
                }
        var wangguanflag;
        var jizhanflag;
        var kqhuizhi = true;
    var personlist2 = FindShowJiZhan();  //获取基站数据
    var personlist3 = FindShowWangGuan();   //获取网关数据
    var p2; //是否开启基站
    var p3; //是否开启网关
    var username = sessionStorage.getItem("username")
    var data = "username="+username
    var cir = false
    $.ajax({
        url: "/hxzkuwb/findScreenRole",
        type: "GET",
        data:data,
        async: false, // Set async to false for synchronous request
        success: function(data) {
            p2 = data.jizhanshow;
            p3 = data.wangguanshow;
        }
    });
    setTimeout(function (){
        if (p2 == "1"){
            var level = map.getLevel();
            var floor = map.getFloor(level);
            for(var i = 0 ; i <personlist2.length;i++){
                var xy
                var turl;
                xy = fengmap.FMCalculator.latlngToMapCoordinate({
                    x: personlist2[i].baoliu6,
                    y: personlist2[i].baoliu7
                });
                turl = '/hxzkuwb/Icon/jizhan.png';
                fmarkerAnchor = new fengmap.FMImageMarker({
                    url: turl,
                    x: xy.x,
                    y: xy.y,
                });
                var windowHtml = '<div class="" style="height: 100px;width: 80px;text-align: center;position: absolute;top: -40px;left: -40px">';
                windowHtml += `<div class="content" style="border-radius: 5px;background-color:ghostwhite;"><a style="color: black;font-size: 14px"> 基站:` + personlist2[i].anchorid + `</a></div>`;
                windowHtml += `</div>`;
                lmarkerAnchor = new fengmap.FMDomMarker({
                    x: xy.x,
                    y: xy.y,
                    content: windowHtml
                });
                fmarkerAnchor.addTo(floor);
                lmarkerAnchor.addTo(floor)
                jizhanbc[personlist2[i].anchorid] = fmarkerAnchor;
                jizhanbclabel[personlist2[i].anchorid] = lmarkerAnchor;
            }
        function quxiao3() {
            sousuopd = false;
            sousuoid = "";
            document.getElementById("sou").style.display = "";
            document.getElementById("sousuotagid").value = "";
            jizhanflag = true;
        }
        //显示网关
        if (p3 == "1"){
            var level = map.getLevel();
            var floor = map.getFloor(level);
            for(var i = 0 ; i <personlist3.length;i++){
        function sousuo3() {
            sousuopd = true;
            sousuoid = $("#sousuotagid").val();
            document.getElementById("qu").style.display = "";
                var xy
                var turl;
                xy = fengmap.FMCalculator.latlngToMapCoordinate({
                    x: personlist3[i].lon,
                    y: personlist3[i].lat
                });
                turl = '/hxzkuwb/Icon/wangguan.png';
                fmarkerAnchor = new fengmap.FMImageMarker({
                    url: turl,
                    x: xy.x,
                    y: xy.y,
                });
                var windowHtml = '<div class="" style="height: 100px;width: 80px;text-align: center;position: absolute;top: -40px;left: -40px">';
                windowHtml += `<div class="content" style="border-radius: 5px;background-color:ghostwhite;"><a style="color: black;font-size: 14px"> 网关:` + personlist3[i].loragwid + `</a></div>`;
                windowHtml += `</div>`;
                lmarkerAnchor = new fengmap.FMDomMarker({
                    x: xy.x,
                    y: xy.y,
                    content: windowHtml
                });
                fmarkerAnchor.addTo(floor);
                lmarkerAnchor.addTo(floor)
                wangguanbc[personlist3[i].loragwid] = fmarkerAnchor;
                wangguanbclabel[personlist3[i].loragwid] = lmarkerAnchor;
            }
            wangguanflag = true;
        }
        sousuo = sousuo3;
        quxiao = quxiao3;
        //显示聚集效果
    },1000)
    var timer = setTimeout(function f() {
        fn3();
        timer = setTimeout(f, 3000);
    }, 3000);
    var ans = "Yes";
        //循环移动
    var personlist2 = FindShowJiZhan();
    var personlist3 = FindShowWangGuan();
    var radioes = 0;
    $.ajax({
        url: "/hxzkuwb/findPerAll",
        type: "GET",
        async: false,
        success: function(data) {
            if(data == "-1" || data == ""){
                radioes = 20
            }else{
                radioes = data[0].redius/100
            }
        },
    });
radioes = 100
   setInterval(function (){
       fn3();
   },2000)
        function fn3() {
            if(localStorage.getItem("三维地图") != "执行"){
                return
            }
            var personlist1 = getRealPositionsanwei();
            var radioes = 0;
            $.ajax({
                url: "/hxzkuwb/findPerAll",
                type: "GET",
                async: false,
                success: function(data) {
                    radioes = data[0].redius
                },
            });
                //显示基站
            if (localStorage.getItem("jizhanshow") == "1"){
                for(var i = 0 ; i <personlist2.length;i++){
                    var level = map.getLevel();
                    var floor1 = map.getFloor(level);
                        var xy
                        var turl;
                        xy = fengmap.FMCalculator.latlngToMapCoordinate({
                            x: personlist2[i].baoliu6,
                            y: personlist2[i].baoliu7
                        });
                        turl = '/hxzkuwb/Icon/jizhan.png';
                        fmarkerAnchor = new fengmap.FMImageMarker({
                            url: turl,
                            x: xy.x,
                            y: xy.y,
                        });
                        var windowHtml = '<div class="" style="height: 100px;width: 80px;text-align: center;position: absolute;top: -40px;left: -40px">';
                        windowHtml += `<div class="content" style="border-radius: 5px;background-color:ghostwhite;"><a style="color: black;font-size: 14px"> 基站:` + personlist2[i].anchorid + `</a></div>`;
                        windowHtml += `</div>`;
                        lmarkerAnchor = new fengmap.FMDomMarker({
                            x: xy.x,
                            y: xy.y,
                            content: windowHtml
                        });
                        fmarkerAnchor.addTo(floor1);
                        lmarkerAnchor.addTo(floor1)
            kqhuizhi = sessionStorage.getItem("kqhuizhi")
            if (sessionStorage.getItem("QuYuKuangXuan") == "1" && kqhuizhi == "true"){
                kq()
            }else if (kqhuizhi == "false1"){
                closet()
            }
            var personlist4 = FindShowJianZhu();
            var levelJian = map.getLevel()
            var floorJian = map.getFloor(levelJian)
            for (var i = 0; i <personlist4.length; i++){
                if (personlist4[i].pname ==3 && personlist4[i].baoliu39 != ""  && personlist4[i].baoliu39 != "0" && personlist4[i].baoliu39 != "-1"){
                    //黄色闪烁
                    model = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === personlist4[i].baoliu39)
                    model.flash('yellow')
                }
                if (personlist4[i].pname >3 && personlist4.pname <=6 && personlist4[i].baoliu39 != "" && personlist4[i].baoliu39 != "0" && personlist4[i].baoliu39 != "-1"){
                    //橙色闪烁
                    model = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === personlist4[i].baoliu39)
                    model.flash('orange')
                }
                if (personlist4[i].pname >6 && personlist4[i].baoliu39 != "" && personlist4[i].baoliu39 != "-1" && personlist4[i].baoliu39 != "0" ){
                    model = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === personlist4[i].baoliu39)
                    model.flash('blue')
                }
            }
            //显示网关
            if (localStorage.getItem("wangguanshow") == "1"){
                for(var i = 0 ; i <personlist3.length;i++){
                    var level = map.getLevel();
                    var floor1 = map.getFloor(level);
                    var xy
                    var turl;
                    xy = fengmap.FMCalculator.latlngToMapCoordinate({
                        x: personlist3[i].lon,
                        y: personlist3[i].lat
                    });
                    console.log(xy)
                    turl = '/hxzkuwb/Icon/wangguan.png';
                    fmarkerAnchor = new fengmap.FMImageMarker({
                        url: turl,
                        x: xy.x,
                        y: xy.y,
                    });
                    var windowHtml = '<div class="" style="height: 100px;width: 80px;text-align: center;position: absolute;top: -40px;left: -40px">';
                    windowHtml += `<div class="content" style="border-radius: 5px;background-color:ghostwhite;"><a style="color: black;font-size: 14px"> 网关:` + personlist3[i].loragwid + `</a></div>`;
                    windowHtml += `</div>`;
                    lmarkerAnchor = new fengmap.FMDomMarker({
                        x: xy.x,
                        y: xy.y,
                        content: windowHtml
                    });
                    fmarkerAnchor.addTo(floor1);
                    lmarkerAnchor.addTo(floor1)
                }
            }
            var personlist1 = getRealPositionsanweiOffOnline();
            for (var i = 0; i < personlist1.length; i++) {
                var xy;
                var turl;
                xy = fengmap.FMCalculator.latlngToMapCoordinate({
                    x: personlist1[i][4],
                    y: personlist1[i][5]
                    x: personlist1[i].baoliu2,
                    y: personlist1[i].baoliu3
                });
                turl = '/hxzkuwb/Icon/' + personlist1[i][20] + '';
                var fmarker = biaoqians[personlist1[i][0]];
                var lmarker = biaoqianids[personlist1[i][0]];
                var circles = biaoqianidc[personlist1[i][0]]
                turl = '/hxzkuwb/Icon/' + personlist1[i].pimage + '';
                var fmarker = biaoqians[personlist1[i].ptagid];
                var lmarker = biaoqianids[personlist1[i].ptagid];
                var circles = biaoqianidc[personlist1[i].ptagid]
                if (fmarker) {
                    // 如果标记存在,则更新坐标
                    fmarker.moveTo({
@@ -766,16 +498,145 @@
                        x: xy.x,
                        y: xy.y
                    });
                    if (circles){
                        circles.remove();
                        //从数据库获取半径
                        var level = map.getLevel();
                        var floor = map.getFloor(level);
                        var panelSet;
                        if(personlist1[i][22] <=3 && personlist1[i][3] == 1 && personlist1[i][22] > 0){
                    // if (circles) {
                    //     circles.remove();
                    //     var level = map.getLevel();
                    //     var floor = map.getFloor(level);
                    //     var panelSet;
                    //     if (personlist1[i].baoliu38 <= 3 && personlist1[i].ponline == 1 && personlist1[i].baoliu38 > 1) {
                    //         //黄色告警区域
                    //         panelSet = {
                    //             height: 0,
                    //             opacity: 50,
                    //             color: '#FFFF00',
                    //             borderWidth: 0,
                    //             borderColor: '#FFFF00',
                    //         }
                    //         var publicOption = {
                    //             ...panelSet,
                    //             opacity: Number(panelSet.opacity) / 100,
                    //         }
                    //
                    //         /* 添加圆形 */
                    //         var circle_radius = radioes;
                    //         // segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
                    //         var circle_segments = 500;
                    //         var circle_center = {
                    //             x: xy.x,
                    //             y: xy.y,
                    //         };
                    //         /* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
                    //         var circleOption = {
                    //             points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
                    //             x: xy.x,
                    //             y: xy.y,
                    //             ...publicOption
                    //         }
                    //         circle = new fengmap.FMPolygonMarker(circleOption);
                    //         circle.addTo(floor);
                    //     }
                    //
                    //     if (personlist1[i].baoliu38 > 3 && personlist1[i].baoliu38 <= 6 && personlist1[i].ponline == 1) {
                    //         //橙色告警区域
                    //         panelSet = {
                    //             height: 0,
                    //             opacity: 50,
                    //             color: '#FFBF01',
                    //             borderWidth: 0,
                    //             borderColor: '#FFBF01',
                    //         }
                    //         var publicOption = {
                    //             ...panelSet,
                    //             opacity: Number(panelSet.opacity) / 100,
                    //         }
                    //
                    //         /* 添加圆形 */
                    //         var circle_radius = radioes;
                    //         // segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
                    //         var circle_segments = 500;
                    //         var circle_center = {
                    //             x: xy.x,
                    //             y: xy.y,
                    //         };
                    //         /* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
                    //         var circleOption = {
                    //             points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
                    //             x: xy.x,
                    //             y: xy.y,
                    //             ...publicOption
                    //         }
                    //         circle = new fengmap.FMPolygonMarker(circleOption);
                    //         circle.addTo(floor);
                    //     }
                    //
                    //     if (personlist1[i].baoliu38 > 6 && personlist1[i].ponline == 1) {
                    //         //红色告警区域
                    //         panelSet = {
                    //             height: 0,
                    //             opacity: 50,
                    //             color: '#FF0000',
                    //             borderWidth: 0,
                    //             borderColor: '#FF0000',
                    //         }
                    //         var publicOption = {
                    //             ...panelSet,
                    //             opacity: Number(panelSet.opacity) / 100,
                    //         }
                    //
                    //         /* 添加圆形 */
                    //         var circle_radius = radioes;
                    //         // segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
                    //         var circle_segments = 500;
                    //         var circle_center = {
                    //             x: xy.x,
                    //             y: xy.y,
                    //         };
                    //         /* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
                    //         var circleOption = {
                    //             points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
                    //             x: xy.x,
                    //             y: xy.y,
                    //             ...publicOption
                    //         }
                    //         circle = new fengmap.FMPolygonMarker(circleOption);
                    //         circle.addTo(floor);
                    //     }
                    //     biaoqianidc[personlist1[i].ptagid] = circle;
                    // }
                } else {
                        // 如果标记不存在,则添加marker
                        fmarker = new fengmap.FMImageMarker({
                            url: turl,
                            x: xy.x,
                            y: xy.y,
                        });
                         if (personlist1[i].ponline == "1"){
                             var windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -40px;left: -50px">';
                             windowHtml += `<div class="content" style="border-radius: 5px;background-color: ` + personlist1[i].bumencolor + `;"><a style="color: white;font-size: 12px"> ` + personlist1[i].pname+ `</a></div>`;
                             windowHtml += `</div>`;
                             lmarker = new fengmap.FMDomMarker({
                                 x: xy.x,
                                 y: xy.y,
                                 content: windowHtml
                             });
                         }else{
                             var windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -40px;left: -50px">';
                             windowHtml += `<div class="content" style="border-radius: 5px;background-color: ` + personlist1[i].bumencolor + `;"><a style="color: white;font-size: 12px"> ` + personlist1[i].pname + `-离线</a></div>`;
                             windowHtml += `</div>`;
                             lmarker = new fengmap.FMDomMarker({
                                 x: xy.x,
                                 y: xy.y,
                                 content: windowHtml
                             });
                         }
                    var level = map.getLevel();
                    var floor = map.getFloor(level);
                    if (sessionStorage.getItem("PerCircles") == "Yes"){
                        if (personlist1[i].baoliu38 <= 3 && personlist1[i].ponline == 1 && personlist1[i].baoliu38 > 1) {
                            //黄色告警区域
                            panelSet = {
                                height: 10,
                                height: 0,
                                opacity: 50,
                                color: '#FFFF00',
                                borderWidth: 0,
@@ -805,10 +666,10 @@
                            circle.addTo(floor);
                        }
                        if(personlist1[i][22]>3 && personlist1[i][22] <=6 && personlist1[i][3] == 1){
                        if (personlist1[i].baoliu38 > 3 && personlist1[i].baoliu38 <= 6 && personlist1[i].ponline == 1) {
                            //橙色告警区域
                            panelSet = {
                                height: 10,
                                height: 0,
                                opacity: 50,
                                color: '#FFBF01',
                                borderWidth: 0,
@@ -838,10 +699,10 @@
                            circle.addTo(floor);
                        }
                        if(personlist1[i][22] >6 && personlist1[i][3] == 1){
                        if (personlist1[i].baoliu38 > 6 && personlist1[i].ponline == 1) {
                            //红色告警区域
                            panelSet = {
                                height: 10,
                                height: 0,
                                opacity: 50,
                                color: '#FF0000',
                                borderWidth: 0,
@@ -870,157 +731,16 @@
                            circle = new fengmap.FMPolygonMarker(circleOption);
                            circle.addTo(floor);
                        }
                        biaoqianidc[personlist1[i][0]] = circle;
                    }
                } else {
                    // 如果标记不存在,则添加marker
                    fmarker = new fengmap.FMImageMarker({
                        url: turl,
                        x: xy.x,
                        y: xy.y,
                    });
                    var windowHtml = "";
                   if(personlist1[i][3]=="0"){
                        windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -30px;left: -30px">';
                       windowHtml += `<div class="content" style="border-radius: 5px;background-color:rgb(102,102,102,0.5);"><a style="color: white;font-size: 16px"> ` + personlist1[i][1] + `-离线</a></div>`;
                       windowHtml += `</div>`;
                       lmarker = new fengmap.FMDomMarker({
                           x: xy.x,
                           y: xy.y,
                           content: windowHtml
                       });
                   }else{
                      if (personlist1[i][1].length>7){
                          var name = personlist1[i][1].substring(0,6)
                          var windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -40px;left: -50px">';
                          windowHtml += `<div class="content" style="border-radius: 5px;background-color: ` + personlist1[i][21] + `;"><a style="color: white;font-size: 16px"> ` + name + `</a></div>`;
                          windowHtml += `</div>`;
                          lmarker = new fengmap.FMDomMarker({
                              x: xy.x,
                              y: xy.y,
                              content: windowHtml
                          });
                      }else{
                          var windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -40px;left: -50px">';
                          windowHtml += `<div class="content" style="border-radius: 5px;background-color: ` + personlist1[i][21] + `;"><a style="color: white;font-size: 16px"> ` + personlist1[i][1] + `</a></div>`;
                          windowHtml += `</div>`;
                          lmarker = new fengmap.FMDomMarker({
                              x: xy.x,
                              y: xy.y,
                              content: windowHtml
                          });
                      }
                   }
                    var level = map.getLevel();
                    var floor = map.getFloor(level);
                    var panelSet;
                    if(personlist1[i][22] <=3 && personlist1[i][3] == 1 && personlist1[i][22] > 0){
                        //黄色告警区域
                        panelSet = {
                            height: 10,
                            opacity: 50,
                            color: '#FFFF00',
                            borderWidth: 2,
                            borderColor: '#FFFF00',
                        }
                        var publicOption = {
                            ...panelSet,
                            opacity: Number(panelSet.opacity) / 100,
                        }
                        /* 添加圆形 */
                        var circle_radius = radioes;
                        // segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
                        var circle_segments = 500;
                        var circle_center = {
                            x: xy.x,
                            y: xy.y,
                        };
                        /* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
                        var circleOption = {
                            points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
                            x: xy.x,
                            y: xy.y,
                            ...publicOption
                        }
                        circle = new fengmap.FMPolygonMarker(circleOption);
                        circle.addTo(floor);
                    }
                    if(personlist1[i][22]>3 && personlist1[i][22] <=6 && personlist1[i][3] == 1){
                        //橙色告警区域
                        panelSet = {
                            height: 10,
                            opacity: 50,
                            color: '#FFBF01',
                            borderWidth: 2,
                            borderColor: '#FFBF01',
                        }
                        var publicOption = {
                            ...panelSet,
                            opacity: Number(panelSet.opacity) / 100,
                        }
                        /* 添加圆形 */
                        var circle_radius = radioes;
                        // segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
                        var circle_segments = 500;
                        var circle_center = {
                            x: xy.x,
                            y: xy.y,
                        };
                        /* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
                        var circleOption = {
                            points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
                            x: xy.x,
                            y: xy.y,
                            ...publicOption
                        }
                        circle = new fengmap.FMPolygonMarker(circleOption);
                        circle.addTo(floor);
                    }
                    if(personlist1[i][22] >6 && personlist1[i][3] == 1){
                        //红色告警区域
                        panelSet = {
                            height: 10,
                            opacity: 50,
                            color: '#FF0000',
                            borderWidth: 2,
                            borderColor: '#FF0000',
                        }
                        var publicOption = {
                            ...panelSet,
                            opacity: Number(panelSet.opacity) / 100,
                        }
                        /* 添加圆形 */
                        var circle_radius = radioes;
                        // segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
                        var circle_segments = 500;
                        var circle_center = {
                            x: xy.x,
                            y: xy.y,
                        };
                        /* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
                        var circleOption = {
                            points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
                            x: xy.x,
                            y: xy.y,
                            ...publicOption
                        }
                        circle = new fengmap.FMPolygonMarker(circleOption);
                        circle.addTo(floor);
                    }
                    fmarker.addTo(floor);
                    lmarker.addTo(floor);
                    biaoqians[personlist1[i][0]] = fmarker;
                    biaoqianids[personlist1[i][0]] = lmarker;
                    biaoqianidc[personlist1[i][0]] = circle;
                    biaoqians[personlist1[i].ptagid] = fmarker;
                    biaoqianids[personlist1[i].ptagid] = lmarker;
                    biaoqianidc[personlist1[i].ptagid] = circle;
                }
                if (localStorage.getItem("oNLine") == "No" && personlist1[i][3] == "0") {
                if (sessionStorage.getItem("oNLine")== "No" && personlist1[i].ponline == "0") {
                    // 如果标记不在线且设备离线,则移除标记
                    fmarker.remove();
                    lmarker.remove();;
@@ -1028,6 +748,7 @@
                    delete biaoqianids[personlist1[i][0]];
                }
            }
        }