yzt
2023-09-27 726603df43447f8cfedfeaae4267209adbd01699
src/main/webapp/hxzk/mapshow/mapShow.jsp
@@ -1,133 +1,201 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
   <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
         <html lang="en">
         <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
            <html lang="en">
         <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
            <title>华星智控定位管理系统 </title>
            <link rel="icon" type="image/x-icon" href="/hxzkoa/hxzk/assets/img/favicon.ico" />
            <link href="/hxzkoa/hxzk/assets/css/loader.css" rel="stylesheet" type="text/css" />
            <script src="/hxzkoa/hxzk/assets/js/loader.js"></script>
            <head>
               <meta charset="utf-8">
               <meta http-equiv="X-UA-Compatible" content="IE=edge">
               <meta name="viewport" content="width=device-width, initial-scale=1">
               <title>切换地图</title>
            <!-- BEGIN GLOBAL MANDATORY STYLES -->
            <link href="https://fonts.googleapis.com/css?family=Quicksand:400,500,600,700&display=swap"
               rel="stylesheet">
            <link href="/hxzkoa/hxzk/assets/css/components/custom-sweetalert.css" rel="stylesheet"
               type="text/css" />
            <link href="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert2.min.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/assets/css/main.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/plugins/perfect-scrollbar/perfect-scrollbar.css" rel="stylesheet"
               type="text/css" />
            <link href="/hxzkoa/hxzk/assets/css/structure.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/plugins/highlight/styles/monokai-sublime.css" rel="stylesheet"
               type="text/css" />
            <!-- END GLOBAL MANDATORY STYLES -->
               <link rel="icon" type="image/x-icon" href="/hxzkoa/hxzk/assets/img/favicon.ico" />
               <link href="/hxzkoa/hxzk/assets/css/loader.css" rel="stylesheet" type="text/css" />
               <script src="/hxzkoa/hxzk/assets/js/loader.js"></script>
               <link href="/hxzkoa/hxzk/assets/css/structure.css" rel="stylesheet" type="text/css" />
               <!-- BEGIN GLOBAL MANDATORY STYLES -->
               <link href="https://fonts.googleapis.com/css?family=Quicksand:400,500,600,700&display=swap"
                  rel="stylesheet">
               <link href="/hxzkoa/hxzk/assets/css/components/custom-sweetalert.css" rel="stylesheet"
                  type="text/css" />
               <link href="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert2.min.css" rel="stylesheet"
                  type="text/css" />
               <link href="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert.css" rel="stylesheet" type="text/css" />
               <link href="/hxzkoa/hxzk/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
               <link href="/hxzkoa/hxzk/assets/css/main.css" rel="stylesheet" type="text/css" />
               <link href="/hxzkoa/hxzk/plugins/perfect-scrollbar/perfect-scrollbar.css" rel="stylesheet"
                  type="text/css" />
               <link href="/hxzkoa/hxzk/assets/css/structure.css" rel="stylesheet" type="text/css" />
               <link href="/hxzkoa/hxzk/plugins/highlight/styles/monokai-sublime.css" rel="stylesheet"
                  type="text/css" />
               <!-- END GLOBAL MANDATORY STYLES -->
            <!-- BEGIN PAGE LEVEL PLUGINS/CUSTOM STYLES -->
            <link href="/hxzkoa/hxzk/assets/css/elements/search.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/plugins/apex/apexcharts.css" rel="stylesheet" type="text/css">
            <link href="/hxzkoa/hxzk/assets/css/dashboard/dash_2.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/assets/css/elements/custom-pagination.css" rel="stylesheet" type="text/css" />
            <link href="/hxzkoa/hxzk/assets/css/components/custom-modal.css" rel="stylesheet" type="text/css" />
            <!-- END PAGE LEVEL PLUGINS/CUSTOM STYLES -->
            <link rel="preconnect" href="https://fonts.gstatic.com">
            <link href="https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap" rel="stylesheet">
            <link rel="stylesheet" type="text/css" href="/hxzkoa/hxzk/plugins/table/datatable/datatables.css">
            <link rel="stylesheet" type="text/css" href="/hxzkoa/hxzk/plugins/table/datatable/custom_dt_html5.css">
            <link rel="stylesheet" type="text/css" href="/hxzkoa/hxzk/plugins/table/datatable/dt-global_style.css">
            <style>
               .panel-head {
                  font-size: 1rem;
                  color: rgba(255, 255, 255, .7);
                  line-height: 2rem;
                  text-align: center;
                  background: linear-gradient(rgb(0, 20, 30), rgb(0, 40, 70));
                  border: 2px solid rgba(0, 90, 120, .3);
               }
               <!-- BEGIN PAGE LEVEL PLUGINS/CUSTOM STYLES -->
               <link href="/hxzkoa/hxzk/assets/css/elements/search.css" rel="stylesheet" type="text/css" />
               <link href="/hxzkoa/hxzk/plugins/apex/apexcharts.css" rel="stylesheet" type="text/css">
               <link href="/hxzkoa/hxzk/assets/css/dashboard/dash_2.css" rel="stylesheet" type="text/css" />
               <link href="/hxzkoa/hxzk/assets/css/elements/custom-pagination.css" rel="stylesheet"
                  type="text/css" />
               <link href="/hxzkoa/hxzk/assets/css/components/custom-modal.css" rel="stylesheet" type="text/css" />
               <!-- END PAGE LEVEL PLUGINS/CUSTOM STYLES -->
               <link rel="preconnect" href="https://fonts.gstatic.com">
               <link rel="stylesheet" type="text/css" hrpe="/hxzkoa/hxzk/assets/css/vxgplayer-1.8.40.min.css">
               <link href="https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap" rel="stylesheet">
               <link rel="stylesheet" type="text/css" href="/hxzkoa/hxzk/plugins/table/datatable/datatables.css">
               <link rel="stylesheet" type="text/css"
                  href="/hxzkoa/hxzk/plugins/table/datatable/custom_dt_html5.css">
               <link rel="stylesheet" type="text/css"
                  href="/hxzkoa/hxzk/plugins/table/datatable/dt-global_style.css">
               <style>
                  body {
                     margin: 0px;
                     width: 100%;
                     min-width: 1500px;
                     max-width: 100%;
                     height: 100%;
                     background-color: #F0F0F0;
                     background: url("/hxzkoa/resources/images/bottomBackground2.jpg");
                  }
               .table-bordered td,
               .table-bordered th {
                  border: 1px solid #ebedf2;
               }
                  #head {
                     background-color: #FFFF00;
                     width: 100%;
                     height: 100px;
                  }
                  #center {
                     background-color: #00FFFF;
                     width: 100%;
                     min-height: 100%;
                  }
               .canvasWrap {
                  width: 100%;
                  height: 100%
               }
                  #foot {
                     background-color: #FF00FF;
                     width: 100%;
                     height: 100px;
                  }
               .mark_list {
                  position: absolute;
                  top: 20px;
                  right: 10px;
               }
                  .panel-head {
                     font-size: 1rem;
                     color: rgba(255, 255, 255, .7);
                     line-height: 2rem;
                     text-align: center;
                     background: linear-gradient(rgb(0, 20, 30), rgb(0, 40, 70));
                     border: 2px solid rgba(0, 90, 120, .3);
                  }
               .mark_list li {
                  float: left;
                  width: 100px;
                  border-radius: 4px;
                  border: 1px solid #ccc;
                  list-style: none;
                  line-height: 30px;
                  text-align: center;
                  color: #333;
                  background: #fff;
                  cursor: pointer;
               }
                  .table-bordered td,
                  .table-bordered th {
                     border: 1px solid #ebedf2;
                  }
               .mark_list li:hover {
                  background: #009a8f;
                  color: #fff;
               }
                  .canvasWrap {
                     width: 100%;
                     height: 100%
                  }
               .popup {
                  width: 100vw;
                  height: 100vh;
                  background-color: rgba(0, 0, 0, .5);
                  position: fixed;
                  left: 0;
                  top: 0;
                  bottom: 0;
                  right: 0;
                  display: none;
                  justify-content: center;
                  align-items: center;
                  z-index: 9999;
               }
                  .mark_list {
                     position: absolute;
                     top: 20px;
                     right: 10px;
                  }
                  span{
                     color: #191E3A;
                  }
                  .mark_list li {
                     float: left;
                     width: 100px;
                     border-radius: 4px;
                     border: 1px solid #ccc;
                     list-style: none;
                     line-height: 30px;
                     text-align: center;
                     color: #333;
                     background: #fff;
                     cursor: pointer;
                  }
               .popup-content {
                  width: 640px;
                  height: 360px;
                  background-color: #fff;
                  box-sizing: border-box;
                  /*padding: 10px 30px;*/
                  color: black;
               }
            </style>
         </head>
                  .mark_list li:hover {
                     background: #009a8f;
                     color: #fff;
                  }
         <body class="alt-menu sidebar-noneoverflow" style="position: relative;">
                  .popup {
                     width: 100vw;
                     height: 100vh;
                     background-color: rgba(0, 0, 0, .5);
                     position: fixed;
                     left: 0;
                     top: 0;
                     bottom: 0;
                     right: 0;
                     display: none;
                     justify-content: center;
                     align-items: center;
                     z-index: 9999;
                  }
            <!-- BEGIN LOADER -->
            <div id="load_screen">
               <div class="loader">
                  <div class="loader-content">
                     <div class="spinner-grow align-self-center"></div>
                  .popup-content {
                     width: 640px;
                     height: 360px;
                     background-color: #fff;
                     box-sizing: border-box;
                     /*padding: 10px 30px;*/
                     color: black;
                  }
                  .blue{
                     margin-top: 14px;
                     font-weight: bolder;
                     font-size: 14px;
                  }
                  .blue1,.blue2,.blue3,.blue4:active{
                     color: black;
                     border-radius: 5px;
                  }
                  .blue4{
                     color: black;
                     border-radius: 5px;
                  }
                  .blue1{
                     text-decoration: none;
                     color: white;
                     font-weight: bolder;
                  }
                  .container{
                     box-shadow: 1px 2px 5px #666666;
                     position: fixed;
                     top: 400px;
                     left: 1820px;
                     z-index: 99999999999;
                     opacity: 1;
                  }
               </style>
            </head>
            <body class="alt-menu sidebar-noneoverflow" style="position: relative;text-align:center;">
               <!-- BEGIN LOADER -->
               <!-- <div id="load_screen">
                  <div class="loader">
                     <div class="loader-content">
                        <div class="spinner-grow align-self-center"></div>
                     </div>
                  </div>
               </div> -->
               <!--  END LOADER -->
               <div class="border-left"
                  style="opacity: 0.4; float: left; position: absolute; z-index: 1; left: 120px; height: 20px;">
                  <img alt="" src="/hxzkoa/resources/images/border.png" class="img-left">
               </div>
            </div>
            <!--  END LOADER -->
            <div class="border-left"
               style="opacity:0.4;float:left;position:absolute;z-index:1;left:120px;height:20px;"><img alt=""
                  src="/hxzkoa/resources/images/border.png" class="img-left"></div>
            <div class="border-right" style="opacity:0.4;float:right;position:absolute;z-index:2;right:120px;"><img
                  alt="" src="/hxzkoa/resources/images/border2.png" class="img-right"></div>
            <!-- <div>
               <div class="border-right"
                  style="opacity: 0.4; float: right; position: absolute; z-index: 2; right: 120px;">
                  <img alt="" src="/hxzkoa/resources/images/border2.png" class="img-right">
               </div>
               <!-- <div>
               <input style="width: 200px;position: fixed;top: 50px;right: 230px;z-index: 9999;" type="text"
                  id="tagidaaa" class="form-control" placeholder="请输入标签ID">
               <button style="width: 80px;position: fixed;top: 50px;right: 130px;z-index: 9999;" type="button"
@@ -135,1521 +203,1688 @@
               <button style="width: 80px;position: fixed;top: 50px;right: 130px;z-index: 9999;" type="button"
                  class="btn btn-secondary" id="stop">取消</button>
            </div> -->
            <div
               style="width: 300px;display:flex;justify-content: space-between; position: absolute;top: 50px;right: 28px;z-index: 9999;">
               <input style="width: 200px;" type="text" id="tagidaaa" class="form-control" placeholder="请输入标签ID">
               <button style="width: 80px;" type="button" class="btn btn-secondary" id="search">搜索</button>
               <button style="width: 80px;" type="button" class="btn btn-secondary" id="stop">取消</button>
               <!-- <button type="button" onclick="showPopup()">弹窗</button> -->
            </div>
            <!--  BEGIN NAVBAR  -->
            <div class="login-page"></div>
            <!--  END NAVBAR  -->
<%--              <div--%>
<%--                 style="width: 300px; display: flex; justify-content: space-between; position: absolute; top: 50px; right: 28px; z-index: 9999;">--%>
<%--                 <input style="width: 200px;" type="text" id="tagidaaa" class="form-control"--%>
<%--                    placeholder="请输入标签ID">--%>
<%--                 <button style="width: 80px;" type="button" class="btn btn-secondary" id="search">搜索</button>--%>
<%--                 <button style="width: 80px;" type="button" class="btn btn-secondary" id="stop">取消</button>--%>
<%--                 <!-- <button type="button" onclick="showPopup()">弹窗</button> -->--%>
<%--              </div>--%>
               <!--  BEGIN NAVBAR  -->
               <div class="login-page"></div>
               <!--  END NAVBAR  -->
            <!--  BEGIN TOPBAR  -->
            <div class="header-page"></div>
            <!--  END TOPBAR  -->
               <!--  BEGIN TOPBAR  -->
               <div class="header-page"></div>
               <!--  END TOPBAR  -->
            <!--  BEGIN CONTENT PART  -->
            <div id="content" class="main-content">
               <div class="layout-px-spacing">
                  <div class="row layout-top-spacing" id="cancel-row">
                     <div class="col-xl-12 col-lg-12 col-sm-12  layout-spacing">
                        <div class="widget widget-one_hybrid widget-engagement" id="map0"
                           style="width:49.5%;float:left;" ondblclick="changemap0()">
                           <div class="widget-heading" style="height:450px;width:100%" id="maphead0">
                              <div class='panel-head' id="mapname0">地图0</div>
                              <div style="width:100%; height:400px; float:left" id="wrap0">
                                 <canvas id="draw0"></canvas>
               <!--  BEGIN CONTENT PART  -->
               <div id="content" class="main-content">
                  <div class="layout-px-spacing">
                     <div class="row layout-top-spacing" id="cancel-row">
                        <div class="col-xl-12 col-lg-12 col-sm-12  layout-spacing">
                           <div class="widget widget-one_hybrid widget-engagement" id="map0"
                              style="width: 100%; float: left;" ondblclick="changemap0()">
                              <div class="widget-heading" style="height: 800px; width: 100%" id="maphead0">
                                 <div class='panel-head' id="mapname0">地图0</div>
                                 <div style="width: 100%; height: 750px; float: left" id="wrap0">
                                    <canvas id="draw0"></canvas>
                                    <p style="z-index: 9999;" id="jiazai0">正在加载地图......</p>
                                 </div>
                              </div>
                           </div>
                        </div>
                        <div class="widget widget-one_hybrid widget-engagement"
                           style="margin-left:1%;width:49.5%;float:left;" id="map1" ondblclick="changemap1()">
                           <div class="widget-heading" style="height:450px;width:100%" id="maphead1">
                              <div class='panel-head' id="mapname1">地图1</div>
                              <div style="width:100%;  height:400px;float:left" id="wrap1">
                                 <canvas id="draw1"></canvas>
                           <div class="widget widget-one_hybrid widget-engagement"
                              style=" width: 100%; float: left;position: absolute;" id="map1"
                              ondblclick="changemap1()">
                              <div class="widget-heading" style="height: 800px; width: 100%;" id="maphead1">
                                 <div class='panel-head' id="mapname1">地图1</div>
                                 <div style="width: 100%; height: 750px; float: left" id="wrap1">
                                    <canvas id="draw1"></canvas>
                                    <p style="z-index: 9999;" id="jiazai1">正在加载地图......</p>
                                 </div>
                              </div>
                           </div>
                        </div>
                        <div class="widget widget-one_hybrid widget-engagement"
                           style="width:49.5%;float:left;margin-top:1%" id="map2" ondblclick="changemap2()">
                           <div class="widget-heading" style="height:450px;width:100%" id="maphead2">
                              <div class='panel-head' id="mapname2">地图2</div>
                              <div style="width:100%;  height:400px;float:left" id="wrap2">
                                 <canvas id="draw2"></canvas>
                           <div class="widget widget-one_hybrid widget-engagement"
                              style="width: 100%; float: left;position: absolute;" id="map2"
                              ondblclick="changemap2()">
                              <div class="widget-heading" style="height: 800px; width: 100%;" id="maphead2">
                                 <div class='panel-head' id="mapname2">地图2</div>
                                 <div style="width: 100%; height: 750px; float: left" id="wrap2">
                                    <canvas id="draw2"></canvas>
                                    <p style="z-index: 9999;" id="jiazai2">正在加载地图......</p>
                                 </div>
                              </div>
                           </div>
                        </div>
                        <div class="widget widget-one_hybrid widget-engagement"
                           style="width:49.5%;margin-left:1%;float:left;margin-top:1%" id="map3"
                           ondblclick="changemap3()">
                           <div class="widget-heading" style="height:450px;width:100%" id="maphead3">
                              <div class='panel-head' id="mapname3">地图4</div>
                              <div style="width:100%;  height:400px;float:left" id="wrap3">
                                 <canvas id="draw3"></canvas>
                           <div class="widget widget-one_hybrid widget-engagement"
                              style="width:100%; float: left;position: absolute;" id="map3"
                              ondblclick="changemap3()">
                              <div class="widget-heading" style="height: 800px; width: 100%;" id="maphead3">
                                 <div class='panel-head' id="mapname3">地图3</div>
                                 <div style="width: 100%; height: 750px; float: left" id="wrap3">
                                    <canvas id="draw3"></canvas>
                                    <p style="z-index: 9999;" id="jiazai3">正在加载地图......</p>
                                 </div>
                              </div>
                           </div>
                        </div>
                     </div>
                  </div>
               </div>
            </div>
            <div class="popup" id="popup" onclick="hidePopup(false)">
               <div class="popup-content" id="tanchuang">
                  <!-- <iframe src="http://192.168.1.100:10000/play.html?serial=34020000001320000003&code=34020000001310000002&aspect=fullscreen" width="640" height="360" allowfullscreen allow="autoplay; fullscreen"></iframe> -->
               <div  id="boxfloor1" style="width: 46px;height: 40px;position: absolute;top: 430px;left: 1810px;background-color: white;border-radius: 8px;opacity: 0.8;">
                  <a href="/hxzkoa/show.do" onclick="shouye()" id="shouye" style="margin-top: 4px;display: inline-block" ><img src="/hxzkoa/hxzk/image/icon/shouye.png" width="30"></a>
               </div>
            </div>
            <!--  END CONTENT PART  -->
               <!--  END CONTENT PART  -->
               <div style="background-color: white;width: 46px;height: 194px;border-radius: 10px;padding-top: 10px;padding-bottom: 10px;position: absolute;top: 500px;left: 1810px;opacity: 0.8;box-shadow: 2px 2px 3px black;z-index: 99999" id="boxfloor">
                  <a href="#" class="blue1"><div class="blue11" style="text-align: center;height: 30px;width: 30px;line-height: 30px;margin-top: 14px;margin: auto;color: black"onclick="f1()">F1</div></a>
                  <div style="margin: auto;width: 30px;border-top: 1px solid #cccccc;margin-top: 7px;display: none" class="f2"></div>
                  <a href="#" class="blue1"><div class="blue22" style="text-align: center;height: 30px;width: 30px;line-height: 30px;margin-top: 14px;margin: auto;margin-top: 10px;display: none;color: black" id="f2" onclick="f2()">F2</div></a>
                  <div style="margin: auto;width: 30px;border-top: 1px solid #cccccc;margin-top: 7px;display: none" class="f3"></div>
                  <a href="#" class="blue1"><div class="blue33" style="text-align: center;height: 30px;width: 30px;line-height: 30px;margin-top: 14px;margin: auto;margin-top: 10px;display: none;color: black" id="f3" onclick="f3()">F3</div></a>
                  <div style="margin: auto;width: 30px;border-top: 1px solid #cccccc;margin-top: 7px;display: none" class="f4"></div>
                  <a href="#" class="blue1"><div class="blue44" style="text-align: center;height: 30px;width: 30px;line-height: 30px;margin-top: 14px;margin: auto;margin-top: 10px;display: none;color: black" id="f4" onclick="f4()">F4</div></a>
               </div>
            <!-- END MAIN CONTAINER -->
               <!-- END MAIN CONTAINER -->
               <% String username=(String) session.getAttribute("username"); if (username==null ||
                  username.equals("")) { request.getRequestDispatcher("/hxzk/login.jsp").forward(request,
                  response); return; } %>
                  <input type="hidden" name="xianusera" id="xianusera" value="<%=username%>">
                  <!-- BEGIN GLOBAL MANDATORY SCRIPTS -->
                  <script src="/hxzkoa/hxzk/assets/js/libs/jquery-3.1.1.min.js"></script>
                  <script src="/hxzkoa/hxzk/assets/js/vxgplayer-1.8.40.min.js"></script>
                  <script src="/hxzkoa/hxzk/bootstrap/js/popper.min.js"></script>
                  <script src="/hxzkoa/hxzk/bootstrap/js/bootstrap.min.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
                  <script src="/hxzkoa/hxzk/assets/js/app.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/sweetalerts/promise-polyfill.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert2.min.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/sweetalerts/custom-sweetalert.js"></script>
                  <script
                     src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/dataTables.buttons.min.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/jszip.min.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/buttons.html5.min.js"></script>
                  <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/buttons.print.min.js"></script>
               <script src="/hxzkoa/hxzk/assets/js/custom.js"></script>
                  <script>
                     var result;
                     var department = [];
                     window.onload = function () {
                        App.init();
                        $.ajax({
                           async: false,
                           type: "POST",
                           url: "/hxzkoa/jiedepartment.do",
                           data: {},
                           dataType: "json",
                           success: function (data) {
                              for (var i = 0; i < data.dataList.length; i++) {
                                 department.push([data.dataList[i].departmentName, data.dataList[i].iconadress]);
                              };
                              if (data.dataList2[0].label == 0) {
                                 $("#labela").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].achor == 0) {
                                 $("#anchora").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].gps == 0) {
                                 $("#gpsa").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].fence == 0) {
                                 $("#fencea").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].warning == 0) {
                                 $("#warninga").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].history == 0) {
                                 $("#historya").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].attendance == 0) {
                                 $("#attendancea").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].basiclnfo == 0) {
                                 $("#basiclnfoa").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].video == 0) {
                                 $("#videoa").css({ 'display': 'none' });
                              };
                              if (data.dataList2[0].gas == 0) {
                                 $("#gasa").css({ 'display': 'none' });
                              };
                           },
                        });
                        document.getElementById("xianuser").innerHTML = document.getElementById("xianusera").value
                        result = getAllMap(); //result["mapname"]=mapnamelist, ['floor']=floorlist
                        diaoyonghuatu(result);
                     };
            <!-- BEGIN GLOBAL MANDATORY SCRIPTS -->
            <script src="/hxzkoa/hxzk/assets/js/libs/jquery-3.1.1.min.js"></script>
            <script src="/hxzkoa/hxzk/bootstrap/js/popper.min.js"></script>
            <script src="/hxzkoa/hxzk/bootstrap/js/bootstrap.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
            <script src="/hxzkoa/hxzk/assets/js/app.js"></script>
            <script src="/hxzkoa/hxzk/plugins/sweetalerts/promise-polyfill.js"></script>
            <script src="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert2.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/sweetalerts/custom-sweetalert.js"></script>
            <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/dataTables.buttons.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/jszip.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/buttons.html5.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/buttons.print.min.js"></script>
            <script>
               var result;
               $(document).ready(function () {
                  App.init(); $.ajax({ async: false, type: "POST", url: "/hxzkoa/getSysSetting_list.do", data: {}, dataType: "json", success: function (data) { title = data[0].title; document.title = title; }, });
                  result = getAllMap(); //result["mapname"]=mapnamelist, ['floor']=floorlist
                  diaoyonghuatu(result);
               });
                     $('.header-page').load('/hxzkoa/hxzk/top.html'); $('.login-page').load('/hxzkoa/hxzk/head.html');
                  </script>
               $('.header-page').load('/hxzkoa/hxzk/top.html'); $('.login-page').load('/hxzkoa/hxzk/head.html');
            </script>
            <script src="/hxzkoa/hxzk/assets/js/custom.js"></script>
            <!-- END GLOBAL MANDATORY SCRIPTS -->
                  <!-- END GLOBAL MANDATORY SCRIPTS -->
            <!-- > BEGIN PAGE FUNCTION SCRIPTS -->
                  <!-- > BEGIN PAGE FUNCTION SCRIPTS -->
            <script>
                  <script>
               //首页地图控制
               var full_screen = false;
               var timer_list = [];
               function getAllMap() {
                  var map = [];
                  var floor = [];
                  $.ajax({
                     async: false,
                     type: "POST",
                     url: "/hxzkoa/qiehuanditu_option.do",
                     dataType: 'json',
                     data: {},
                     success: function (data) {
                        if (data.length == 0) {
                           document.getElementById("map0").style.display = "none";
                           document.getElementById("map1").style.display = "none";
                           document.getElementById("map2").style.display = "none";
                           document.getElementById("map3").style.display = "none";
                        } else if (data.length == 1) {
                           document.getElementById("map0").style.width = "100%";
                           document.getElementById("mapname0").innerHTML = data[0].mapname;
                           document.getElementById("maphead0").style.height = "800px";
                           document.getElementById("wrap0").style.height = "750px";
                           document.getElementById("map1").style.display = "none";
                           document.getElementById("map2").style.display = "none";
                           document.getElementById("map3").style.display = "none";
                           full_screen = true;
                        } else if (data.length == 2) {
                           document.getElementById("map2").style.display = "none";
                           document.getElementById("map3").style.display = "none";
                        };
                        for (var i = 0; i < data.length; i++) {
                           str = "mapname" + i;
                           document.getElementById(str).innerHTML = data[i].mapname;
                           map.push(data[i].mapname);
                           floor.push(data[i].floor);
                           if (i == 3) {
                              break;
                     //选择楼层
                     function f1(){
                        document.getElementById("map0").style.display = "block";
                        document.getElementById("map1").style.display = "none";
                        document.getElementById("map2").style.display = "none";
                        document.getElementById("map3").style.display = "none";
                        $(".blue11").css("background-color","#1DECFE")
                        $(".blue22").css("background-color","white")
                        $(".blue33").css("background-color","white")
                        $(".blue44").css("background-color","white")
                     }
                     function f2(){
                        document.getElementById("map1").style.width = "100%";
                        document.getElementById("maphead1").style.height = "800px";
                        document.getElementById("wrap1").style.height = "750px";
                        document.getElementById("map0").style.display = "none";
                        document.getElementById("map1").style.display = "block";
                        document.getElementById("map2").style.display = "none";
                        document.getElementById("map3").style.display = "none";
                        $(".blue22").css("background-color","#1DECFE")
                        $(".blue33").css("background-color","white")
                        $(".blue44").css("background-color","white")
                        $(".blue11").css("background-color","white")
                     }
                     function f3(){
                        document.getElementById("map2").style.width = "100%";
                        document.getElementById("maphead2").style.height = "800px";
                        document.getElementById("wrap2").style.height = "750px";
                        document.getElementById("map0").style.display = "none";
                        document.getElementById("map1").style.display = "none";
                        document.getElementById("map2").style.display = "block";
                        document.getElementById("map3").style.display = "none";
                        $(".blue33").css("background-color","#1DECFE")
                        $(".blue44").css("background-color","white")
                        $(".blue22").css("background-color","white")
                        $(".blue11").css("background-color","white")
                     }
                     function f4(){
                        document.getElementById("map3").style.width = "100%";
                        document.getElementById("maphead3").style.height = "800px";
                        document.getElementById("wrap3").style.height = "750px";
                        document.getElementById("map0").style.display = "none";
                        document.getElementById("map1").style.display = "none";
                        document.getElementById("map2").style.display = "none";
                        document.getElementById("map3").style.display = "block";
                        $(".blue44").css("background-color","#1DECFE")
                        $(".blue33").css("background-color","white")
                        $(".blue22").css("background-color","white")
                        $(".blue11").css("background-color","white")
                     }
                     //首页地图控制
                     var full_screen = false;
                     var timer_list = [];
                     function getAllMap() {
                        var map = [];
                        var floor = [];
                        $.ajax({
                           async: false,
                           type: "POST",
                           url: "/hxzkoa/qiehuanditu_option.do",
                           dataType: 'json',
                           data: {},
                           success: function (data) {
                              if (data.length == 0) {
                                 document.getElementById("map0").style.display = "none";
                                 document.getElementById("map1").style.display = "none";
                                 document.getElementById("map2").style.display = "none";
                                 document.getElementById("map3").style.display = "none";
                              } else if (data.length  == 1) {
                                 tubiaochicun = 0.015;
                                 document.getElementById("map0").style.width = "100%";
                                 document.getElementById("mapname0").innerHTML = data[0].mapname;
                                 document.getElementById("maphead0").style.height = "800px";
                                 document.getElementById("wrap0").style.height = "750px";
                                 document.getElementById("map1").style.display = "none";
                                 document.getElementById("map2").style.display = "none";
                                 document.getElementById("map3").style.display = "none";
                                 full_screen = true;
                              }
                              if (data.length == 1) {
                                 $("#f1").css("display", "block")
                                 $("#boxfloor").css("height","50px")
                              }
                              if (data.length == 2) {
                                 $("#f2").css("display", "block")
                                 $(".f2").css("display", "block")
                                 $("#boxfloor").css("height","100px")
                              }
                              if (data.length == 3) {
                                 $("#f2").css("display", "block")
                                 $(".f2").css("display", "block")
                                 $("#f3").css("display", "block")
                                 $(".f3").css("display", "block")
                                 $("#boxfloor").css("height","150px")
                              }
                              if (data.length == 4) {
                                 $("#f2").css("display", "block")
                                 $(".f2").css("display", "block")
                                 $("#f3").css("display", "block")
                                 $(".f3").css("display", "block")
                                 $("#f4").css("display", "block")
                                 $(".f4").css("display", "block")
                              }
                              $(".floor1").css("display", "block")
                              for (var i = 0; i < data.length; i++) {
                                 console.log("123456789")
                                 str = "mapname" + i;
                                 document.getElementById(str).innerHTML = data[i].mapname;
                                 map.push(data[i].mapname);
                                 floor.push(data[i].floor);
                                 if (i == 3) {
                                    break;
                                 }
                              };
                           },
                        });
                        var result = [];
                        result['map'] = map;
                        result['floor'] = floor;
                        return result
                     }
                  </script>
                  <!-- 常用函数 -->
                  <script>
                     function BezierEllipse2(ctx, x, y, a, b) {
                        var k = .5522848,
                           ox = a * k, // 水平控制点偏移量
                           oy = b * k; // 垂直控制点偏移量</p> <p> ctx.beginPath();
                        //从椭圆的左端点开始顺时针绘制四条三次贝塞尔曲线
                        ctx.moveTo(x - a, y);
                        ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b);
                        ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y);
                        ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b);
                        ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y);
                        ctx.closePath();
                        ctx.stroke();
                     };
                     function getTruemap_all() {
                        var map_wl = {};
                        $.ajax({
                           async: false,
                           type: "POST",
                           url: "/hxzkoa/floornumTomap_all.do",
                           dataType: 'json',
                           data: {},
                           success: function (data) {
                              let tmp = new Set();
                              for (var i = 0; i < data.length; i++) {
                                 tmp.add(data[i].floor);
                              };
                              let tmpl = Array.from(tmp);
                              for (i in tmpl) {
                                 map_wl[tmpl[i]] = [];
                              }
                              for (var i = 0; i < data.length; i++) {
                                 map_wl[data[i].floor].push([data[i].x_Truelength, data[i].y_Truewidth]);
                              }
                           },
                        });
                        return map_wl;
                     };
                     function getYuandian_all() {
                        var yuandian = {};
                        $.ajax({
                           async: false,
                           type: "POST",
                           url: "/hxzkoa/floornumTomap_all.do",
                           dataType: 'json',
                           data: {},
                           success: function (data) {
                              let tmp = new Set();
                              for (var i = 0; i < data.length; i++) {
                                 tmp.add(data[i].floor);
                              };
                              let tmpl = Array.from(tmp);
                              for (i in tmpl) {
                                 yuandian[tmpl[i]] = [];
                              }
                              for (var i = 0; i < data.length; i++) {
                                 yuandian[data[i].floor].push([data[i].x0_length, data[i].y0_width]);
                              }
                           }
                        };
                     },
                  });
                  var result = [];
                  result['map'] = map;
                  result['floor'] = floor;
                  return result
               }
                        });
                        return yuandian;
                     };
            </script>
                     function getSystemSetting() {
                        var sysset = [];
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getSysSetting_list.do",
                           dataType: 'json',
                           success: function (data) {
                              sysset = data;
                           },
                        });
                        return sysset;
                     };
            <!-- 常用函数 -->
            <script>
               function getTruemap_all() {
                  var map_wl = {};
                  $.ajax({
                     async: false,
                     type: "POST",
                     url: "/hxzkoa/floornumTomap_all.do",
                     dataType: 'json',
                     data: {},
                     success: function (data) {
                        let tmp = new Set();
                        for (var i = 0; i < data.length; i++) {
                           tmp.add(data[i].floor);
                        };
                        let tmpl = Array.from(tmp);
                        for (i in tmpl) {
                           map_wl[tmpl[i]] = [];
                     function loadImages(sources, callback) {
                        var count = 0,
                           images = {},
                           imgNum = 0;
                        for (src in sources) {
                           imgNum++;
                        }
                        for (var i = 0; i < data.length; i++) {
                           map_wl[data[i].floor].push([data[i].x_Truelength, data[i].y_Truewidth]);
                        }
                     },
                  });
                  return map_wl;
               };
                        for (src in sources) {
                           images[src] = new Image();
               function getYuandian_all() {
                  var yuandian = {};
                  $.ajax({
                     async: false,
                     type: "POST",
                     url: "/hxzkoa/floornumTomap_all.do",
                     dataType: 'json',
                     data: {},
                     success: function (data) {
                        let tmp = new Set();
                        for (var i = 0; i < data.length; i++) {
                           tmp.add(data[i].floor);
                        };
                        let tmpl = Array.from(tmp);
                        for (i in tmpl) {
                           yuandian[tmpl[i]] = [];
                        }
                        for (var i = 0; i < data.length; i++) {
                           yuandian[data[i].floor].push([data[i].x0_length, data[i].y0_width]);
                        }
                     }
                  });
                  return yuandian;
               };
               function getSystemSetting() {
                  var sysset = [];
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getSysSetting_list.do",
                     dataType: 'json',
                     success: function (data) {
                        sysset = data;
                     },
                  });
                  return sysset;
               };
               function loadImages(sources, callback) {
                  var count = 0,
                     images = {},
                     imgNum = 0;
                  for (src in sources) {
                     imgNum++;
                  }
                  for (src in sources) {
                     images[src] = new Image();
                     images[src].onload = function () {
                        if (++count >= imgNum) {
                           callback(images);
                        }
                     }
                     images[src].src = sources[src];
                  }
               };
               function getTrackColor(yanse) {
                  var color;
                  if (yanse == "红色") {
                     var color = "red";
                  } else if (yanse == "绿色") {
                     var color = "green";
                  } else if (yanse == "蓝色") {
                     var color = "blue";
                  } else if (yanse == "白色") {
                     var color = "white";
                  } else if (yanse == "黑色") {
                     var color = "black";
                  } else if (yanse == "黄色") {
                     var color = "yellow";
                  }
                  return color
               };
               function getExistFence_all(leixing) {
                  var fencelist = {};
                  var fencecolor = {};
                  var fencename = {};
                  var fencetype = {};
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getFloorFence_all.do",
                     dataType: 'json',
                     data: {},
                     success: function (data) {
                        let tmp = new Set();
                        for (var i = 0; i < data.length; i++) {
                           tmp.add(data[i].floor);
                        };
                        let tmpl = Array.from(tmp);
                        for (i in tmpl) {
                           fencelist[tmpl[i]] = [];
                           fencecolor[tmpl[i]] = [];
                           fencename[tmpl[i]] = [];
                           fencetype[tmpl[i]] = [];
                        }
                        for (var i = 0; i < data.length; i++) {
                           fencelist[data[i].floor].push(data[i].zuobiao);
                           fencecolor[data[i].floor].push(data[i].color);
                           fencename[data[i].floor].push(data[i].name);
                           fencetype[data[i].floor].push(data[i].type);
                        }
                     }
                  });
                  if (leixing == "zuobiao") {
                     return fencelist
                  } else if (leixing == "color") {
                     return fencecolor
                  } else if (leixing == "name") {
                     return fencename
                  } else if (leixing == "type") {
                     return fencetype
                  };
               };
               function getDrawColor(yanse) {
                  var color;
                  if (yanse == "红色") {
                     var color = "rgba(255,0,0,0.3)";
                  } else if (yanse == "绿色") {
                     var color = "rgba(0,255,0,0.3)";
                  } else if (yanse == "蓝色") {
                     var color = "rgba(0,0,255,0.3)";
                  } else if (yanse == "白色") {
                     var color = "rgba(255,255,255,0.3)";
                  } else if (yanse == "黑色") {
                     var color = "rgba(0,0,0,0.3)";
                  }
                  return color
               };
               function inFenceOrNot(fence_list, node_list) {
                  //fence_list[x,y]
                  //node_list[x,y]
                  if (fence_list.length == 2) { //矩形
                     if (node_list[0] >= Math.min(fence_list[0][0], fence_list[1][0]) && node_list[0] <= Math.max(fence_list[0][0], fence_list[1][0])) {
                        if (node_list[1] >= Math.min(fence_list[0][1], fence_list[1][1]) && node_list[1] <= Math.max(fence_list[0][1], fence_list[1][1])) {
                           return true //在考勤区域
                        }
                     }
                     return false //不在考勤区域
                  } else if (fence_list.length > 2) { //多边形
                     for (var c = false, i = -1, l = fence_list.length, j = l - 1; ++i < l; j = i)
                        ((fence_list[i][1] <= node_list[1] && node_list[1] < fence_list[j][1]) || (fence_list[j][1] <= node_list[1] && node_list[1] < fence_list[i][1]))
                           && (node_list[0] < (fence_list[j][0] - fence_list[i][0]) * (node_list[1] - fence_list[i][1]) / (fence_list[j][1] - fence_list[i][1]) + fence_list[i][0])
                           && (c = !c);
                     return c;
                  }
               };
               function getGas(leixing) {
                  var gaslist = [];
                  var gasnongdu = [];
                  var gastype = [];
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getGas_list.do",
                     dataType: 'json',
                     data: {},
                     success: function (data) {
                        for (var i = 0; i < data.length; i++) {
                           gaslist.push([data[i].x, data[i].y]);
                           gasnongdu.push(data[i].nong_du);
                           gastype.push(data[i].gas_type);
                        }
                     }
                  });
                  if (leixing == "zuobiao") {
                     return gaslist
                  } else if (leixing == "type") {
                     return gastype
                  } else if (leixing == "nongdu") {
                     return gasnongdu
                  };
               };
               function getRealPosition(current_floor) {
                  var realposition = [];
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getRealPosition.do",
                     dataType: 'json',
                     data: {
                        floor: current_floor,
                     },
                     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].posx, data[i].posy, data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sousuo, data[i].shipin])
                        }
                     },
                  });
                  return realposition
               };
               function str_to_time(str) {
                  //根据字符串转换成对应的时间(秒)
                  if (str == "不显示实时轨迹") {
                     return 0;
                  } else if (str == "10秒钟") {
                     return 10;
                  } else if (str == "30秒钟") {
                     return 30;
                  } else if (str == "1分钟") {
                     return 60;
                  } else if (str == "10分钟") {
                     return 600;
                  } else if (str == "30分钟") {
                     return 1800;
                  } else if (str == "1小时") {
                     return 3600;
                  };
               };
               function getTracknow(current_floor, tagid_str, time) {
                  var finalrealtrack = {};
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getRealTrack.do",
                     dataType: 'json',
                     data: {
                        time: time,
                        floor: current_floor,
                        tagid: tagid_str,
                     },
                     success: function (data) {
                        for (var i = 0; i < data.length; i++) {
                           finalrealtrack[data[i][0].tagid] = [];
                           for (var j = 0; j < data[i].length; j++) {
                              finalrealtrack[data[i][0].tagid].push([data[i][j].x, data[i][j].y, data[i][j].time])
                           images[src].onload = function () {
                              if (++count >= imgNum) {
                                 callback(images);
                              }
                           }
                           images[src].src = sources[src];
                        }
                     },
                  });
                  return finalrealtrack;
               };
                     };
               function getAnchorInfo_all() {
                  var anchorList_on = {};
                  var anchorList_off = {};
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getAnchorInfo_all.do",
                     dataType: 'json',
                     data: {},
                     success: function (data) {
                        let tmp = new Set();
                        for (var i = 0; i < data.length; i++) {
                           tmp.add(data[i].layer);
                        };
                        let tmpl = Array.from(tmp);
                        for (i in tmpl) {
                           anchorList_on[tmpl[i]] = [];
                           anchorList_off[tmpl[i]] = [];
                     function getTrackColor(yanse) {
                        var color;
                        if (yanse == "红色") {
                           var color = "red";
                        } else if (yanse == "绿色") {
                           var color = "green";
                        } else if (yanse == "蓝色") {
                           var color = "blue";
                        } else if (yanse == "白色") {
                           var color = "white";
                        } else if (yanse == "黑色") {
                           var color = "black";
                        } else if (yanse == "黄色") {
                           var color = "yellow";
                        }
                        for (var i = 0; i < data.length; i++) {
                           if (data[i].anchormode == "1") {
                              anchorList_on[data[i].layer].push([data[i].anchorid, data[i].posx, data[i].posy, data[i].posz, data[i].GreateTime]);
                           } else if (data[i].anchormode == "0") {
                              anchorList_off[data[i].layer].push([data[i].anchorid, data[i].posx, data[i].posy, data[i].posz, data[i].GreateTime]);
                        return color
                     };
                     function getExistFence_all(leixing) {
                        var fencelist = {};
                        var fencecolor = {};
                        var fencename = {};
                        var fencetype = {};
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getFloorFence_all.do",
                           dataType: 'json',
                           data: {},
                           success: function (data) {
                              let tmp = new Set();
                              for (var i = 0; i < data.length; i++) {
                                 tmp.add(data[i].floor);
                              };
                              let tmpl = Array.from(tmp);
                              for (i in tmpl) {
                                 fencelist[tmpl[i]] = [];
                                 fencecolor[tmpl[i]] = [];
                                 fencename[tmpl[i]] = [];
                                 fencetype[tmpl[i]] = [];
                              }
                              for (var i = 0; i < data.length; i++) {
                                 fencelist[data[i].floor].push(data[i].zuobiao);
                                 fencecolor[data[i].floor].push(data[i].color);
                                 fencename[data[i].floor].push(data[i].name);
                                 fencetype[data[i].floor].push(data[i].type);
                              }
                           }
                        });
                        if (leixing == "zuobiao") {
                           return fencelist
                        } else if (leixing == "color") {
                           return fencecolor
                        } else if (leixing == "name") {
                           return fencename
                        } else if (leixing == "type") {
                           return fencetype
                        };
                     };
                     function getDrawColor(yanse) {
                        var color;
                        if (yanse == "红色") {
                           var color = "rgba(255,0,0,0.3)";
                        } else if (yanse == "绿色") {
                           var color = "rgba(0,255,0,0.3)";
                        } else if (yanse == "蓝色") {
                           var color = "rgba(0,0,255,0.3)";
                        } else if (yanse == "白色") {
                           var color = "rgba(255,255,255,0.3)";
                        } else if (yanse == "黑色") {
                           var color = "rgba(0,0,0,0.3)";
                        }
                        return color
                     };
                     function inFenceOrNot(fence_list, node_list) {
                        //fence_list[x,y]
                        //node_list[x,y]
                        if (fence_list.length == 2) { //矩形
                           if (node_list[0] >= Math.min(fence_list[0][0], fence_list[1][0]) && node_list[0] <= Math.max(fence_list[0][0], fence_list[1][0])) {
                              if (node_list[1] >= Math.min(fence_list[0][1], fence_list[1][1]) && node_list[1] <= Math.max(fence_list[0][1], fence_list[1][1])) {
                                 return true //在考勤区域
                              }
                           }
                           return false //不在考勤区域
                        } else if (fence_list.length > 2) { //多边形
                           for (var c = false, i = -1, l = fence_list.length, j = l - 1; ++i < l; j = i)
                              ((fence_list[i][1] <= node_list[1] && node_list[1] < fence_list[j][1]) || (fence_list[j][1] <= node_list[1] && node_list[1] < fence_list[i][1]))
                                 && (node_list[0] < (fence_list[j][0] - fence_list[i][0]) * (node_list[1] - fence_list[i][1]) / (fence_list[j][1] - fence_list[i][1]) + fence_list[i][0])
                                 && (c = !c);
                           return c;
                        }
                     };
                     function getGas(leixing) {
                        var gaslist = [];
                        var gasnongdu = [];
                        var gastype = [];
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getGas_list.do",
                           dataType: 'json',
                           data: {},
                           success: function (data) {
                              for (var i = 0; i < data.length; i++) {
                                 gaslist.push([data[i].x, data[i].y]);
                                 gasnongdu.push(data[i].nong_du);
                                 gastype.push(data[i].gas_type);
                              }
                           }
                        });
                        if (leixing == "zuobiao") {
                           return gaslist
                        } else if (leixing == "type") {
                           return gastype
                        } else if (leixing == "nongdu") {
                           return gasnongdu
                        };
                     };
                     function getRealPosition(current_floor) {
                        var realposition = [];
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getRealPosition.do",
                           dataType: 'json',
                           data: {
                              floor: current_floor,
                           },
                           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].posx, data[i].posy, data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sousuo, data[i].shipin, data[i].bumen, data[i].baoliu22])
                              }
                           },
                        });
                        return realposition
                     };
                     function str_to_time(str) {
                        //根据字符串转换成对应的时间(秒)
                        if (str == "不显示实时轨迹") {
                           return 0;
                        } else if (str == "10秒钟") {
                           return 10;
                        } else if (str == "30秒钟") {
                           return 30;
                        } else if (str == "1分钟") {
                           return 60;
                        } else if (str == "10分钟") {
                           return 600;
                        } else if (str == "30分钟") {
                           return 1800;
                        } else if (str == "1小时") {
                           return 3600;
                        };
                     };
                     function getTracknow(current_floor, tagid_str, time) {
                        var finalrealtrack = {};
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getRealTrack.do",
                           dataType: 'json',
                           data: {
                              time: time,
                              floor: current_floor,
                              tagid: tagid_str,
                           },
                           success: function (data) {
                              for (var i = 0; i < data.length; i++) {
                                 finalrealtrack[data[i][0].tagid] = [];
                                 for (var j = 0; j < data[i].length; j++) {
                                    finalrealtrack[data[i][0].tagid].push([data[i][j].x, data[i][j].y, data[i][j].time])
                                 }
                              }
                           },
                        });
                        return finalrealtrack;
                     };
                     function getAnchorInfo_all() {
                        var anchorList_on = {};
                        var anchorList_off = {};
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getAnchorInfo_all.do",
                           dataType: 'json',
                           data: {},
                           success: function (data) {
                              let tmp = new Set();
                              for (var i = 0; i < data.length; i++) {
                                 tmp.add(data[i].layer);
                              };
                              let tmpl = Array.from(tmp);
                              for (i in tmpl) {
                                 anchorList_on[tmpl[i]] = [];
                                 anchorList_off[tmpl[i]] = [];
                              }
                              for (var i = 0; i < data.length; i++) {
                                 if (data[i].anchormode == "1") {
                                    anchorList_on[data[i].layer].push([data[i].anchorid, data[i].posx, data[i].posy, data[i].posz, data[i].GreateTime]);
                                 } else if (data[i].anchormode == "0") {
                                    anchorList_off[data[i].layer].push([data[i].anchorid, data[i].posx, data[i].posy, data[i].posz, data[i].GreateTime]);
                                 }
                              }
                           }
                        });
                        return [anchorList_on, anchorList_off]
                     };
                     /**该方法用来绘制一个有填充色的圆角矩形
                   *@param cxt:canvas的上下文环境
                   *@param x:左上角x轴坐标
                   *@param y:左上角y轴坐标
                   *@param width:矩形的宽度
                   *@param height:矩形的高度
                   *@param radius:圆的半径
                   *@param fillColor:填充颜色
                   **/
                     function fillRoundRect(cxt, x, y, width, height, radius, /*optional*/ fillColor) {
                        //圆的直径必然要小于矩形的宽高
                        if (2 * radius > width || 2 * radius > height) { return false; }
                        cxt.save();
                        cxt.translate(x, y);
                        //绘制圆角矩形的各个边
                        drawRoundRectPath(cxt, width, height, radius);
                        cxt.fillStyle = fillColor || "#000"; //若是给定了值就用给定的值否则给予默认值
                        cxt.fill();
                        cxt.restore();
                     }
                  });
                  return [anchorList_on, anchorList_off]
               };
               /**该方法用来绘制一个有填充色的圆角矩形
             *@param cxt:canvas的上下文环境
             *@param x:左上角x轴坐标
             *@param y:左上角y轴坐标
             *@param width:矩形的宽度
             *@param height:矩形的高度
             *@param radius:圆的半径
             *@param fillColor:填充颜色
             **/
               function fillRoundRect(cxt, x, y, width, height, radius, /*optional*/ fillColor) {
                  //圆的直径必然要小于矩形的宽高
                  if (2 * radius > width || 2 * radius > height) { return false; }
                     function drawRoundRectPath(cxt, width, height, radius) {
                        cxt.beginPath(0);
                        //从右下角顺时针绘制,弧度从0到1/2PI
                        cxt.arc(width - radius, height - radius, radius, 0, Math.PI / 2);
                  cxt.save();
                  cxt.translate(x, y);
                  //绘制圆角矩形的各个边
                  drawRoundRectPath(cxt, width, height, radius);
                  cxt.fillStyle = fillColor || "#000"; //若是给定了值就用给定的值否则给予默认值
                  cxt.fill();
                  cxt.restore();
               }
                        //矩形下边线
                        cxt.lineTo(radius, height);
               function drawRoundRectPath(cxt, width, height, radius) {
                  cxt.beginPath(0);
                  //从右下角顺时针绘制,弧度从0到1/2PI
                  cxt.arc(width - radius, height - radius, radius, 0, Math.PI / 2);
                        //左下角圆弧,弧度从1/2PI到PI
                        cxt.arc(radius, height - radius, radius, Math.PI / 2, Math.PI);
                  //矩形下边线
                  cxt.lineTo(radius, height);
                        //矩形左边线
                        cxt.lineTo(0, radius);
                  //左下角圆弧,弧度从1/2PI到PI
                  cxt.arc(radius, height - radius, radius, Math.PI / 2, Math.PI);
                        //左上角圆弧,弧度从PI到3/2PI
                        cxt.arc(radius, radius, radius, Math.PI, Math.PI * 3 / 2);
                  //矩形左边线
                  cxt.lineTo(0, radius);
                        //上边线
                        cxt.lineTo(width - radius, 0);
                  //左上角圆弧,弧度从PI到3/2PI
                  cxt.arc(radius, radius, radius, Math.PI, Math.PI * 3 / 2);
                        //右上角圆弧
                        cxt.arc(width - radius, radius, radius, Math.PI * 3 / 2, Math.PI * 2);
                  //上边线
                  cxt.lineTo(width - radius, 0);
                        //右边线
                        cxt.lineTo(width, height - radius);
                        cxt.closePath();
                     }
                  </script>
                  <!-- 常用函数结束 -->
                  //右上角圆弧
                  cxt.arc(width - radius, radius, radius, Math.PI * 3 / 2, Math.PI * 2);
                  <!-- 调用室内定位地图功能 -->
                  <script>
                     var tubiaochicun = 0.03;
                     var lio = 0;
                     // var zuobiaochicun = 30;
                     // var dianliangchicun = 15;
                     function diaoyonghuatu(result) {
                  //右边线
                  cxt.lineTo(width, height - radius);
                  cxt.closePath();
               }
            </script>
            <!-- 常用函数结束 -->
                        var truemap_list = getTruemap_all();
                        var yuandian_list = getYuandian_all();
                        var fencezuobiao_list = getExistFence_all("zuobiao");
                        var fencecolor_list = getExistFence_all("color");
                        var fencename_list = getExistFence_all("name");
                        var fencetype_list = getExistFence_all("type");
                        var onlineAnchorinfo_list = getAnchorInfo_all()[0];
                        var offlineAnchorinfo_list = getAnchorInfo_all()[1];
            <!-- 调用室内定位地图功能 -->
            <script>
               function diaoyonghuatu(result) {
                        //读取系统设置
                        var sysSetting = getSystemSetting();
                  var truemap_list = getTruemap_all();
                  var yuandian_list = getYuandian_all();
                  var fencezuobiao_list = getExistFence_all("zuobiao");
                  var fencecolor_list = getExistFence_all("color");
                  var fencename_list = getExistFence_all("name");
                  var fencetype_list = getExistFence_all("type");
                  var onlineAnchorinfo_list = getAnchorInfo_all()[0];
                  var offlineAnchorinfo_list = getAnchorInfo_all()[1];
                  //读取系统设置
                  var sysSetting = getSystemSetting();
                  for (var i = 0; i < result['map'].length; i++) {
                     var cf = result['floor'][i];//当前floor
                     var tml = [];
                     if (truemap_list[cf]) {
                        tml = truemap_list[cf];
                     };
                     var ydl = [];
                     if (yuandian_list[cf]) {
                        ydl = yuandian_list[cf];
                     };
                     var fzbl = [];
                     if (fencezuobiao_list[cf]) {
                        fzbl = fencezuobiao_list[cf];
                     };
                     var fcl = [];
                     if (fencecolor_list[cf]) {
                        fcl = fencecolor_list[cf];
                     };
                     var fnl = [];
                     if (fencename_list[cf]) {
                        fnl = fencename_list[cf];
                     };
                     var ftl = []
                     if (fencetype_list[cf]) {
                        ftl = fencetype_list[cf];
                     };
                     var ail_on = [];
                     if (onlineAnchorinfo_list[cf]) {
                        ail_on = onlineAnchorinfo_list[cf];
                     };
                     var ail_off = [];
                     if (offlineAnchorinfo_list[cf]) {
                        ail_off = offlineAnchorinfo_list[cf];
                     };
                     subgraph(i, result['map'][i], result['floor'][i], tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, result['map'].length)
                  }
               };
               //subgraph(i,result['map'][i],result['floor'][i],tml,ydl,fzbl,fcl,fnl,ftl,ail,sysSetting)
               function subgraph(index, mp, fr, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm) {
                  var imgUrl = '/hxzkoa/hxzk/image/mapfile/' + mp;//图片路径
                  //var imgUrl = '/hxzkoa/hxzk/image/mapfile/office.jpg';//图片路径
                  var imgList = new Array();
                  imgList['map'] = imgUrl;
                  var iconUrl = '/hxzkoa/hxzk/image/targeticon/default.png';
                  imgList['icon'] = iconUrl;
                  //        var anckicon = '/hxzkoa/hxzk/image/anchor/lingjin.png';
                  //        imgList['anchor']=anckicon;
                  var anckicon_on = '/hxzkoa/hxzk/image/anchor/基站在线.png';
                  //var anckicon_on = '/hxzkoa/hxzk/image/anchor/lingjin.png';
                  imgList['anchor_online'] = anckicon_on;
                  var anckicon_off = '/hxzkoa/hxzk/image/anchor/基站离线.png'
                  //var anckicon_off = '/hxzkoa/hxzk/image/anchor/ceju.png';
                  imgList['anchor_offline'] = anckicon_off;
                  new MarkPoints(index, fr, imgList, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm);
               };
               var serial;
               var code;
               var isDelete = false;
               var shipinka = true;
               var tuodong = false;
               var sosType = [];
               var sousuoType = true;
               for (var i = 0; i < 500; i++) {
                  sosType[i] = true;
               }
               var sos = document.createElement('img');
               sos.src = '/hxzkoa/hxzk/image/icon/SOS.png';
               var sos1 = document.createElement('img');
               sos1.src = '/hxzkoa/hxzk/image/icon/SOS1.png';
               var sousuo0 = document.createElement('img');
               sousuo0.src = '/hxzkoa/hxzk/image/icon/sousuo0.png';
               function MarkPoints(index, current_floor, imgList, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm) {
                  this.imgX = 0;//在画布上图片的X偏移量
                  this.imgY = 0;//在画布上图片的Y偏移量
                  this.imgScale = 1;//图片的缩放比例
                  this.rateNum;//图片高度自适应比例,图片等比居中展示在canvas
                  this.scaleFlag = 0;//缩放因子,最大缩放9,最小缩放-9
                  this.context;
                  this.img; //地图
                  this.playIndex = 0;
                  this.pos = {};//每次拖拽前坐标保存
                  this.imgLoadList = new Array();
                  this.rateNumList = new Array();
                  this.imgXList = new Array();
                  this.imgYList = new Array();
                  this.imgScaleList = new Array();
                  //获取真实地图
                  this.trueMeasure;
                  this.trueLength;
                  this.trueWidth;
                  this.x_ratio;
                  this.y_ratio;
                  this.x_x0;
                  this.y_y0;
                  this.expand = false;
                  //system setting
                  this.sysSetting;
                  this.tagZb = '0';//是否显示标签坐标
                  this.diskaoqin = '0'; //出考勤区域是否消失
                  this.viewAnckid = '0';//是否显示基站ID
                  this.viewName = '0';//是否显示人员名称
                  this.tunlDw = '0'//隧道定位模式
                  this.guiji_sava = '0'//是否开启轨迹保存
                  this.viewPower = '0';//是否显示电量
                  this.viewTagid = '0';//是否显示标签ID
                  this.viewAnckzb = '0';//是否显示基站坐标
                  this.offView = '0'//是否离线不显示图标
                  this.anckicon = '0'//是否显示基站图标
                  this.gas_show = '0'//显示其他检测(气体显示)
                  this.quiet = '0'//静止输出固定坐标
                  this.real_trak_time = 0//实时轨迹显示时长
                  this.real_trak_color = '红色'//实时轨迹显示的颜色
                  this.fence_show = '0'//是否显示围栏
                  this.playFlag = false;//是否播放
                  this.dragFlag = false;//是否可拖拽当前img,默认不能
                  this.markFlag = false;//标记区域开启关闭flag
                  this.CreatLinepoints = [];//每次创建新区域的坐标集合
                  this.playMark; //正在展示的标记
                  this.playMarkInKaoQin;//当前标记是否在考勤区域内
                  this.trackNow; //当前轨迹
                  this.onlineAnchorList;//当前基站列表
                  this.offlineAnchorList;
                  this.allMarkLins = [];//已创建的区域集合,例如[[{x,y},{x,y},{x,y}],[{n,m},{n,m},{n,m}]]目前只需要一个区域,所以数组内部只有一项
                  this.allFenceColor = [];//已创建的区域颜色
                  this.FenceList; //围栏坐标
                  this.FenceColor; //围栏颜色
                  this.FenceName; //围栏名称
                  this.realFenceList = []; // [名称,类型,实际坐标]
                  this.fenceMarkCount; //区域内的坐标数量
                  this.cacheCanvas = null; //缓存围栏绘图
                  this.GasList; //气体坐标
                  this.GasType; //气体类型
                  this.GasNongdu; //气体浓度
                  this.ttm;
                  this.timer;
                  this.getImgLoad(index, imgList, current_floor);
                  this.init(current_floor, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm);
                  document.oncontextmenu = new Function("event.returnValue=false;");
                  document.onselectstart = new Function("event.returnValue=false;");
               };
               MarkPoints.prototype = {
                  getImgLoad: function (index, imgList, current_floor) {
                     var _this = this;
                     var str = "wrap" + index;
                     var wrap = document.getElementById(str);
                     var str2 = "draw" + index;
                     _this.canvas = document.getElementById(str2);
                     _this.context = _this.canvas.getContext('2d');
                     _this.canvas.height = wrap.offsetHeight;
                     _this.canvas.width = wrap.offsetWidth;
                     loadImages(imgList, function (images) {
                        for (var key in images) {
                           if (key == 'map') {
                              _this.imgScaleList[key] = 1;
                              _this.img = images[key];
                           } else if (key == 'icon') {
                              _this.imgScaleList[key] = 0.03;
                           } else {
                              _this.imgScaleList[key] = images[key].naturalWidth / images['map'].naturalWidth;
                        for (var i = 0; i < result['map'].length; i++) {
                           var cf = result['floor'][i];//当前floor
                           var tml = [];
                           if (truemap_list[cf]) {
                              tml = truemap_list[cf];
                           };
                           _this.rateNumList[key] = _this.canvas.width / images[key].naturalWidth;
                           _this.imgXList[key] = (_this.canvas.width - images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2;
                           _this.imgYList[key] = (_this.canvas.height - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) / 2;//默认进来当前图像居中显示
                           _this.imgLoadList[key] = images[key];
                           var ydl = [];
                           if (yuandian_list[cf]) {
                              ydl = yuandian_list[cf];
                           };
                           var fzbl = [];
                           if (fencezuobiao_list[cf]) {
                              fzbl = fencezuobiao_list[cf];
                           };
                           var fcl = [];
                           if (fencecolor_list[cf]) {
                              fcl = fencecolor_list[cf];
                           };
                           var fnl = [];
                           if (fencename_list[cf]) {
                              fnl = fencename_list[cf];
                           };
                           var ftl = []
                           if (fencetype_list[cf]) {
                              ftl = fencetype_list[cf];
                           };
                           var ail_on = [];
                           if (onlineAnchorinfo_list[cf]) {
                              ail_on = onlineAnchorinfo_list[cf];
                           };
                           var ail_off = [];
                           if (offlineAnchorinfo_list[cf]) {
                              ail_off = offlineAnchorinfo_list[cf];
                           };
                           subgraph(i, result['map'][i], result['floor'][i], tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, result['map'].length)
                        }
                        /*画出当前图片*/
                        //_this.drawImg(current_floor);
                     });
                  },
                  drawImg: function (current_floor) {
                     var _this = this;
                     var can = _this.context;
                     can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                     };
                     //subgraph(i,result['map'][i],result['floor'][i],tml,ydl,fzbl,fcl,fnl,ftl,ail,sysSetting)
                     function subgraph(index, mp, fr, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm) {
                        var imgUrl = '/hxzkoa/hxzk/image/mapfile/' + mp;//图片路径
                        //var imgUrl = '/hxzkoa/hxzk/image/mapfile/office.jpg';//图片路径
                        var imgList = new Array();
                        imgList['map'] = imgUrl;
                        var iconUrl = '/hxzkoa/hxzk/image/targeticon/default.png';
                        imgList['icon'] = iconUrl;
                        for (var i = 0; i < department.length; i++) {
                           imgList[department[i][0]] = '/hxzkoa/hxzk/' + department[i][1];
                        }
                     can.globalCompositeOperation = "source-over";
                     var images = _this.imgLoadList;
                     //画地图
                     can.drawImage(_this.img, 0, 0, _this.img.naturalWidth, _this.img.naturalHeight, _this.imgXList['map'], _this.imgYList['map'], _this.img.naturalWidth * _this.imgScaleList['map'] * _this.rateNumList['map'], _this.img.naturalHeight * _this.imgScaleList['map'] * _this.rateNumList['map']);
                        //        var anckicon = '/hxzkoa/hxzk/image/anchor/lingjin.png';
                        //        imgList['anchor']=anckicon;
                        var anckicon_on = '/hxzkoa/hxzk/image/anchor/基站在线.png';
                        //var anckicon_on = '/hxzkoa/hxzk/image/anchor/lingjin.png';
                        imgList['anchor_online'] = anckicon_on;
                     //实际与图片的比例尺
                     _this.x_ratio = new Number(_this.imgLoadList['map'].naturalWidth / _this.trueLength);
                     _this.y_ratio = new Number(_this.imgLoadList['map'].naturalHeight / _this.trueWidth);
                        var anckicon_off = '/hxzkoa/hxzk/image/anchor/基站离线.png'
                        //var anckicon_off = '/hxzkoa/hxzk/image/anchor/ceju.png';
                        imgList['anchor_offline'] = anckicon_off;
                     if (tuodong == true) {
                        return false;
                        new MarkPoints(index, fr, imgList, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm);
                     };
                     var serial;
                     var code;
                     var sousuopanduan = "";
                     var isDelete = false;
                     var tuodong = false;
                     var colorbbb = "rgba(255,0,0,0.3)";
                     var sosType = [];
                     var sousuoType = true;
                     for (var i = 0; i < 500; i++) {
                        sosType[i] = true;
                     }
                     var sos = document.createElement('img');
                     sos.src = '/hxzkoa/hxzk/image/icon/SOS.png';
                     var sos1 = document.createElement('img');
                     sos1.src = '/hxzkoa/hxzk/image/icon/SOS1.png';
                     var sousuo0 = document.createElement('img');
                     sousuo0.src = '/hxzkoa/hxzk/image/icon/sousuo0.png';
                     function MarkPoints(index, current_floor, imgList, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm) {
                        this.imgX = 0;//在画布上图片的X偏移量
                        this.imgY = 0;//在画布上图片的Y偏移量
                        this.imgScale = 1;//图片的缩放比例
                        this.rateNum;//图片高度自适应比例,图片等比居中展示在canvas
                        this.scaleFlag = 0;//缩放因子,最大缩放9,最小缩放-9
                        this.context;
                        this.img; //地图
                        this.playIndex = 0;
                        this.pos = {};//每次拖拽前坐标保存
                     if (_this.cacheCanvas == null) {
                        _this.cacheCanvas = document.createElement("canvas");
                        _this.cacheCanvas.width = _this.canvas.width;
                        _this.cacheCanvas.height = _this.canvas.height;
                        var cacheCtx = _this.cacheCanvas.getContext("2d");
                        //画出当前已有的围栏区域
                        if (_this.fence_show == "1") {
                           if (_this.FenceList.length) {
                              //遍历每个fence,并画出
                              for (var m = 0; m < _this.FenceList.length; m++) {
                                 var draw_points_list = [];
                                 var points_list = _this.FenceList[m].split(",");
                                 //实际坐标转成图上坐标
                                 for (var i = 0; i < points_list.length; i++) {
                                    if (i % 2 == 0) {
                                       //偶数坐标,即x坐标
                                       tmp_list = [];
                                       var tmp_point = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (points_list[i] - _this.x_x0));
                                       tmp_list.push(tmp_point);
                                    } else {
                                       var tmp_point = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (points_list[i] - _this.y_y0));
                                       tmp_list.push(tmp_point);
                                       draw_points_list.push(tmp_list);
                        this.imgLoadList = new Array();
                        this.rateNumList = new Array();
                        this.imgXList = new Array();
                        this.imgYList = new Array();
                        this.imgScaleList = new Array();
                        //获取真实地图
                        this.trueMeasure;
                        this.trueLength;
                        this.trueWidth;
                        this.x_ratio;
                        this.y_ratio;
                        this.x_x0;
                        this.y_y0;
                        this.expand = false;
                        //system setting
                        this.sysSetting;
                        this.tagZb = '0';//是否显示标签坐标
                        this.diskaoqin = '0'; //出考勤区域是否消失
                        this.viewAnckid = '0';//是否显示基站ID
                        this.viewName = '0';//是否显示人员名称
                        this.tunlDw = '0'//隧道定位模式
                        this.guiji_sava = '0'//是否开启轨迹保存
                        this.viewPower = '0';//是否显示电量
                        this.viewTagid = '0';//是否显示标签ID
                        this.viewAnckzb = '0';//是否显示基站坐标
                        this.offView = '0'//是否离线不显示图标
                        this.anckicon = '0'//是否显示基站图标
                        this.gas_show = '0'//显示其他检测(气体显示)
                        this.quiet = '0'//静止输出固定坐标
                        this.real_trak_time = 0//实时轨迹显示时长
                        this.real_trak_color = '红色'//实时轨迹显示的颜色
                        this.fence_show = '0'//是否显示围栏
                        this.playFlag = false;//是否播放
                        this.dragFlag = false;//是否可拖拽当前img,默认不能
                        this.markFlag = false;//标记区域开启关闭flag
                        this.CreatLinepoints = [];//每次创建新区域的坐标集合
                        this.playMark; //正在展示的标记
                        this.playAchor; //正在展示的基站
                        this.playAchorli; //正在展示的基站
                        this.playMarkInKaoQin;//当前标记是否在考勤区域内
                        this.trackNow; //当前轨迹
                        this.onlineAnchorList;//当前基站列表
                        this.offlineAnchorList;
                        this.allMarkLins = [];//已创建的区域集合,例如[[{x,y},{x,y},{x,y}],[{n,m},{n,m},{n,m}]]目前只需要一个区域,所以数组内部只有一项
                        this.allFenceColor = [];//已创建的区域颜色
                        this.FenceList; //围栏坐标
                        this.FenceColor; //围栏颜色
                        this.FenceName; //围栏名称
                        this.realFenceList = []; // [名称,类型,实际坐标]
                        this.fenceMarkCount; //区域内的坐标数量
                        this.cacheCanvas = null; //缓存围栏绘图
                        this.GasList; //气体坐标
                        this.GasType; //气体类型
                        this.GasNongdu; //气体浓度
                        this.ttm;
                        this.timer;
                        this.getImgLoad(index, imgList, current_floor);
                        this.init(current_floor, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm);
                        document.oncontextmenu = new Function("event.returnValue=false;");
                        document.onselectstart = new Function("event.returnValue=false;");
                     };
                     MarkPoints.prototype = {
                        getImgLoad: function (index, imgList, current_floor) {
                           var _this = this;
                           var str = "wrap" + index;
                           var wrap = document.getElementById(str);
                           var str2 = "draw" + index;
                           _this.canvas = document.getElementById(str2);
                           _this.context = _this.canvas.getContext('2d');
                           _this.canvas.height = wrap.offsetHeight;
                           _this.canvas.width = wrap.offsetWidth;
                           loadImages(imgList, function (images) {
                              for (var key in images) {
                                 if (key == 'map') {
                                    _this.imgScaleList[key] = 1;
                                    _this.img = images[key];
                                 } else if (key == 'icon') {
                                    _this.imgScaleList[key] = tubiaochicun;
                                 } else {
                                    _this.imgScaleList[key] = images[key].naturalWidth / images['map'].naturalWidth;
                                 };
                                 _this.rateNumList[key] = _this.canvas.width / images[key].naturalWidth;
                                 _this.imgXList[key] = (_this.canvas.width - images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2;
                                 _this.imgYList[key] = (_this.canvas.height - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) / 2;//默认进来当前图像居中显示
                                 _this.imgLoadList[key] = images[key];
                              }
                              /*画出当前图片*/
                              //_this.drawImg(current_floor);
                           });
                        },
                        drawImg: function (current_floor) {
                           var _this = this;
                           var can = _this.context;
                           can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                           can.globalCompositeOperation = "source-over";
                           var images = _this.imgLoadList;
                           //画地图
                           can.drawImage(_this.img, 0, 0, _this.img.naturalWidth, _this.img.naturalHeight, _this.imgXList['map'], _this.imgYList['map'], _this.img.naturalWidth * _this.imgScaleList['map'] * _this.rateNumList['map'], _this.img.naturalHeight * _this.imgScaleList['map'] * _this.rateNumList['map']);
                           $("#jiazai0").remove()
                           $("#jiazai1").remove()
                           $("#jiazai2").remove()
                           $("#jiazai3").remove()
                           //实际与图片的比例尺
                           _this.x_ratio = new Number(_this.imgLoadList['map'].naturalWidth / _this.trueLength);
                           _this.y_ratio = new Number(_this.imgLoadList['map'].naturalHeight / _this.trueWidth);
                           if (tuodong == true) {
                              return false;
                           }
                           if (_this.cacheCanvas == null) {
                              _this.cacheCanvas = document.createElement("canvas");
                              _this.cacheCanvas.width = _this.canvas.width;
                              _this.cacheCanvas.height = _this.canvas.height;
                              var cacheCtx = _this.cacheCanvas.getContext("2d");
                              //画出当前已有的围栏区域
                              if (_this.fence_show == "1") {
                                 if (_this.FenceList.length) {
                                    //遍历每个fence,并画出
                                    for (var m = 0; m < _this.FenceList.length; m++) {
                                       var draw_points_list = [];
                                       var points_list = _this.FenceList[m].split(",");
                                       //实际坐标转成图上坐标
                                       for (var i = 0; i < points_list.length; i++) {
                                          if (i % 2 == 0) {
                                             //偶数坐标,即x坐标
                                             tmp_list = [];
                                             var tmp_point = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (points_list[i] - _this.x_x0));
                                             tmp_list.push(tmp_point);
                                          } else {
                                             var tmp_point = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (points_list[i] - _this.y_y0));
                                             tmp_list.push(tmp_point);
                                             draw_points_list.push(tmp_list);
                                          };
                                       };
                                       var color = getDrawColor(_this.FenceColor[m]);
                                       var name = _this.FenceName[m];
                                       if (draw_points_list.length == 2) {
                                          cacheCtx.beginPath();
                                          cacheCtx.fillStyle = color;
                                          cacheCtx.fillRect(draw_points_list[0][0], draw_points_list[0][1], draw_points_list[1][0] - draw_points_list[0][0], draw_points_list[1][1] - draw_points_list[0][1]);
                                          cacheCtx.stroke();
                                          cacheCtx.fillStyle = "red";
                                          cacheCtx.fillText(name, (draw_points_list[0][0] + draw_points_list[1][0]) / 2, (draw_points_list[0][1] + draw_points_list[1][1]) / 2);
                                          cacheCtx.closePath();
                                       } else {
                                          cacheCtx.beginPath();
                                          cacheCtx.fillStyle = color;
                                          cacheCtx.lineWidth = 1;
                                          var text_x = new Number(0);
                                          var text_y = new Number(0);
                                          for (var j = 0; j < draw_points_list.length; j++) {
                                             if (j == 0) {
                                                cacheCtx.moveTo(draw_points_list[j][0], draw_points_list[j][1]);
                                             } else {
                                                cacheCtx.lineTo(draw_points_list[j][0], draw_points_list[j][1]);
                                             }
                                             if (j == draw_points_list.length - 1) {
                                                cacheCtx.lineTo(draw_points_list[0][0], draw_points_list[0][1]);
                                                cacheCtx.fill();
                                             }
                                             text_x = text_x + draw_points_list[j][0];
                                             text_y = text_y + draw_points_list[j][1];
                                          }
                                          text_x = text_x / draw_points_list.length;
                                          text_y = text_y / draw_points_list.length;
                                          cacheCtx.fillStyle = color;
                                          cacheCtx.fill();
                                          cacheCtx.strokeStyle = color;
                                          cacheCtx.stroke();
                                          cacheCtx.fillStyle = "red";
                                          cacheCtx.fillText(name, text_x, text_y);
                                          cacheCtx.closePath();
                                       };
                                    };
                                 };
                                 var color = getDrawColor(_this.FenceColor[m]);
                                 var name = _this.FenceName[m];
                                 if (draw_points_list.length == 2) {
                                    cacheCtx.beginPath();
                                    cacheCtx.fillStyle = color;
                                    cacheCtx.fillRect(draw_points_list[0][0], draw_points_list[0][1], draw_points_list[1][0] - draw_points_list[0][0], draw_points_list[1][1] - draw_points_list[0][1]);
                                    cacheCtx.stroke();
                                    cacheCtx.fillStyle = "red";
                                    cacheCtx.fillText(name, (draw_points_list[0][0] + draw_points_list[1][0]) / 2, (draw_points_list[0][1] + draw_points_list[1][1]) / 2);
                                    cacheCtx.closePath();
                                 } else {
                                    cacheCtx.beginPath();
                                    cacheCtx.fillStyle = color;
                                    cacheCtx.lineWidth = 1;
                                    var text_x = new Number(0);
                                    var text_y = new Number(0);
                                    for (var j = 0; j < draw_points_list.length; j++) {
                                       if (j == 0) {
                                          cacheCtx.moveTo(draw_points_list[j][0], draw_points_list[j][1]);
                                       } else {
                                          cacheCtx.lineTo(draw_points_list[j][0], draw_points_list[j][1]);
                                       }
                                       if (j == draw_points_list.length - 1) {
                                          cacheCtx.lineTo(draw_points_list[0][0], draw_points_list[0][1]);
                                          cacheCtx.fill();
                                       }
                                       text_x = text_x + draw_points_list[j][0];
                                       text_y = text_y + draw_points_list[j][1];
                                    }
                                    text_x = text_x / draw_points_list.length;
                                    text_y = text_y / draw_points_list.length;
                                    cacheCtx.fillStyle = color;
                                    cacheCtx.fill();
                                    cacheCtx.strokeStyle = color;
                                    cacheCtx.stroke();
                                    cacheCtx.fillStyle = "red";
                                    cacheCtx.fillText(name, text_x, text_y);
                                    cacheCtx.closePath();
                                 };
                              };
                           };
                        };
                        can.drawImage(_this.cacheCanvas, 0, 0);
                     } else {
                        can.drawImage(_this.cacheCanvas, 0, 0);
                     };
                     //判断当前坐标是否在考勤区域内
                     _this.playMarkInKaoQin = [];
                     for (var n in _this.playMark) { //_this.playMark为当前实时在线点位置,为[array[id,name,power,life,x,y,time]]
                        node_list = [Number(_this.playMark[n][4]), Number(_this.playMark[n][5])];
                        for (var f in _this.realFenceList) {
                           if (_this.realFenceList[f][1] == "考勤区域") {
                              if (inFenceOrNot(_this.realFenceList[f][2], node_list)) {
                                 //inFenceOrNot(fence_list, node_list) return true/false
                                 _this.playMarkInKaoQin.push(true);
                                 break;
                              }
                           }
                        };
                        if (_this.playMarkInKaoQin.length == n) {
                           _this.playMarkInKaoQin.push(false);
                        }
                     };
                     //计算区域内的坐标数量(隧道定位)
                     _this.fenceMarkCount = [];
                     for (var f in _this.realFenceList) {
                        //f[name, type, zuobiao_array]
                        var tmp_count = new Number(0);
                        for (var n in _this.playMark) {//_this.playMark为当前实时在线点位置,为[array[.x, .y]]
                           node_list = [Number(_this.playMark[n][4]), Number(_this.playMark[n][5])];
                           if (inFenceOrNot(_this.realFenceList[f][2], node_list)) {//inFenceOrNot(fence_list, node_list) return true/false
                              tmp_count += 1;
                              //break;
                           }
                        };
                        _this.fenceMarkCount.push(tmp_count);
                     };
                     //画标签及基站
                     for (var key in images) {
                        if (key == "icon" && _this.playMark) {
                           for (var i = 0; i < _this.playMark.length; i++) {
                              //_this.trackNow = [];
                              var tagzhuangtai = _this.playMark[i][3]; //在线状态
                              var shipinzhuangtai = _this.playMark[i][9];
                              if (shipinka) {
                                 if (shipinzhuangtai == "1") {
                                    $.ajax({
                                       async: false,
                                       url: "/hxzkoa/shipinzhuangtai.do",
                                       type: 'POST',
                                       dataType: 'JSON',
                                       data: {
                                          tagid: _this.playMark[i][0],
                                       },
                                       success: function(data){
                                          // console.log(data[0].shebeiid)
                                          serial = data[0].shebeiid;
                                          // console.log(data[0].tongdaoid)
                                          code = data[0].tongdaoid;
                                       }
                                    });
                                    document.getElementById("popup").style.display = "flex";
                                    // serial = "34020000001320000003";
                                    // code = "34020000001310000002";
                                    var tanchuang = document.getElementById("tanchuang")
                                    var rr = document.createElement("iframe")
                                    rr.src = "http://192.168.1.100:10000/play.html?serial=" + serial + "&code=" + code + "&aspect=fullscreen";
                                    rr.width = "640";
                                    rr.height = "360";
                                    rr.allowFullscreen = "true";
                                    var object = tanchuang.appendChild(rr);
                                    shipinka = false;
                                 }
                              }
                              //var playMarkInKaoQin = true;
                              if (((_this.offView == '1' && tagzhuangtai == '1') || (_this.offView == '0')) && ((_this.diskaoqin == "1" && _this.playMarkInKaoQin[i]) || (_this.diskaoqin == "0"))) {
                                 //是否开启离线消失,并判断状态(在线1/离线0);当开启离线消失时(仅显示在线标签),当未开启离线消失时(全部显示)
                                 //是否开启出考勤区域消失,并判断是否在考勤区域内;当开启出考勤区域消失时(需要在考勤区域内),当未开启时(全部显示)
                                 //读取当前实际坐标
                                 var cor_x = new Number(_this.playMark[i][4]); // 此处_this.playMark是数据库里取到的当前点坐标,4是posx,5是posy
                                 var cor_y = new Number(_this.playMark[i][5]);
                                 //转为图上坐标
                                 var x_cor_now = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                 var y_cor_now = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                                 //是否有轨迹拖尾
                                 if (_this.real_trak_time != 0) {
                                    var trackNow;
                                    var pm = _this.playMark;
                                    function ftn(current_floor, pm, tn, rtk, ctt, rtc, igxm, igym, igslm, rnlm, xr, yr, xx0, yy0) {
                                       //trackNow = getTracknow(current_floor, pm[0], rtk)
                                       if (tn.length == 0) {
                                          trackNow = [];
                                       } else if (pm[0] in tn) {
                                          trackNow = tn[pm[0]];
                                       } else {
                                          trackNow = [];
                                       };
                                       var can = ctt;
                                       can.beginPath();
                                       can.strokeStyle = rtc;
                                       can.fillStyle = rtc;
                                       for (var i = 0; i < trackNow.length; i++) {
                                          var cor_x = new Number(trackNow[i][0]);
                                          var cor_y = new Number(trackNow[i][1]);
                                          var x_cor = new Number(igxm + igslm * rnlm * xr * (cor_x - xx0));
                                          var y_cor = new Number(igym + igslm * rnlm * yr * (cor_y - yy0));
                                          //                                         var cor_x2 = new Number(trackNow[i+1][0]);
                                          //                                         var cor_y2 = new Number(trackNow[i+1][1]);
                                          //                                         var x_cor2 = new Number(igxm + igslm * rnlm * xr * (cor_x2 - xx0));
                                          //                                         var y_cor2 = new Number(igym + igslm * rnlm * yr * (cor_y2 - yy0));
                                          //                                         can.moveTo(x_cor, y_cor);
                                          //                                           can.lineTo(x_cor2, y_cor2);
                                          //                                           can.stroke();
                                          //                                           can.fill();
                                          can.moveTo(x_cor, y_cor);
                                          can.arc(x_cor, y_cor, 1, 0, Math.PI * 2, true);
                                          can.fill();
                                       };
                                       can.closePath();
                                       can.stroke();
                                       //_this.trackNow.push([trackNow]);
                                    }
                                    setTimeout(ftn(current_floor, _this.playMark[i], _this.trackNow, _this.real_trak_time, _this.context, _this.real_trak_color, _this.imgXList['map'], _this.imgYList['map'], _this.imgScaleList['map'], _this.rateNumList['map'], _this.x_ratio, _this.y_ratio, _this.x_x0, _this.y_y0), 5);
                                    //var trackNow = getTracknow( _this.playMark[i][0], _this.real_trak_time);//获取指定时间段内该tagid的数据进行绘制
                                 } else {
                                    _this.trackNow = [];
                                 }
                                 var isSos = _this.playMark[i][7];
                                 if (_this.playMark[i][8] == "1") {
                                    if (sousuoType) {
                                       can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                    } else {
                                       can.drawImage(sousuo0, 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                    }
                                    sousuoType = !sousuoType;
                                 } else {
                                    if (isSos) {
                                       if (sosType[i]) {
                                          can.drawImage(sos, 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2 + 3, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 2, images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                       } else {
                                          can.drawImage(sos1, 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2 + 3, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 2, images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                       }
                                       sosType[i] = !sosType[i];
                                    } else {
                                       can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                    }
                                 }
                                 //画在相应位置上
                                 // can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                 if (_this.tagZb == '1') { //是否显示标签坐标
                                    can.fillStyle = 'red';
                                    //var f = 8*( _this.imgScaleList['map']);
                                    //can.font=f+"px Arial";
                                    tagzuobiao = _this.playMark[i][4] + ',' + _this.playMark[i][5];
                                    can.fillText(tagzuobiao, x_cor_now - 20, y_cor_now + 10);
                                 };
                                 if (_this.viewName == '1') { //是否显示人员名称
                                    can.fillStyle = 'white';
                                    can.font = '13px sans-serif';
                                    if (_this.viewTagid == '1') { //是否显示标签id
                                       fillRoundRect(can, x_cor_now - 40, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 2, 20, 4, '#32CD32');
                                       can.fillStyle = 'white';
                                       can.fillText(_this.playMark[i][1], x_cor_now - 38, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                       can.fillText(_this.playMark[i][0], x_cor_now + 5, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                    } else {
                                       fillRoundRect(can, x_cor_now - 20, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 1.1, 20, 4, '#32CD32');
                                       can.fillStyle = 'white';
                                       can.fillText(_this.playMark[i][1], x_cor_now - 19, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                    }
                                 } else {
                                    can.font = '13px sans-serif';
                                    can.fillStyle = 'white';
                                    if (_this.viewTagid == '1') {
                                       fillRoundRect(can, x_cor_now - 20, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 1.1, 20, 4, '#32CD32');
                                       can.fillStyle = 'white';
                                       can.fillText(_this.playMark[i][0], x_cor_now - 14, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                    }
                                 }
                                 if (_this.viewPower == '1') { //是否显示电量
                                    can.font = '10px sans-serif';
                                    can.fillStyle = 'red';
                                    can.fillText("电量:" + _this.playMark[i][2], x_cor_now - 20, y_cor_now + 20);
                                 };
                              };
                           }
                        } else if (key == 'anchor_online') {
                           can.font = '10px sans-serif';
                           if (_this.anckicon == '1') { //是否显示基站图标
                              //_this.anchorList = [anchorid, posx,posy,posz,layer,greatetime]
                              for (var i = 0; i < _this.onlineAnchorList.length; i++) {
                                 var cor_x = new Number(_this.onlineAnchorList[i][1]);
                                 var cor_y = new Number(_this.onlineAnchorList[i][2]);
                                 var x_cor = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                 var y_cor = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                                 can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth, images[key].naturalHeight);
                                 if (_this.viewAnckzb == '1') { //是否显示基站坐标
                                    can.fillStyle = 'red'
                                    var anchorzuobiao = _this.onlineAnchorList[i][1] + ',' + _this.onlineAnchorList[i][2] + ',' + _this.onlineAnchorList[i][3];
                                    can.fillText(anchorzuobiao, x_cor - 15, y_cor + 30);
                                 };
                                 if (_this.viewAnckid == '1') { //是否显示基站id
                                    can.fillStyle = 'red';
                                    var tigidd = _this.onlineAnchorList[i][0];
                                    can.fillText(tigidd, x_cor - 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] + 10) / 2);
                                 };
                              };
                           };
                        } else if (key == 'anchor_offline') {
                           can.font = '10px sans-serif';
                           if (_this.anckicon == '1') { //是否显示基站图标
                              //_this.anchorList = [anchorid, posx,posy,posz,layer,greatetime]
                              for (var i = 0; i < _this.offlineAnchorList.length; i++) {
                                 var cor_x = new Number(_this.offlineAnchorList[i][1]);
                                 var cor_y = new Number(_this.offlineAnchorList[i][2]);
                                 var x_cor = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                 var y_cor = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                                 can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth, images[key].naturalHeight);
                                 if (_this.viewAnckzb == '1') { //是否显示基站坐标
                                    can.fillStyle = 'red'
                                    var anchorzuobiao = _this.offlineAnchorList[i][1] + ',' + _this.offlineAnchorList[i][2] + ',' + _this.offlineAnchorList[i][3];
                                    can.fillText(anchorzuobiao, x_cor - 15, y_cor + 30);
                                 };
                                 if (_this.viewAnckid == '1') { //是否显示基站id
                                    can.fillStyle = 'red';
                                    can.fillText(_this.offlineAnchorList[i][0], x_cor - 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] + 10) / 2);
                                 };
                              };
                           };
                        }
                     };
                     //开启隧道定位后,需要显示当前考勤区域内的总标签数量
                     //_this.fenceMarkCount(count)
                     //_this.realFenceList([name, type, zuobiao_array])
                     //_this.FenceColor(color)
                     if (_this.tunlDw == "1") {
                        var k = 0;
                        for (var i = 0; i < _this.fenceMarkCount.length; i++) {
                           //                   if (_this.realFenceList[i][1] == "考勤区域"){
                           can.beginPath();
                           can.fillStyle = getDrawColor(_this.FenceColor[i]);
                           can.fillRect(10, 10 + 50 * k, 140, 30);
                           can.fillStyle = "red";
                           can.fillText(_this.realFenceList[i][0] + ":" + _this.fenceMarkCount[i], 65, 25 + 50 * k);
                           can.closePath();
                           k += 1;
                           //                   };
                        };
                     };
                     //开启气体显示
                     if (_this.gas_show == "1") {
                        _this.GasList = getGas("zuobiao"); //气体坐标
                        _this.GasType = getGas("type"); //气体类型
                        _this.GasNongdu = getGas("nongdu"); //气体浓度
                        for (var i = 0; i < _this.GasList.length; i++) {
                           var cor_x = new Number(_this.GasList[i][0]);
                           var cor_y = new Number(_this.GasList[i][1]);
                           var x_cor = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                           var y_cor = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                           can.beginPath();
                           can.arc(x_cor, y_cor, 6, 0, Math.PI * 2, true);
                           can.fillStyle = "green";
                           can.fill();
                           can.fillStyle = "red";
                           can.fillText(_this.GasType[i], x_cor + 10, y_cor);
                           can.fillText(_this.GasNongdu[i], x_cor + 10, y_cor + 10);
                           can.closePath();
                        }
                     };
                  },
                  init: function (current_floor, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm) {
                     var _this = this;
                     //读取系统设置
                     _this.tagZb = sysSetting[0].tagZb;//是否显示标签坐标
                     _this.diskaoqin = sysSetting[0].diskaoqing; //出考勤区域是否消失
                     _this.viewAnckid = sysSetting[0].viewAnckid;//是否显示基站ID
                     _this.viewName = sysSetting[0].viewName;//是否显示人员名称
                     _this.tunlDw = sysSetting[0].tunlDw;//隧道定位模式
                     _this.guiji_sava = sysSetting[0].guiji_sava;//是否开启轨迹保存
                     _this.viewPower = sysSetting[0].viewPower;//是否显示电量
                     _this.viewTagid = sysSetting[0].viewTagid;//是否显示标签ID
                     _this.viewAnckzb = sysSetting[0].viewAnckzb;//是否显示基站坐标
                     _this.offView = sysSetting[0].offView;//是否离线不显示图标
                     _this.anckicon = sysSetting[0].anckicon;//是否显示基站图标
                     _this.gas_show = sysSetting[0].gas_show;//显示其他检测(气体显示)
                     _this.quiet = sysSetting[0].quiet;//静止输出固定坐标
                     _this.fence_show = sysSetting[0].fence_show;//是否显示围栏
                     //读取真实地图
                     //读图片实际尺寸
                     _this.trueLength = new Number(tml[0][0]);
                     _this.trueWidth = new Number(tml[0][1]);
                     //读实际原点坐标
                     _this.x_x0 = new Number(ydl[0][0]);
                     _this.y_y0 = new Number(ydl[0][1]);
                     //读取当前围栏信息
                     _this.FenceList = fzbl;
                     _this.FenceColor = fcl;
                     _this.FenceName = fnl;
                     _this.FenceType = ftl;
                     _this.realFenceList = [];
                     //遍历围栏信息并存储成[名称,类型,坐标]
                     for (var m = 0; m < _this.FenceList.length; m++) {
                        var tmp_list = [];
                        var points = _this.FenceList[m];
                        var points_list = _this.FenceList[m].split(",");
                        //围栏实际坐标(加上偏移量的)
                        var points_list_sort = [];
                        for (var i = 0; i < points_list.length; i++) {
                           if (i % 2 == 0) {
                              tmp_list = [];
                              tmp_list.push(new Number(points_list[i]));
                              can.drawImage(_this.cacheCanvas, 0, 0);
                           } else {
                              tmp_list.push(new Number(points_list[i]));
                              points_list_sort.push(tmp_list);
                           }
                        }
                        //存区域名称+区域类型+区域坐标,方便后续判断是否在某区域内
                        _this.realFenceList.push([_this.FenceName[m], _this.FenceType[m], points_list_sort]);
                     };
                              can.drawImage(_this.cacheCanvas, 0, 0);
                           };
                     _this.real_trak_time = str_to_time(sysSetting[0].real_trak_time);//实时轨迹显示时长
                     //当前位置
                     _this.playMark = getRealPosition(current_floor);
                     var tagid_str = "";
                     for (var i = 0; i < _this.playMark.length; i++) {
                        tagid_str += _this.playMark[i][0]
                        if (i != _this.playMark.length - 1) {
                           tagid_str += ","
                        }
                     }
                     //实时轨迹
                     if (_this.real_trak_time != 0) {
                        _this.trackNow = getTracknow(current_floor, tagid_str, _this.real_trak_time);
                     } else {
                        _this.trackNow = null;
                     }
                     _this.real_trak_color = getTrackColor(sysSetting[0].real_trak_color);//实时轨迹显示的颜色
                           //判断当前坐标是否在考勤区域内
                           _this.playMarkInKaoQin = [];
                           for (var n in _this.playMark) { //_this.playMark为当前实时在线点位置,为[array[id,name,power,life,x,y,time]]
                              node_list = [Number(_this.playMark[n][4]), Number(_this.playMark[n][5])];
                              for (var f in _this.realFenceList) {
                                 if (_this.realFenceList[f][1] == "考勤区域") {
                                    if (inFenceOrNot(_this.realFenceList[f][2], node_list)) {
                                       //inFenceOrNot(fence_list, node_list) return true/false
                                       _this.playMarkInKaoQin.push(true);
                                       break;
                                    }
                                 }
                              };
                              if (_this.playMarkInKaoQin.length == n) {
                                 _this.playMarkInKaoQin.push(false);
                              }
                           };
                     _this.canvas.onmousedown = function (event) {
                        _this.clickDown(event);
                     };
                     _this.canvas.onmousemove = function (event) {
                        _this.mouseMove(event)
                     };
                     _this.canvas.onmouseup = function (event) {
                        _this.mouseUp(event);
                     };
                     _this.canvas.onmousewheel = function (event) {
                        _this.onmouseWheel(event);
                     };
                     _this.ttm = ttm;
                     //当前地图大于1个时才可以调用dbclick
                     if (_this.ttm > 1) {
                        _this.canvas.ondblclick = function (event) {
                           _this.doubleClick(event);
                        }
                     }
                           //计算区域内的坐标数量(隧道定位)
                           _this.fenceMarkCount = [];
                           for (var f in _this.realFenceList) {
                              //f[name, type, zuobiao_array]
                              var tmp_count = new Number(0);
                              for (var n in _this.playMark) {//_this.playMark为当前实时在线点位置,为[array[.x, .y]]
                                 node_list = [Number(_this.playMark[n][4]), Number(_this.playMark[n][5])];
                                 if (inFenceOrNot(_this.realFenceList[f][2], node_list) && _this.playMark[n][3] == "1") {//inFenceOrNot(fence_list, node_list) return true/false
                                    tmp_count += 1;
                                    //break;
                                 }
                              };
                              _this.fenceMarkCount.push(tmp_count);
                           };
                     _this.onlineAnchorList = ail_on;
                     _this.offlineAnchorList = ail_off;
                           //画标签及基站
                           for (var key in images) {
                              if (key == "icon" && _this.playMark) {
                                 for (var i = 0; i < _this.playMark.length; i++) {
                                    if (sousuopanduan == "" || sousuopanduan == _this.playMark[i][0] || sousuopanduan == _this.playMark[i][1]) {
                                       var tagzhuangtai = _this.playMark[i][3]; //在线状态
                                       //var playMarkInKaoQin = true;
                                       if (((_this.offView == '1' && tagzhuangtai == '1') || (_this.offView == '0')) && ((_this.diskaoqin == "1" && _this.playMarkInKaoQin[i]) || (_this.diskaoqin == "0"))) {
                                          //是否开启离线消失,并判断状态(在线1/离线0);当开启离线消失时(仅显示在线标签),当未开启离线消失时(全部显示)
                                          //是否开启出考勤区域消失,并判断是否在考勤区域内;当开启出考勤区域消失时(需要在考勤区域内),当未开启时(全部显示)
                     var t = 300;//300ms
                                          //读取当前实际坐标
                                          var cor_x = new Number(_this.playMark[i][4]); // 此处_this.playMark是数据库里取到的当前点坐标,4是posx,5是posy
                                          var cor_y = new Number(_this.playMark[i][5]);
                     //             function fn(){
                     //                 //当前需要画的坐标
                     //                var realposition_list = getRealPosition_all()
                     //                   _this.playMark = realposition_list[current_floor];
                     //             _this.drawImg(current_floor);
                     //             }
                     function fn() {
                        if (tuodong == true) {
                           return false;
                        }
                        //当前实时坐标
                        _this.playMark = getRealPosition(current_floor);
                        //                   var tagid_str = "";
                        //                   for (var i=0;i<_this.playMark.length;i++){
                        //                      tagid_str += _this.playMark[i][0]
                        //                      if (i!= _this.playMark.length-1){
                        //                         tagid_str += ","
                        //                      }
                        //                   }
                                          //转为图上坐标
                                          var x_cor_now = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                          var y_cor_now = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                        if (_this.real_trak_time != 0) {
                           //将当前实时坐标添加进track中
                           var track_now = Date.parse(new Date());  //timestamp为毫秒单位
                           track_now = track_now / 1000;
                           var track_now_head = track_now - _this.real_trak_time;
                           //当前track最开始的时间
                           var track_head_date = new Date();
                           track_head_date.setTime(track_now_head * 1000 + 8 * 3600 * 1000);
                           var track_head_date_str = track_head_date.toJSON().substr(0, 19).replace('T', ' ');
                                          //是否有轨迹拖尾
                                          if (_this.real_trak_time != 0) {
                                             var trackNow;
                                             var pm = _this.playMark;
                           for (var i = 0; i < _this.playMark.length; i++) {
                              if (_this.trackNow[_this.playMark[i][0]] != null) {
                                 if (_this.trackNow[_this.playMark[i][0]].length > 1500) {
                                    _this.trackNow[_this.playMark[i][0]] = _this.trackNow[_this.playMark[i][0]].slice(-1200);
                                 };
                                 for (var j = 0; j < _this.trackNow[_this.playMark[i][0]].length; j++) {
                                    if (_this.trackNow[_this.playMark[i][0]][0][2] < track_head_date_str) {
                                       _this.trackNow[_this.playMark[i][0]].shift()
                                    } else {
                                       break
                                             function ftn(current_floor, pm, tn, rtk, ctt, rtc, igxm, igym, igslm, rnlm, xr, yr, xx0, yy0) {
                                                alert(tn)
                                                //trackNow = getTracknow(current_floor, pm[0], rtk)
                                                if (tn.length == 0) {
                                                   trackNow = [];
                                                } else if (pm[0] in tn) {
                                                   trackNow = tn[pm[0]];
                                                } else {
                                                   trackNow = [];
                                                };
                                                var can = ctt;
                                                can.beginPath();
                                                can.strokeStyle = rtc;
                                                can.fillStyle = rtc;
                                                for (var i = 0; i < trackNow.length; i++) {
                                                   var cor_x = new Number(trackNow[i][0]);
                                                   var cor_y = new Number(trackNow[i][1]);
                                                   var x_cor = new Number(igxm + igslm * rnlm * xr * (cor_x - xx0));
                                                   var y_cor = new Number(igym + igslm * rnlm * yr * (cor_y - yy0));
                                                   can.moveTo(x_cor, y_cor);
                                                   can.arc(x_cor, y_cor, 1, 0, Math.PI * 2, true);
                                                   can.fill();
                                                };
                                                can.closePath();
                                                can.stroke();
                                                trackNow = null;
                                             }
                                             setTimeout(ftn(current_floor, _this.playMark[i], _this.trackNow, _this.real_trak_time, _this.context, _this.real_trak_color, _this.imgXList['map'], _this.imgYList['map'], _this.imgScaleList['map'], _this.rateNumList['map'], _this.x_ratio, _this.y_ratio, _this.x_x0, _this.y_y0), 5);
                                             //var trackNow = getTracknow( _this.playMark[i][0], _this.real_trak_time);//获取指定时间段内该tagid的数据进行绘制
                                          } else {
                                             _this.trackNow = [];
                                          }
                                          var isSos = _this.playMark[i][7];
                                          if (_this.playMark[i][8] == "1") {
                                             if (sousuoType) {
                                                can.drawImage(images[_this.playMark[i][10]], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                             } else {
                                                can.drawImage(sousuo0, 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                             }
                                             sousuoType = !sousuoType;
                                          } else {
                                             if (isSos) {
                                                if (sosType[i]) {
                                                   can.drawImage(sos, 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2 + 3, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 2, images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                                } else {
                                                   can.drawImage(sos1, 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2 + 3, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 2, images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                                }
                                                if (_this.playMark[i][11] == 0) {
                                                   can.strokeStyle = 'red';
                                                } else {
                                                   can.strokeStyle = 'green';
                                                }
                                                can.lineWidth = 3;
                                                BezierEllipse2(can,x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2+14,y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 28,10,5)
                                                sosType[i] = !sosType[i];
                                             } else {
                                                if (_this.playMark[i][11] == 0) {
                                                   can.strokeStyle = 'red';
                                                } else {
                                                   can.strokeStyle = 'green';
                                                }
                                                can.lineWidth = 3;
                                                BezierEllipse2(can,x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2+14,y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 28,10,5)
                                                can.drawImage(images[_this.playMark[i][10]], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                             }
                                          }
                                          //画在相应位置上
                                          // can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor_now - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor_now - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key], images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]);
                                          if (_this.tagZb == '1') { //是否显示标签坐标
                                             can.fillStyle = 'red';
                                             //var f = 8*( _this.imgScaleList['map']);
                                             can.font = "11px Arial";
                                             tagzuobiao = _this.playMark[i][4] + ',' + _this.playMark[i][5];
                                             lio = tagzuobiao.length / 2 * 6
                                             can.fillText(tagzuobiao, x_cor_now - lio, y_cor_now + 15);
                                          };
                                          if (_this.viewName == '1') { //是否显示人员名称
                                             can.fillStyle = 'white';
                                             can.font = '13px sans-serif';
                                             if (_this.viewTagid == '1') { //是否显示标签id
                                                if (_this.playMark[i][2] <= 10) {
                                                   fillRoundRect(can, x_cor_now - 40, y_cor_now - 40 * _this.imgScaleList[key] * _this.rateNumList[key] - 18, 40 * 2, 20, 4, '#FF0000');
                                                } else {
                                                   fillRoundRect(can, x_cor_now - 40, y_cor_now - 40 * _this.imgScaleList[key] * _this.rateNumList[key] - 18, 40 * 2, 20, 4, '#32CD32');
                                                }
                                                can.fillStyle = 'white';
                                                can.fillText(_this.playMark[i][1], x_cor_now - 38, y_cor_now - 40 * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                                can.fillText(_this.playMark[i][0], x_cor_now + 5, y_cor_now - 40 * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                             } else {
                                                if (_this.playMark[i][2] <= 10) {
                                                   fillRoundRect(can, x_cor_now - 20, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 1.1, 20, 4, '#FF0000');
                                                } else {
                                                   fillRoundRect(can, x_cor_now - 20, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 1.1, 20, 4, '#32CD32');
                                                }
                                                can.fillStyle = 'white';
                                                can.fillText(_this.playMark[i][1], x_cor_now - 19, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                             }
                                          } else {
                                             can.font = '13px sans-serif';
                                             can.fillStyle = 'white';
                                             if (_this.viewTagid == '1') {
                                                if (_this.playMark[i][2] <= 10) {
                                                   fillRoundRect(can, x_cor_now - 20, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 1.1, 20, 4, '#FF0000');
                                                } else {
                                                   fillRoundRect(can, x_cor_now - 20, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 18, images[key].naturalHeight * 1.1, 20, 4, '#32CD32');
                                                }
                                                can.fillStyle = 'white';
                                                can.fillText(_this.playMark[i][0], x_cor_now - 14, y_cor_now - images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key] - 3);
                                             }
                                          }
                                          if (_this.viewPower == '1') { //是否显示电量
                                             can.font = '10px sans-serif';
                                             can.fillStyle = 'red';
                                             can.fillText("电量:" + _this.playMark[i][2], x_cor_now - 16, y_cor_now + 20);
                                          };
                                       };
                                    }
                                 };
                              };
                              var now_time = new Date();
                              now_time.setTime(track_now * 1000 + 8 * 3600 * 1000);
                              var now_time_str = now_time.toJSON().substr(0, 19).replace('T', ' ');
                              var tmp = [_this.playMark[i][4], _this.playMark[i][5], now_time_str];
                              if (_this.trackNow[_this.playMark[i][0]] == null) {
                                 _this.trackNow[_this.playMark[i][0]] = []
                              } else if (key == 'anchor_online') {
                                 can.font = '10px sans-serif';
                                 if (_this.anckicon == '1') { //是否显示基站图标
                                    //_this.anchorList = [anchorid, posx,posy,posz,layer,greatetime]
                                    for (var i = 0; i < _this.onlineAnchorList.length; i++) {
                                       var cor_x = new Number(_this.onlineAnchorList[i][1]);
                                       var cor_y = new Number(_this.onlineAnchorList[i][2]);
                                       var x_cor = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                       var y_cor = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                                       can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth, images[key].naturalHeight);
                                       if (_this.viewAnckzb == '1') { //是否显示基站坐标
                                          can.fillStyle = 'red'
                                          var anchorzuobiao = _this.onlineAnchorList[i][1] + ',' + _this.onlineAnchorList[i][2] + ',' + _this.onlineAnchorList[i][3];
                                          // can.fillText(anchorzuobiao, x_cor - 15, y_cor + 30);
                                          can.fillText(anchorzuobiao, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 33);
                                       };
                                       if (_this.viewAnckid == '1') { //是否显示基站id
                                          can.fillStyle = 'red';
                                          var tigidd = _this.onlineAnchorList[i][0];
                                          can.fillText(tigidd, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]));
                                       };
                                    };
                                 };
                              } else if (key == 'anchor_offline') {
                                 can.font = '10px sans-serif';
                                 if (_this.anckicon == '1') { //是否显示基站图标
                                    //_this.anchorList = [anchorid, posx,posy,posz,layer,greatetime]
                                    for (var i = 0; i < _this.offlineAnchorList.length; i++) {
                                       var cor_x = new Number(_this.offlineAnchorList[i][1]);
                                       var cor_y = new Number(_this.offlineAnchorList[i][2]);
                                       var x_cor = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                       var y_cor = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                                       can.drawImage(images[key], 0, 0, images[key].naturalWidth, images[key].naturalHeight, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]), images[key].naturalWidth, images[key].naturalHeight);
                                       if (_this.viewAnckzb == '1') { //是否显示基站坐标
                                          can.fillStyle = 'red'
                                          var anchorzuobiao = _this.offlineAnchorList[i][1] + ',' + _this.offlineAnchorList[i][2] + ',' + _this.offlineAnchorList[i][3];
                                          // can.fillText(anchorzuobiao, x_cor - 15, y_cor + 30);
                                          can.fillText(anchorzuobiao, x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]) + 33);
                                       };
                                       if (_this.viewAnckid == '1') { //是否显示基站id
                                          can.fillStyle = 'red';
                                          can.fillText(_this.offlineAnchorList[i][0], x_cor - (images[key].naturalWidth * _this.imgScaleList[key] * _this.rateNumList[key]) / 2, y_cor - (images[key].naturalHeight * _this.imgScaleList[key] * _this.rateNumList[key]));
                                       };
                                    };
                                 };
                              }
                              _this.trackNow[_this.playMark[i][0]].push(tmp)
                           };
                           // }
                           //开启隧道定位后,需要显示当前考勤区域内的总标签数量
                           if (_this.tunlDw == "1") {
                              var k = 0;
                              fillRoundRect(can, 10, 10, 140, 40 * _this.fenceMarkCount.length, 10, colorbbb);
                              for (var i = 0; i < _this.fenceMarkCount.length; i++) {
                                 can.beginPath();
                                 can.fillStyle = getDrawColor(_this.FenceColor[i]);
                                 can.fillStyle = "rgba(255,255,0,0.7)";
                                 can.font = "15px Verdana";
                                 can.fillText(_this.realFenceList[i][0] + ":" + _this.fenceMarkCount[i], 34, 36 + 40 * k);
                                 can.closePath();
                                 k += 1;
                              };
                           };
                           //开启气体显示
                           if (_this.gas_show == "1") {
                              _this.GasList = getGas("zuobiao"); //气体坐标
                              _this.GasType = getGas("type"); //气体类型
                              _this.GasNongdu = getGas("nongdu"); //气体浓度
                              for (var i = 0; i < _this.GasList.length; i++) {
                                 var cor_x = new Number(_this.GasList[i][0]);
                                 var cor_y = new Number(_this.GasList[i][1]);
                                 var x_cor = new Number(_this.imgXList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.x_ratio * (cor_x - _this.x_x0));
                                 var y_cor = new Number(_this.imgYList['map'] + _this.imgScaleList['map'] * _this.rateNumList['map'] * _this.y_ratio * (cor_y - _this.y_y0));
                                 can.beginPath();
                                 can.arc(x_cor, y_cor, 6, 0, Math.PI * 2, true);
                                 can.fillStyle = "green";
                                 can.fill();
                                 can.fillStyle = "red";
                                 can.fillText(_this.GasType[i], x_cor + 10, y_cor);
                                 can.fillText(_this.GasNongdu[i], x_cor + 10, y_cor + 10);
                                 can.closePath();
                              }
                           };
                        },
                        init: function (current_floor, tml, ydl, fzbl, fcl, fnl, ftl, ail_on, ail_off, sysSetting, ttm) {
                           var _this = this;
                           //读取系统设置
                           _this.tagZb = sysSetting[0].tagZb;//是否显示标签坐标
                           _this.diskaoqin = sysSetting[0].diskaoqing; //出考勤区域是否消失
                           _this.viewAnckid = sysSetting[0].viewAnckid;//是否显示基站ID
                           _this.viewName = sysSetting[0].viewName;//是否显示人员名称
                           _this.tunlDw = sysSetting[0].tunlDw;//隧道定位模式
                           _this.guiji_sava = sysSetting[0].guiji_sava;//是否开启轨迹保存
                           _this.viewPower = sysSetting[0].viewPower;//是否显示电量
                           _this.viewTagid = sysSetting[0].viewTagid;//是否显示标签ID
                           _this.viewAnckzb = sysSetting[0].viewAnckzb;//是否显示基站坐标
                           _this.offView = sysSetting[0].offView;//是否离线不显示图标
                           _this.anckicon = sysSetting[0].anckicon;//是否显示基站图标
                           _this.gas_show = sysSetting[0].gas_show;//显示其他检测(气体显示)
                           _this.quiet = sysSetting[0].quiet;//静止输出固定坐标
                           _this.fence_show = sysSetting[0].fence_show;//是否显示围栏
                           //读取真实地图
                           //读图片实际尺寸
                           _this.trueLength = new Number(tml[0][0]);
                           _this.trueWidth = new Number(tml[0][1]);
                           //读实际原点坐标
                           _this.x_x0 = new Number(ydl[0][0]);
                           _this.y_y0 = new Number(ydl[0][1]);
                           //读取当前围栏信息
                           _this.FenceList = fzbl;
                           _this.FenceColor = fcl;
                           _this.FenceName = fnl;
                           _this.FenceType = ftl;
                           _this.realFenceList = [];
                           //遍历围栏信息并存储成[名称,类型,坐标]
                           for (var m = 0; m < _this.FenceList.length; m++) {
                              var tmp_list = [];
                              var points = _this.FenceList[m];
                              var points_list = _this.FenceList[m].split(",");
                              //围栏实际坐标(加上偏移量的)
                              var points_list_sort = [];
                              for (var i = 0; i < points_list.length; i++) {
                                 if (i % 2 == 0) {
                                    tmp_list = [];
                                    tmp_list.push(new Number(points_list[i]));
                                 } else {
                                    tmp_list.push(new Number(points_list[i]));
                                    points_list_sort.push(tmp_list);
                                 }
                              }
                              //存区域名称+区域类型+区域坐标,方便后续判断是否在某区域内
                              _this.realFenceList.push([_this.FenceName[m], _this.FenceType[m], points_list_sort]);
                           };
                           _this.real_trak_time = str_to_time(sysSetting[0].real_trak_time);//实时轨迹显示时长
                           //当前位置
                           _this.playMark = getRealPosition(current_floor);
                           _this.playAchor = getAnchorInfo_all()[0];
                           _this.playAchorli = getAnchorInfo_all()[1];
                           var tagid_str = "";
                           for (var i = 0; i < _this.playMark.length; i++) {
                              tagid_str += _this.playMark[i][0]
                              if (i != _this.playMark.length - 1) {
                                 tagid_str += ","
                              }
                           }
                        }
                        _this.drawImg(current_floor);
                     }
                     //                if (full_screen==true){
                     //                   clearInterval(timer);
                     //                   timer_screen= setInterval(fn, t);
                     //                } else {
                     //                   clearInterval(timer_screen);
                     //                   timer = setInterval(fn, t);
                     //                }
                     _this.timer = setInterval(fn, t);
                     timer_list.push(_this.timer);
                  },
                  /*计算当前鼠标位置距离canvas的偏移量*/
                  xyToCanvas: function (ele, x, y) {
                     var _this = this;
                     var obj = _this.canvas.getBoundingClientRect();
                     return {
                        x: x - obj.left,
                        y: y - obj.top
                           //实时轨迹
                           if (_this.real_trak_time != 0) {
                              _this.trackNow = getTracknow(current_floor, tagid_str, _this.real_trak_time);
                           } else {
                              _this.trackNow = null;
                           }
                           _this.real_trak_color = getTrackColor(sysSetting[0].real_trak_color);//实时轨迹显示的颜色
                           _this.canvas.onmousedown = function (event) {
                              _this.clickDown(event);
                           };
                           _this.canvas.onmousemove = function (event) {
                              _this.mouseMove(event)
                           };
                           _this.canvas.onmouseup = function (event) {
                              _this.mouseUp(event);
                           };
                           _this.canvas.onmousewheel = function (event) {
                              _this.onmouseWheel(event);
                           };
                           _this.ttm = ttm;
                           //当前地图大于1个时才可以调用dbclick
                           if (_this.ttm > 1) {
                              _this.canvas.ondblclick = function (event) {
                                 _this.doubleClick(event);
                              }
                           }
                           _this.onlineAnchorList = ail_on;
                           //console.log(ail_on);
                           _this.offlineAnchorList = ail_off;
                           var t = 300;//300ms
                           //             function fn(){
                           //                 //当前需要画的坐标
                           //                var realposition_list = getRealPosition_all()
                           //                   _this.playMark = realposition_list[current_floor];
                           //             _this.drawImg(current_floor);
                           //             }
                           function fn() {
                              if (tuodong == true) {
                                 return false;
                              }
                              //当前实时坐标
                              _this.playMark = getRealPosition(current_floor);
                              // var onachor = getAnchorInfo_all()[0][current_floor];
                              // var offachor = getAnchorInfo_all()[1][current_floor];
                              // if (onachor) {
                              //    _this.onlineAnchorList = onachor;
                              // } else {
                              //    _this.onlineAnchorList = [];
                              // }
                              // if (offachor) {
                              //    _this.offlineAnchorList = offachor;
                              // } else {
                              //    _this.offlineAnchorList = [];
                              // }
                              //                   var tagid_str = "";
                              //                   for (var i=0;i<_this.playMark.length;i++){
                              //                      tagid_str += _this.playMark[i][0]
                              //                      if (i!= _this.playMark.length-1){
                              //                         tagid_str += ","
                              //                      }
                              //                   }
                              if (_this.real_trak_time != 0) {
                                 //将当前实时坐标添加进track中
                                 var track_now = Date.parse(new Date());  //timestamp为毫秒单位
                                 track_now = track_now / 1000;
                                 var track_now_head = track_now - _this.real_trak_time;
                                 //当前track最开始的时间
                                 var track_head_date = new Date();
                                 track_head_date.setTime(track_now_head * 1000 + 8 * 3600 * 1000);
                                 var track_head_date_str = track_head_date.toJSON().substr(0, 19).replace('T', ' ');
                                 for (var i = 0; i < _this.playMark.length; i++) {
                                    if (_this.trackNow[_this.playMark[i][0]] != null) {
                                       if (_this.trackNow[_this.playMark[i][0]].length > 1500) {
                                          _this.trackNow[_this.playMark[i][0]] = _this.trackNow[_this.playMark[i][0]].slice(-1200);
                                       };
                                       for (var j = 0; j < _this.trackNow[_this.playMark[i][0]].length; j++) {
                                          if (_this.trackNow[_this.playMark[i][0]][0][2] < track_head_date_str) {
                                             _this.trackNow[_this.playMark[i][0]].shift()
                                          } else {
                                             break
                                          }
                                       };
                                    };
                                    var now_time = new Date();
                                    now_time.setTime(track_now * 1000 + 8 * 3600 * 1000);
                                    var now_time_str = now_time.toJSON().substr(0, 19).replace('T', ' ');
                                    var tmp = [_this.playMark[i][4], _this.playMark[i][5], now_time_str];
                                    if (_this.trackNow[_this.playMark[i][0]] == null) {
                                       _this.trackNow[_this.playMark[i][0]] = []
                                    }
                                    _this.trackNow[_this.playMark[i][0]].push(tmp)
                                 }
                              }
                              _this.drawImg(current_floor);
                           }
                           //                if (full_screen==true){
                           //                   clearInterval(timer);
                           //                   timer_screen= setInterval(fn, t);
                           //                } else {
                           //                   clearInterval(timer_screen);
                           //                   timer = setInterval(fn, t);
                           //                }
                           // var mapa0 = document.getElementById("wrap0")
                           // mapa0.value = "正在加载地图......"
                           // var mapa0 = document.getElementById("wrap0")
                           // var tt = document.createElement("p");
                           // tt.value="正在加载地图......"
                           // tt.style=""
                           // mapa0.appendChild(tt)
                           setTimeout(fnnn, 3000)
                           function fnnn() {
                              _this.timer = setInterval(fn, t);
                              timer_list.push(_this.timer);
                           }
                           // _this.timer = setInterval(fn, t);
                        },
                        /*计算当前鼠标位置距离canvas的偏移量*/
                        xyToCanvas: function (ele, x, y) {
                           var _this = this;
                           var obj = _this.canvas.getBoundingClientRect();
                           return {
                              x: x - obj.left,
                              y: y - obj.top
                           };
                        },
                        /*鼠标双击事件*/
                        doubleClick: function (event) {
                           var _this = this;
                           if ((event.type == "dblclick") && (full_screen == false)) {
                              _this.expand = true;
                              full_screen = true;
                              tubiaochicun = 0.015;
                              // zuobiaochicun = 35;
                              // dianliangchicun = 17;
                              var targ = event.target;
                              var tid = targ.id;
                              var id = tid.substr(tid.length - 1, 1)
                              var str = "map" + id;
                              document.getElementById(str).style.width = "100%";
                              document.getElementById(str).style.height = "800px";
                              var str = "draw" + id;
                              document.getElementById(str).style.width = "100%";
                              document.getElementById(str).style.height = "750px";
                              var str = "wrap" + id;
                              document.getElementById(str).style.width = "100%";
                              document.getElementById(str).style.height = "750px";
                              for (var i = 0; i < 4; i++) {
                                 if (String(i) != id) {
                                    var str = "map" + i;
                                    // document.getElementById(str).style.position = "fixed";
                                    // document.getElementById(str).style.left = "100%";
                                    document.getElementById(str).style.display = "none";
                                 }
                              };
                              //_this.drawImg(current_floor);
                              clearInterval(_this.timer);
                              var can = _this.context;
                              can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                              for (var i = 0; i < timer_list.length; i++) {
                                 clearInterval(timer_list[i]);
                              }
                              timer_list = [];
                              //console.log(result)
                              diaoyonghuatu(result);
                           } else if ((event.type == "dblclick") && (full_screen == true)) {
                              _this.expand = false;
                              full_screen = false;
                              tubiaochicun = 0.03;
                              // zuobiaochicun = 30;
                              // dianliangchicun = 15;
                              var targ = event.target;
                              var tid = targ.id;
                              var id = tid.substr(tid.length - 1, 1)
                              var str = "map" + id;
                              document.getElementById(str).style.width = "49.5%";
                              document.getElementById(str).style.height = null;
                              var str = "draw" + id;
                              document.getElementById(str).style.width = null;
                              document.getElementById(str).style.height = null;
                              var str = "wrap" + id;
                              document.getElementById(str).style.width = "100%";
                              document.getElementById(str).style.height = "400px";
                              for (var i = 0; i < _this.ttm; i++) {
                                 var str = "map" + i;
                                 document.getElementById(str).style.display = "";
                              };
                              //_this.drawImg(current_floor);
                              clearInterval(_this.timer);
                              var can = _this.context;
                              can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                              for (var i = 0; i < timer_list.length; i++) {
                                 clearInterval(timer_list[i]);
                              }
                              timer_list = [];
                              diaoyonghuatu(result);
                           }
                        },
                        /*鼠标单击事件*/
                        clickDown: function (event) {
                           var _this = this;
                           if ((event.button == 0)) {//点击鼠标左键
                              _this.dragFlag = true;
                              tuodong = true;
                              //_this.canvas.style.cursor = "move";
                              _this.pos = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                           }
                        },
                        /*鼠标移动事件*/
                        mouseMove: function (event) {
                           var _this = this;
                           /*拖拽*/
                           if (_this.dragFlag) {
                              tuodong = true;
                              _this.canvas.style.cursor = "move";
                              var pos1 = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                              var x = pos1.x - _this.pos.x;
                              var y = pos1.y - _this.pos.y;
                              _this.pos = pos1;
                              for (var key in _this.imgXList) {
                                 _this.imgXList[key] += x;
                                 _this.imgYList[key] += y;
                              }
                              //clearInterval(_this.timer);
                              _this.cacheCanvas = null;
                              _this.drawImg();
                           }
                           //diaoyonghuatu(result);
                        },
                        /*鼠标放开事件*/
                        mouseUp: function (event) {
                           var _this = this;
                           _this.dragFlag = false;
                           tuodong = false;
                           if (_this.markFlag) {
                              _this.canvas.style.cursor = "none";
                              return;
                           }
                           _this.canvas.style.cursor = 'default';
                        },
                        /*鼠标滚轮事件*/
                        onmouseWheel: function (event) {
                           var _this = this;
                           _this.cacheCanvas = null;
                           var pos = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                           event.wheelDelta = event.wheelDelta ? event.wheelDelta : (event.deltaY * (-40));
                           //取消浏览器默认行为
                           if (event.preventDefault) {
                              event.preventDefault();
                           } else {
                              event.returnValue = false;
                           }
                           if (event.wheelDelta > 0 && _this.scaleFlag < 9) {
                              for (var key in _this.imgScaleList) {
                                 _this.imgScaleList[key] *= 1.25;
                                 _this.imgXList[key] = _this.imgXList[key] * 1.25 - 0.25 * pos.x;
                                 _this.imgYList[key] = _this.imgYList[key] * 1.25 - 0.25 * pos.y;
                              }
                              _this.scaleFlag += 1;
                           }
                           if (event.wheelDelta < 0 && _this.scaleFlag > -9) {//缩小
                              for (var key in _this.imgScaleList) {
                                 _this.imgScaleList[key] *= 0.8;
                                 _this.imgXList[key] = _this.imgXList[key] * 0.8 + pos.x * 0.2;
                                 _this.imgYList[key] = _this.imgYList[key] * 0.8 + pos.y * 0.2;
                              }
                              _this.scaleFlag -= 1;
                           }
                           _this.imgScaleList['icon'] = tubiaochicun;
                           _this.drawImg();
                        },
                     };
                  },
                  /*鼠标双击事件*/
                  doubleClick: function (event) {
                     var _this = this;
                     if ((event.type == "dblclick") && (full_screen == false)) {
                        _this.expand = true;
                        full_screen = true;
                        var targ = event.target;
                        var tid = targ.id;
                        var id = tid.substr(tid.length - 1, 1)
                        var str = "map" + id;
                        document.getElementById(str).style.width = "100%";
                        document.getElementById(str).style.height = "800px";
                        var str = "draw" + id;
                        document.getElementById(str).style.width = "100%";
                        document.getElementById(str).style.height = "750px";
                        var str = "wrap" + id;
                        document.getElementById(str).style.width = "100%";
                        document.getElementById(str).style.height = "750px";
                        for (var i = 0; i < 4; i++) {
                           if (String(i) != id) {
                              var str = "map" + i;
                              document.getElementById(str).style.display = "none";
                           }
                        };
                        //_this.drawImg(current_floor);
                        clearInterval(_this.timer);
                        var can = _this.context;
                        can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                        for (var i = 0; i < timer_list.length; i++) {
                           clearInterval(timer_list[i]);
                        }
                        timer_list = [];
                        diaoyonghuatu(result);
                     } else if ((event.type == "dblclick") && (full_screen == true)) {
                        _this.expand = false;
                        full_screen = false;
                        var targ = event.target;
                        var tid = targ.id;
                        var id = tid.substr(tid.length - 1, 1)
                        var str = "map" + id;
                        document.getElementById(str).style.width = "49.5%";
                        document.getElementById(str).style.height = null;
                        var str = "draw" + id;
                        document.getElementById(str).style.width = null;
                        document.getElementById(str).style.height = null;
                        var str = "wrap" + id;
                        document.getElementById(str).style.width = "100%";
                        document.getElementById(str).style.height = "400px";
                        for (var i = 0; i < _this.ttm; i++) {
                           var str = "map" + i;
                           document.getElementById(str).style.display = "";
                        };
                        //_this.drawImg(current_floor);
                        clearInterval(_this.timer);
                        var can = _this.context;
                        can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                        for (var i = 0; i < timer_list.length; i++) {
                           clearInterval(timer_list[i]);
                        }
                        timer_list = [];
                        diaoyonghuatu(result);
                     }
                  },
                  /*鼠标单击事件*/
                  clickDown: function (event) {
                     var _this = this;
                     if ((event.button == 0)) {//点击鼠标左键
                        _this.dragFlag = true;
                        tuodong = true;
                        //_this.canvas.style.cursor = "move";
                        _this.pos = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                     }
                  },
                  /*鼠标移动事件*/
                  mouseMove: function (event) {
                     var _this = this;
                     /*拖拽*/
                     if (_this.dragFlag) {
                        tuodong = true;
                        _this.canvas.style.cursor = "move";
                        var pos1 = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                        var x = pos1.x - _this.pos.x;
                        var y = pos1.y - _this.pos.y;
                        _this.pos = pos1;
                        for (var key in _this.imgXList) {
                           _this.imgXList[key] += x;
                           _this.imgYList[key] += y;
                        }
                        //clearInterval(_this.timer);
                        _this.cacheCanvas = null;
                        _this.drawImg();
                     }
                     //diaoyonghuatu(result);
                  },
                  /*鼠标放开事件*/
                  mouseUp: function (event) {
                     var _this = this;
                     _this.dragFlag = false;
                     tuodong = false;
                     if (_this.markFlag) {
                        _this.canvas.style.cursor = "none";
                        return;
                     }
                     _this.canvas.style.cursor = 'default';
                  },
                  /*鼠标滚轮事件*/
                  onmouseWheel: function (event) {
                     var _this = this;
                     _this.cacheCanvas = null;
                     var pos = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                     event.wheelDelta = event.wheelDelta ? event.wheelDelta : (event.deltaY * (-40));
                     //取消浏览器默认行为
                     if (event.preventDefault) {
                        event.preventDefault();
                     } else {
                        event.returnValue = false;
                     }
                     if (event.wheelDelta > 0 && _this.scaleFlag < 9) {
                        for (var key in _this.imgScaleList) {
                           _this.imgScaleList[key] *= 1.25;
                           _this.imgXList[key] = _this.imgXList[key] * 1.25 - 0.25 * pos.x;
                           _this.imgYList[key] = _this.imgYList[key] * 1.25 - 0.25 * pos.y;
                        }
                        _this.scaleFlag += 1;
                     }
                     if (event.wheelDelta < 0 && _this.scaleFlag > -9) {//缩小
                        for (var key in _this.imgScaleList) {
                           _this.imgScaleList[key] *= 0.8;
                           _this.imgXList[key] = _this.imgXList[key] * 0.8 + pos.x * 0.2;
                           _this.imgYList[key] = _this.imgYList[key] * 0.8 + pos.y * 0.2;
                        }
                        _this.scaleFlag -= 1;
                     }
                     _this.imgScaleList['icon'] = 0.03;
                     _this.drawImg();
                  },
               };
               function getRealPosition_all() {
                  var realposition = [];
                  $.ajax({
                     async: false,
                     type: 'POST',
                     url: "/hxzkoa/getRealPosition_all.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].posx, data[i].posy, data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sos, data[i].fence])
                        }
                     },
                  });
                  return realposition
               };
               var audio1 = new Audio("/hxzkoa/hxzk/image/voice/sos.wav");
               var audio2 = new Audio("/hxzkoa/hxzk/image/voice/warning.wav");
               // var zaipan = []
               // var sosgaojing1 = getRealPosition();
               // for (var i = 0; i < sosgaojing1.length; i++) {
               //    zaipan.push(false)
               // }
               // setInterval(baojing, 1000)
               function baojing() {
                  var sosgaojing = getRealPosition_all();
                  for (var i = 0; i < sosgaojing.length; i++) {
                     if (sosgaojing[i][7] == 1) {
                        if (sosgaojing[i][8] == 1) {
                           // if (zaipan[i] == false) {
                           var str = '注意,编号[' + sosgaojing[i][0] + ']SOS告警'
                           // Audio1.click()
                           audio1.play()
                           // swal(str)
                           // $.ajax({
                           //    url: "/hxzkoa/sosgaojing.do",
                           //    type: "POST",
                           //    dataType: "JSON",
                           //    data: {
                           //       tagid: sosgaojing[i][0]
                           //    }
                           // })
                           // }
                        } if (sosgaojing[i][9] == 1) {
                           // if (zaipan[i] == false) {
                           var str = '注意,编号[' + sosgaojing[i][0] + ']进入危险区域'
                           // audio2.click()
                           audio2.play()
                           // swal(str)
                           // $.ajax({
                           //    url: "/hxzkoa/fencegaojing.do",
                           //    type: "POST",
                           //    dataType: "JSON",
                           //    data: {
                           //       tagid: sosgaojing[i][0]
                           //    }
                           // })
                           // }
                        }
                        // zaipan[i] = true
                     }
                     // } else {
                     //    zaipan[i] = false
                     function getRealPosition_all() {
                        var realposition = [];
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/getRealPosition_all.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].posx, data[i].posy, data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sos, data[i].fence])
                              }
                           },
                        });
                        return realposition
                     };
                     var audio1 = new Audio("/hxzkoa/hxzk/image/voice/sos.wav");
                     var audio2 = new Audio("/hxzkoa/hxzk/image/voice/warning.wav");
                     // var zaipan = []
                     // var sosgaojing1 = getRealPosition();
                     // for (var i = 0; i < sosgaojing1.length; i++) {
                     //    zaipan.push(false)
                     // }
                  }
               }
               document.getElementById("stop").style.display = 'none';
               $("#search").click(function () {
                  var input = document.getElementById("tagidaaa").value;
                  $.ajax({
                     async: false,
                     url: "/hxzkoa/sousuo.do",
                     type: "POST",
                     dataType: "JSON",
                     data: {
                        tagid: input
                     // setInterval(baojing, 1000)
                     function baojing() {
                        var sosgaojing = getRealPosition_all();
                        for (var i = 0; i < sosgaojing.length; i++) {
                           if (sosgaojing[i][7] == 1) {
                              if (sosgaojing[i][8] == 1) {
                                 var str = '注意,编号[' + sosgaojing[i][0] + ']SOS告警'
                                 audio1.play()
                              } if (sosgaojing[i][9] == 1) {
                                 var str = '注意,编号[' + sosgaojing[i][0] + ']进入危险区域'
                                 audio2.play()
                              }
                           }
                        }
                     }
                  })
                  document.getElementById("search").style.display = 'none';
                  document.getElementById("stop").style.display = '';
                  document.getElementById("tagidaaa").value = "";
               });
               $("#stop").click(function () {
                  $.ajax({
                     async: false,
                     url: "/hxzkoa/sousuoquxiao.do",
                     type: "POST",
                     dataType: "JSON"
                  })
                  document.getElementById("search").style.display = '';
                  document.getElementById("stop").style.display = 'none';
               });
               function hidePopup(x, e) {
                  if (e != undefined) {
                     e.cancelBubble = true;
                  }
                  document.getElementById("popup").style.display = "none";
                  isDelete = x;
                  shipinka = true;
                  document.getElementById("tanchuang").innerHTML = "";
               }
            </script>
            <!-- 结束调用室内定位地图功能 -->
            <!-- > END PAGE FUNCTION SCRIPTS -->
                     document.getElementById("stop").style.display = 'none';
                     $("#search").click(function () {
                        var input = document.getElementById("tagidaaa").value;
                        // $.ajax({
                        //    async: false,
                        //    url: "/hxzkoa/sousuo.do",
                        //    type: "POST",
                        //    dataType: "JSON",
                        //    data: {
                        //       tagid: input
                        //    }
                        // })
                        sousuopanduan = input;
                        document.getElementById("search").style.display = 'none';
                        document.getElementById("stop").style.display = '';
                     });
                     $("#stop").click(function () {
                        // $.ajax({
                        //    async: false,
                        //    url: "/hxzkoa/sousuoquxiao.do",
                        //    type: "POST",
                        //    dataType: "JSON"
                        // })
                        sousuopanduan = "";
                        document.getElementById("search").style.display = '';
                        document.getElementById("stop").style.display = 'none';
                        document.getElementById("tagidaaa").value = "";
                     });
                  </script>
                  <!-- 结束调用室内定位地图功能 -->
                  <!-- > END PAGE FUNCTION SCRIPTS -->
            <!-- BEGIN PAGE LEVEL PLUGINS/CUSTOM SCRIPTS -->
            <script src="/hxzkoa/hxzk/plugins/apex/apexcharts.min.js"></script>
            <script src="/hxzkoa/hxzk/assets/js/dashboard/dash_2.js"></script>
            <!-- BEGIN PAGE LEVEL PLUGINS/CUSTOM SCRIPTS -->
                  <!-- BEGIN PAGE LEVEL PLUGINS/CUSTOM SCRIPTS -->
                  <script src="/hxzkoa/hxzk/plugins/apex/apexcharts.min.js"></script>
                  <script src="/hxzkoa/hxzk/assets/js/dashboard/dash_2.js"></script>
                  <!-- BEGIN PAGE LEVEL PLUGINS/CUSTOM SCRIPTS -->
         </body>
            </body>
         </html>
            </html>