15832144755
2022-03-17 bc131131c5c96f8cb3bed679d4a359820c22e335
src/main/webapp/hxzk/location/queryLocation.jsp
@@ -7,7 +7,7 @@
            <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>
            <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>
@@ -56,6 +56,33 @@
            <script src="/hxzkoa/hxzk/plugins/bootstrap-range-Slider/bootstrap-rangeSlider.js"></script>
            <script src="/hxzkoa/hxzk/plugins/laydate/laydate.js"></script>
            <style>
               body {
                  margin: 0px;
                  width: 100%;
                  min-width: 1500px;
                  max-width: 100%;
                  height: 100%;
                  background-color: #F0F0F0;
               }
               #head {
                  background-color: #FFFF00;
                  width: 100%;
                  height: 100px;
               }
               #center {
                  background-color: #00FFFF;
                  width: 100%;
                  min-height: 100%;
               }
               #foot {
                  background-color: #FF00FF;
                  width: 100%;
                  height: 100px;
               }
               .panel-head {
                  font-size: 1rem;
                  color: rgba(255, 255, 255, .7);
@@ -84,10 +111,13 @@
            </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>
               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>
            <!--  BEGIN NAVBAR  -->
            <div class="login-page"></div>
            <!--  END NAVBAR  -->
@@ -107,37 +137,51 @@
                  <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-content widget-content-area br-6" style="padding:0 0 ;">
                           <div class="widget-content widget-content-area br-6" style="padding: 0 0;">
                              <div class="table-responsive mb-4 mt-4"
                                 style="width:100%;height:600px;padding:0 0;">
                                 <div style="width:20%;height:600px;float:left;padding:20px 20px;">
                                    <div align="center"><label
                                          for="exampleFormControlInput1">每次轨迹查询时间不要超过24小时</label></div>
                                    <div style="margin-left:24px;padding:6px;width:100%;">
                                       <label for="exampleFormControlInput1">选择图层:</label>
                                       <select id="chooselayer" onchange="floorChange()"
                                 style="width: 100%; height: 600px; padding: 0 0;">
                                 <div style="width: 20%; height: 600px; float: left; padding: 20px 20px;">
                                    <div align="center">
                                       <label for="exampleFormControlInput1">每次轨迹查询时间不要超过24小时</label>
                                    </div>
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <label for="exampleFormControlInput1">选择图层:</label> <select
                                          id="chooselayer" onchange="floorChange()"
                                          class="form-control form-control-lg"
                                          style="width:60%;font-size: 12px;padding: 5px 5px">
                                          style="width: 60%; font-size: 12px; padding: 5px 5px">
                                          <c:forEach items="${floorList}" var="floor">
                                             <option value="${floor.floor}">${floor.floor}</option>
                                          </c:forEach>
                                          <option value="baidumap">百度地图</option>
                                       </select>
                                    </div>
                                    <div style="margin-left:24px;padding:6px;width:100%;"><label
                                          for="exampleFormControlInput1">选择开始时间:</label>
                                       <input type="text" id="begin" class="form-control form-control-lg"
                                          style="width:60%;height:40px;font-size:12px;padding:0 0;" />
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <label for="exampleFormControlInput1">选择开始时间:</label> <input
                                          type="text" id="begin" class="form-control form-control-lg"
                                          style="width: 60%; height: 40px; font-size: 12px; padding: 0 0;" />
                                          <input type="button" style="font-size: 4px;width: 19%;background-color: #5c1ac3;color: #fff;border-color: #5c1ac3;" id="yixiaoshi" onclick="yushe(value)" value="一小时"/>
                                          <input type="button" style="font-size: 4px;width: 19%;background-color: #5c1ac3;color: #fff;border-color: #5c1ac3;" id="banxiaoshi" onclick="yushe(value)" value="半小时"/>
                                          <input type="button" style="font-size: 4px;width: 19%;background-color: #5c1ac3;color: #fff;border-color: #5c1ac3;" id="shifenzhong" onclick="yushe(value)" value="10分钟"/>
                                    </div>
                                    <div style="margin-left:24px;padding:6px;width:100%;"><label
                                          for="exampleFormControlInput1">选择结束时间:</label>
                                       <input type="text" id="end" class="form-control form-control-lg"
                                          style="width:60%;height:40px;font-size:12px;padding:0 0;" />
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <label for="exampleFormControlInput1">选择结束时间:</label> <input
                                          type="text" id="end" class="form-control form-control-lg"
                                          style="width: 60%; height: 40px; font-size: 12px; padding: 0 0;" />
                                    </div>
                                    <div style="margin-left:24px;padding:6px;width:100%;"><label
                                          for="exampleFormControlInput1">播放速度:</label>
                                       <select id="bofangsudu" class="form-control form-control-lg"
                                          style="width:60%;font-size: 12px;padding: 5px 5px">
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <label for="exampleFormControlInput1">选择范围(围栏):</label> <select
                                          id="fanwei" class="form-control form-control-lg"
                                          style="width: 60%; font-size: 12px; padding: 5px 5px">
                                          <option value="空">不限范围</option>
                                          <c:forEach items="${fenceList}" var="fence">
                                             <option value="${fence.name}">${fence.name}</option>
                                          </c:forEach>
                                       </select>
                                    </div>
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <label for="exampleFormControlInput1">播放速度:</label> <select
                                          id="bofangsudu" class="form-control form-control-lg"
                                          style="width: 60%; font-size: 12px; padding: 5px 5px">
                                          <option value="1">X1</option>
                                          <option value="2">X2</option>
                                          <option value="4">X4</option>
@@ -145,15 +189,14 @@
                                          <option value="16">X16</option>
                                       </select>
                                    </div>
                                    <div style="margin-left:24px;padding:6px;width:100%;">
                                       <label for="exampleFormControlInput1">输入ID查询:</label>
                                       <input type="text" class="form-control" id="tagid"
                                          style="width:60%;font-size: 12px;padding: 5px 5px">
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <label for="exampleFormControlInput1">输入ID查询:</label> <input
                                          type="text" class="form-control" id="tagid"
                                          style="width: 60%; font-size: 12px; padding: 5px 5px">
                                    </div>
                                    <div style="margin-left:24px;padding:6px;width:100%;" id="shujutiao">
                                    </div>
                                    <div style="margin-left:24px;padding:6px;width:100%;">
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;"
                                       id="shujutiao"></div>
                                    <div style="margin-left: 24px; padding: 6px; width: 100%;">
                                       <button type="button" class="btn btn-secondary"
                                          id="search">搜索</button>
                                       <button type="button" class="btn btn-secondary"
@@ -168,9 +211,10 @@
                                          id="continue2">继续</button>
                                    </div>
                                 </div>
                                 <div style="width:80%;height:600px;float:left;padding:0 0;" id="baidumap">
                                 </div>
                                 <div style="width:80%;height:600px;float:left;padding:0 0;" id="wrap">
                                 <div style="width: 80%; height: 600px; float: left; padding: 0 0;"
                                    id="baidumap"></div>
                                 <div style="width: 80%; height: 600px; float: left; padding: 0 0;"
                                    id="wrap">
                                    <canvas id="draw"></canvas>
                                 </div>
                              </div>
@@ -183,310 +227,425 @@
            </div>
            <!-- END MAIN CONTAINER -->
            <!-- BEGIN FUNCTION SCRIPTS -->
            <script>
               //执行一个laydate实例
               laydate.render({
                  elem: '#begin' //指定元素'
                  , type: 'datetime'
                  , done: function (value, date) {
                     var end = document.getElementById("end").value;
                     if (end) {
                        if (end <= value) {
                           alert("结束时间必须大于开始时间");
                           document.getElementById("end").value = "";
            <% String username=(String) session.getAttribute("username"); if (username==null || username.equals(""))
               { request.getRequestDispatcher("/hxzk/login.jsp").forward(request, response); return; } %>
               <!-- BEGIN FUNCTION SCRIPTS -->
               <script>
                  //执行一个laydate实例
                  laydate.render({
                     elem: '#begin' //指定元素'
                     , type: 'datetime'
                     , done: function (value, date) {
                        var end = document.getElementById("end").value;
                        if (end) {
                           if (end <= value) {
                              alert("结束时间必须大于开始时间");
                              document.getElementById("end").value = "";
                           }
                        }
                     }
                  }
               });
                  });
               //执行一个laydate实例
               laydate.render({
                  elem: '#end' //指定元素'
                  , type: 'datetime'
                  , done: function (value, date) {
                     var begin = document.getElementById("begin").value;
                     if (begin) {
                        if (begin >= value) {
                           alert("结束时间必须大于开始时间");
                           document.getElementById("begin").value = "";
                  //执行一个laydate实例
                  laydate.render({
                     elem: '#end' //指定元素'
                     , type: 'datetime'
                     , done: function (value, date) {
                        var begin = document.getElementById("begin").value;
                        if (begin) {
                           if (begin >= value) {
                              alert("结束时间必须大于开始时间");
                              document.getElementById("begin").value = "";
                           }
                        }
                     }
                  });
                  function yushe(value){
                       var now = "";
                     if (value == "一小时") {
                        now = new Date(new Date().getTime() - 1 * 60 * 60 * 1000);
                     } else if (value == "半小时") {
                        now = new Date(new Date().getTime() - 0.5 * 60 * 60 * 1000);
                     } else if (value == "10分钟") {
                        now = new Date(new Date().getTime() - 0.166 * 60 * 60 * 1000);
                     }
                  }
               });
                       var year = now.getFullYear();       //年
                       var month = now.getMonth() + 1;     //月
                       var day = now.getDate();            //日
               function floorChange() {
                  // when change floor num, the map will also change.
                  var select_layer = document.getElementById("chooselayer");
                  var select_value = select_layer.value;
                  var select_layer = document.getElementById("chooselayer");
                  var select_value = select_layer.value;
                  if (select_value == 'baidumap') {
                     document.getElementById("wrap").style.display = 'none';
                     document.getElementById("draw").style.display = 'none';
                     document.getElementById("baidumap").style.display = '';
                     document.getElementById("search").style.display = 'none';
                     document.getElementById("pause").style.display = 'none';
                     document.getElementById("continue").style.display = 'none';
                     document.getElementById("search2").style.display = '';
                     document.getElementById("pause2").style.display = '';
                     document.getElementById("continue2").style.display = '';
                     document.getElementById("bofangsudu").options.remove(4);
                     diaoyongbaidumap();
                  } else {
                     document.getElementById("baidumap").style.display = 'none';
                     document.getElementById("wrap").style.display = "";
                     document.getElementById("draw").style.display = '';
                     document.getElementById("search").style.display = '';
                     document.getElementById("pause").style.display = '';
                     document.getElementById("continue").style.display = '';
                     document.getElementById("search2").style.display = 'none';
                     document.getElementById("pause2").style.display = 'none';
                     document.getElementById("continue2").style.display = 'none';
                     document.getElementById("bofangsudu").options.add(new Option("X16", "16"));
                     $.ajax({
                        async: false,
                        type: 'POST',
                        url: "/hxzkoa/floornumTomap.do",
                        dataType: 'json',
                        data: {
                           value: select_value
                        },
                        success: function (data) {
                           imgUrl = '/hxzkoa/hxzk/image/mapfile/' + data[0].mapname;
                           //imgUrl = '/hxzkoa/hxzk/image/mapfile/office.jpg';
                           new MarkPoints(imgUrl);
                        }
                     })
                  };
               };
                       var hh = now.getHours();            //时
                       var mm = now.getMinutes();          //分
                       var ss = now.getSeconds();          //分
               function getTruemap() {
                  var floor = document.getElementById("chooselayer").value;
                  var map_wl = [];
                  $.ajax({
                     async: false,
                     type: "POST",
                     url: "/hxzkoa/floornumTomap.do",
                     dataType: 'json',
                     data: {
                        value: floor
                     },
                     success: function (data) {
                        map_wl = [data[0].x_Truelength, data[0].y_Truewidth];
                     },
                  });
                  return map_wl;
               };
                       var clock = year + "-";
               function getYuandian() {
                  var floor = document.getElementById("chooselayer").value;
                  var map_wl = [];
                  $.ajax({
                     async: false,
                     type: "POST",
                     url: "/hxzkoa/floornumTomap.do",
                     dataType: 'json',
                     data: {
                        value: floor
                     },
                     success: function (data) {
                        yuandian = [data[0].x0_length, data[0].y0_width];
                     },
                  });
                  return yuandian;
               };
                       if(month < 10)
                           clock += "0";
                       clock += month + "-";
               function queryTagid() {
                  var tag = document.getElementById("tagid").value;
                  var begin = document.getElementById("begin").value;
                  var end = document.getElementById("end").value;
                  var floor = document.getElementById("chooselayer").value;
                  var tagTrack = [];
                  if (tag) {
                     if (begin && end) {
                        // query tag id from db
                        $.ajax({
                           async: false,
                           type: "POST",
                           url: "/hxzkoa/trackTagid.do",
                           dataType: 'json',
                           data: {
                              tag_value: tag,
                              begin_value: begin,
                              end_value: end,
                              floor_value: floor,
                           },
                           success: function (data) {
                              tagTrack = data;
                           },
                        });
                        return tagTrack;
                     } else { alert("请输入要查询的时间"); }
                  } else { alert("请输入要查询的ID"); }
               };
                       if(day < 10)
                           clock += "0";
               //这是比较函数
               function compare(p) {
                  return function (m, n) {
                     var a = m[p];
                     var b = n[p];
                     return a - b; //升序
                  }
               };
                       clock += day + " ";
               function ToDigital(strDu, strFen, strMiao, len) {
                  len = (len > 6 || typeof (len) == "undefined") ? 6 : len;//精确到小数点后最多六位
                  strDu = (typeof (strDu) == "undefined" || strDu == "") ? 0 : parseFloat(strDu);
                  strFen = (typeof (strFen) == "undefined" || strFen == "") ? 0 : parseFloat(strFen) / 60;
                  strMiao = (typeof (strMiao) == "undefined" || strMiao == "") ? 0 : parseFloat(strMiao) / 60; //秒为分的格式
                  var digital = strDu + strFen + strMiao;
                  if (digital == 0) {
                     return "";
                  } else {
                     return digital.toFixed(len);
                  }
               };
                       if(hh < 10)
                           clock += "0";
               function Queue() {
                  let items = [];
                  // 向队列添加元素(一个或多个)
                  this.enqueue = function (element) {
                     if (element instanceof Array) items = items.concat(element);
                     else items.push(element);
                  };
                  // 从队列移除元素
                  this.dequeue = function () {
                     return items.shift();
                  };
                  // 返回队列中的第一个元素
                  this.front = function () {
                     return items[0];
                  };
                  // 返回队列的长度
                  this.size = function () {
                     return items.length;
                  };
                  // 清空队列
                  this.clear = function () {
                     items = [];
                  };
                       clock += hh + ":";
                       if (mm < 10)
                           clock += '0';
                       clock += mm + ":";
                  // 打印队列内的所有元素
                  this.print = function () {
                  };
               };
                       if (ss < 10)
                           clock += '0';
                       clock += ss;
                       document.getElementById("begin").value = clock;
                       yushe2();
                   }
                  function yushe2(){
                       var now = new Date();
               function getGPSTrack() {
                  var tag = document.getElementById("tagid").value;
                  var begin = document.getElementById("begin").value;
                  var end = document.getElementById("end").value;
                  var gpslist = [];
                  if (tag) {
                     if (begin && end) {
                        // query tag id from db
                       var year = now.getFullYear();       //年
                       var month = now.getMonth() + 1;     //月
                       var day = now.getDate();            //日
                       var hh = now.getHours();            //时
                       var mm = now.getMinutes();          //分
                       var ss = now.getSeconds();          //分
                       var clock = year + "-";
                       if(month < 10)
                           clock += "0";
                       clock += month + "-";
                       if(day < 10)
                           clock += "0";
                       clock += day + " ";
                       if(hh < 10)
                           clock += "0";
                       clock += hh + ":";
                       if (mm < 10)
                           clock += '0';
                       clock += mm + ":";
                       if (ss < 10)
                           clock += '0';
                       clock += ss;
                       document.getElementById("end").value = clock;
                   }
                  function floorChange() {
                     // when change floor num, the map will also change.
                     var select_layer = document.getElementById("chooselayer");
                     var select_value = select_layer.value;
                     var select_layer = document.getElementById("chooselayer");
                     var select_value = select_layer.value;
                     if (select_value == 'baidumap') {
                        document.getElementById("wrap").style.display = 'none';
                        document.getElementById("draw").style.display = 'none';
                        document.getElementById("baidumap").style.display = '';
                        document.getElementById("search").style.display = 'none';
                        document.getElementById("fanwei").style.display = 'none';
                        document.getElementById("pause").style.display = 'none';
                        document.getElementById("continue").style.display = 'none';
                        document.getElementById("search2").style.display = '';
                        document.getElementById("pause2").style.display = '';
                        document.getElementById("continue2").style.display = '';
                        document.getElementById("bofangsudu").options.remove(4);
                        diaoyongbaidumap();
                     } else {
                        document.getElementById("baidumap").style.display = 'none';
                        document.getElementById("wrap").style.display = "";
                        document.getElementById("draw").style.display = '';
                        document.getElementById("search").style.display = '';
                        document.getElementById("fanwei").style.display = '';
                        document.getElementById("pause").style.display = '';
                        document.getElementById("continue").style.display = '';
                        document.getElementById("search2").style.display = 'none';
                        document.getElementById("pause2").style.display = 'none';
                        document.getElementById("continue2").style.display = 'none';
                        document.getElementById("bofangsudu").options.add(new Option("X16", "16"));
                        $.ajax({
                           async: false,
                           type: 'POST',
                           traditional: true,
                           url: "/hxzkoa/getGPSTrack.do",
                           url: "/hxzkoa/floornumTomap.do",
                           dataType: 'json',
                           data: {
                              tag_value: tag,
                              begin_value: begin,
                              end_value: end,
                              value: select_value
                           },
                           success: function (data) {
                              //经纬度从度分秒转成度
                              for (var i = 0; i < data.length; i++) {
                                 if (data[i].gps_weidu != "" && data[i].gsp_jingdu != "") {
                                    var weidu = ToDigital(data[i].gps_weidu.substring(0, 2), data[i].gps_weidu.substring(2, 4), data[i].gps_weidu.substring(4));
                                    if (data[i].gps_NS == "S") {
                                       weidu = String(0 - weidu);
                                    };
                                    var jingdu = ToDigital(data[i].gsp_jingdu.substring(0, 3), data[i].gsp_jingdu.substring(3, 5), data[i].gsp_jingdu.substring(5));
                                    if (data[i].gps_EW == "W") {
                                       jingdu = String(0 - jingdu);
                                    };
                                    gpslist.push([data[i].tagid, jingdu, weidu, data[i].gps_power, data[i].addtime, data[i].name]);
                                 }
                              };
                           },
                        });
                        return gpslist;
                     } else { alert("请输入要查询的时间"); }
                  } else { alert("请输入要查询的ID"); }
               };
            </script>
            <!-- 百度地图功能 -->
            <script type="text/javascript">
               var playFlag;
               var playTrack;
               var playIndex = 0;
               var zhuanhuanindex = 0;
               var search_count = 0;
               var search_again = false;
               var current_node_list = [];
               var current_point_list = [];
               var old_index = 0;
               var timer_g;
               var tagid;
               var zuobiao;
               var i = 0;
               function diaoyongbaidumap() {
                  //       this.playFlag; //当前是否在播放
                  //       this.playTrack; //当前需要播放的总node
                  //       this.playIndex = 0;//当前播放坐标顺序
                  //var current_node_list = new Queue();
                  current_node_list = [];
                  current_point_list = [];
                  old_index = 0;
                  // 百度地图API功能
                  var bm = new BMap.Map("baidumap");    // 创建Map实例
                  bm.centerAndZoom(new BMap.Point(116.404, 39.915), 12);  // 初始化地图,设置中心点坐标和地图级别
                  //添加地图类型控件
                  var opts = { type: BMAP_NAVIGATION_CONTROL_ZOOM };   //仅保留控件缩放部分
                  bm.addControl(new BMap.NavigationControl(opts)); //添加导航控件
                  bm.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
                  bm.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
                  bm.addControl(new BMap.MapTypeControl({
                     mapTypes: [
                        BMAP_NORMAL_MAP,
                        BMAP_SATELLITE_MAP,
                        BMAP_HYBRID_MAP
                     ]
                  }));
                  var myIcon = new BMap.Icon("/hxzkoa/hxzk/image/targeticon/default.png", new BMap.Size(40, 40), {
                     //使用自定义标注时,指向的地理位置位于图片的中心点
                     //anchor为图片左上角相对于地理位置的偏移量,此时指向的地理位置位于图标中心最下方
                     anchor: new BMap.Size(20, 40)
                  }
                  );
                  var convertor = new BMap.Convertor();
                  function gpsplay() {
                     //坐标转换完之后的回调函数
                     translateCallback = function (data) {
                        if (search_again == true) {
                           return null
                        }
                        if (data.status == 0) {//已执行完坐标转换
                           for (var k = 0; k < data.points.length; k++) {
                              current_node_list.push(new BMap.Marker(data.points[k], { icon: myIcon }));
                              current_point_list.push(data.points[k]);
                              imgUrl = '/hxzkoa/hxzk/image/mapfile/' + data[0].mapname;
                              //imgUrl = '/hxzkoa/hxzk/image/mapfile/office.jpg';
                              new MarkPoints(imgUrl);
                           }
                        })
                     };
                  };
                           zhuanhuanindex += data.points.length;
                           if (zhuanhuanindex < playTrack.length) {
                  function getTruemap() {
                     var floor = document.getElementById("chooselayer").value;
                     var map_wl = [];
                     $.ajax({
                        async: false,
                        type: "POST",
                        url: "/hxzkoa/floornumTomap.do",
                        dataType: 'json',
                        data: {
                           value: floor
                        },
                        success: function (data) {
                           map_wl = [data[0].x_Truelength, data[0].y_Truewidth];
                        },
                     });
                     return map_wl;
                  };
                  function getYuandian() {
                     var floor = document.getElementById("chooselayer").value;
                     var map_wl = [];
                     $.ajax({
                        async: false,
                        type: "POST",
                        url: "/hxzkoa/floornumTomap.do",
                        dataType: 'json',
                        data: {
                           value: floor
                        },
                        success: function (data) {
                           yuandian = [data[0].x0_length, data[0].y0_width];
                        },
                     });
                     return yuandian;
                  };
                  function queryTagid() {
                     var tag = document.getElementById("tagid").value;
                     var begin = document.getElementById("begin").value;
                     var end = document.getElementById("end").value;
                     var floor = document.getElementById("chooselayer").value;
                     var fence = document.getElementById("fanwei").value;
                     var tagTrack = [];
                     if (tag) {
                        if (begin && end) {
                           // query tag id from db
                           $.ajax({
                              async: false,
                              type: "POST",
                              url: "/hxzkoa/trackTagid.do",
                              dataType: 'json',
                              data: {
                                 tag_value: tag,
                                 begin_value: begin,
                                 end_value: end,
                                 floor_value: floor,
                                 fence: fence,
                              },
                              success: function (data) {
                                 tagTrack = data;
                              },
                           });
                           return tagTrack;
                        } else { alert("请输入要查询的时间"); }
                     } else { alert("请输入要查询的ID"); }
                  };
                  //这是比较函数
                  function compare(p) {
                     return function (m, n) {
                        var a = m[p];
                        var b = n[p];
                        return a - b; //升序
                     }
                  };
                  function ToDigital(strDu, strFen, strMiao, len) {
                     len = (len > 6 || typeof (len) == "undefined") ? 6 : len;//精确到小数点后最多六位
                     strDu = (typeof (strDu) == "undefined" || strDu == "") ? 0 : parseFloat(strDu);
                     strFen = (typeof (strFen) == "undefined" || strFen == "") ? 0 : parseFloat(strFen) / 60;
                     strMiao = (typeof (strMiao) == "undefined" || strMiao == "") ? 0 : parseFloat(strMiao) / 60; //秒为分的格式
                     var digital = strDu + strFen + strMiao;
                     if (digital == 0) {
                        return "";
                     } else {
                        return digital.toFixed(len);
                     }
                  };
                  function Queue() {
                     let items = [];
                     // 向队列添加元素(一个或多个)
                     this.enqueue = function (element) {
                        if (element instanceof Array) items = items.concat(element);
                        else items.push(element);
                     };
                     // 从队列移除元素
                     this.dequeue = function () {
                        return items.shift();
                     };
                     // 返回队列中的第一个元素
                     this.front = function () {
                        return items[0];
                     };
                     // 返回队列的长度
                     this.size = function () {
                        return items.length;
                     };
                     // 清空队列
                     this.clear = function () {
                        items = [];
                     };
                     // 打印队列内的所有元素
                     this.print = function () {
                     };
                  };
                  function getGPSTrack() {
                     var tag = document.getElementById("tagid").value;
                     var begin = document.getElementById("begin").value;
                     var end = document.getElementById("end").value;
                     var gpslist = [];
                     if (tag) {
                        if (begin && end) {
                           // query tag id from db
                           $.ajax({
                              async: false,
                              type: 'POST',
                              traditional: true,
                              url: "/hxzkoa/getGPSTrack.do",
                              dataType: 'json',
                              data: {
                                 tag_value: tag,
                                 begin_value: begin,
                                 end_value: end,
                              },
                              success: function (data) {
                                 //经纬度从度分秒转成度
                                 for (var i = 0; i < data.length; i++) {
                                    if (data[i].gps_weidu != "" && data[i].gsp_jingdu != "") {
                                       var weidu = ToDigital(data[i].gps_weidu.substring(0, 2), data[i].gps_weidu.substring(2, 4), data[i].gps_weidu.substring(4));
                                       if (data[i].gps_NS == "S") {
                                          weidu = String(0 - weidu);
                                       };
                                       var jingdu = ToDigital(data[i].gsp_jingdu.substring(0, 3), data[i].gsp_jingdu.substring(3, 5), data[i].gsp_jingdu.substring(5));
                                       if (data[i].gps_EW == "W") {
                                          jingdu = String(0 - jingdu);
                                       };
                                       gpslist.push([data[i].tagid, jingdu, weidu, data[i].gps_power, data[i].addtime, data[i].name]);
                                    }
                                 };
                              },
                           });
                           return gpslist;
                        } else { alert("请输入要查询的时间"); }
                     } else { alert("请输入要查询的ID"); }
                  };
               </script>
               <!-- 百度地图功能 -->
               <script type="text/javascript">
                  var baitiao;
                  var baizongtiao;
                  var playFlag;
                  var playTrack;
                  var playIndex = 0;
                  var zhuanhuanindex = 0;
                  var search_count = 0;
                  var search_again = false;
                  var current_node_list = [];
                  var current_point_list = [];
                  var old_index = 0;
                  var timer_g;
                  var tagid;
                  var zuobiao;
                  var i = 0;
                  function diaoyongbaidumap() {
                     //       this.playFlag; //当前是否在播放
                     //       this.playTrack; //当前需要播放的总node
                     //       this.playIndex = 0;//当前播放坐标顺序
                     //var current_node_list = new Queue();
                     current_node_list = [];
                     current_point_list = [];
                     old_index = 0;
                     // 百度地图API功能
                     var bm = new BMap.Map("baidumap");    // 创建Map实例
                     bm.centerAndZoom(new BMap.Point(116.404, 39.915), 12);  // 初始化地图,设置中心点坐标和地图级别
                     //添加地图类型控件
                     var opts = { type: BMAP_NAVIGATION_CONTROL_ZOOM };   //仅保留控件缩放部分
                     bm.addControl(new BMap.NavigationControl(opts)); //添加导航控件
                     bm.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
                     bm.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
                     bm.addControl(new BMap.MapTypeControl({
                        mapTypes: [
                           BMAP_NORMAL_MAP,
                           BMAP_SATELLITE_MAP,
                           BMAP_HYBRID_MAP
                        ]
                     }));
                     var myIcon = new BMap.Icon("/hxzkoa/hxzk/image/targeticon/default.png", new BMap.Size(40, 40), {
                        //使用自定义标注时,指向的地理位置位于图片的中心点
                        //anchor为图片左上角相对于地理位置的偏移量,此时指向的地理位置位于图标中心最下方
                        anchor: new BMap.Size(20, 40)
                     }
                     );
                     var convertor = new BMap.Convertor();
                     function gpsplay() {
                        //坐标转换完之后的回调函数
                        translateCallback = function (data) {
                           if (search_again == true) {
                              return null
                           }
                           if (data.status == 0) {//已执行完坐标转换
                              for (var k = 0; k < data.points.length; k++) {
                                 current_node_list.push(new BMap.Marker(data.points[k], { icon: myIcon }));
                                 current_point_list.push(data.points[k]);
                              }
                              zhuanhuanindex += data.points.length;
                              if (zhuanhuanindex < playTrack.length) {
                                 var j = 0;
                                 var pointArr = [];
                                 while (j < 10 && zhuanhuanindex + j < playTrack.length) {
                                    var point = new BMap.Point(new Number(playTrack[zhuanhuanindex + j][1]), new Number(playTrack[zhuanhuanindex + j][2]));
                                    pointArr.push(point);
                                    j++;
                                 }
                                 //                   pointArr = [];
                                 //                    point = new BMap.Point(new Number(playTrack[zhuanhuanindex][1]), new Number(playTrack[zhuanhuanindex][2]));
                                 //                     pointArr.push(point);
                                 convertor.translate(pointArr, 1, 5, translateCallback);
                              }
                           };
                           if (search_again == true) {
                              current_node_list = [];
                              current_point_list = [];
                           };
                        };
                        if (playTrack.length != 0) {
                           if (playIndex == 0) {
                              current_node_list = [];
                              current_point_list = [];
                           }
                           if (playFlag && zhuanhuanindex < playTrack.length) {
                              var j = 0;
                              var pointArr = [];
                              while (j < 10 && zhuanhuanindex + j < playTrack.length) {
@@ -494,57 +653,116 @@
                                 pointArr.push(point);
                                 j++;
                              }
                              //                   pointArr = [];
                              //                    point = new BMap.Point(new Number(playTrack[zhuanhuanindex][1]), new Number(playTrack[zhuanhuanindex][2]));
                              //                     pointArr.push(point);
                              search_again = false;
                              convertor.translate(pointArr, 1, 5, translateCallback);
                           }
                        };
                        if (search_again == true) {
                           current_node_list = [];
                           current_point_list = [];
                        };
                           if (playFlag && zhuanhuanindex >= playIndex) {
                              t = 1000;
                              var gpss_list = getGPSTrack();
                              timer_g = setInterval(fn, t);
                              function fn() {
                                 var speed = document.getElementById("bofangsudu").value;
                                 if (playFlag && playIndex < playTrack.length && zhuanhuanindex > playIndex) {
                                    for (j = 0; j < playIndex; j++) {
                                       old_mark = current_node_list[j];
                                       bm.removeOverlay(old_mark);//清除上一个
                                    }
                                    marker = current_node_list[playIndex];
                                    bm.addOverlay(marker);
                                    str = '<input type="text" class="form-control"  id="tagid" style="width:60%;font-size: 12px;padding: 5px 5px" placeholder="剩余' + baizongtiao + '/' + baitiao + '条数据">'
                                    $("#shujutiao").html(str);
                                    if (baitiao > 0) {
                                       baitiao -= 1;
                                    }
                                    zuobiao = new BMap.Label(gpss_list[playIndex][4], { offset: new BMap.Size(20, -60) });
                                    zuobiao.setStyle({
                                       color: "#090909",
                                       fontSize: "14px",
                                       borderRadius: "5px",
                                       padding: "5px 5px",
                                       border: "0",
                                       backgroundColor: "#32CD32",
                                       transform: 'translateX(-50%)',
                                    });
                                    i++;
                                    marker.setLabel(zuobiao);
                                    marker.setLabel(tagid); //添加label-tagid
                                    if (old_index > 1 && old_index < playIndex) {
                                       var poly_line = [current_point_list[old_index], current_point_list[playIndex]]
                                       var polyline = new BMap.Polyline(poly_line, { strokeColor: "red", strokeWeight: 2, strokeOpacity: 0.5 });
                                       bm.addOverlay(polyline)
                                    }
                                    old_index = playIndex;
                                    if (playIndex == 0) {
                                       bm.setCenter(current_point_list[playIndex])
                                    }
                                    playIndex += 1;
                                    clearInterval(timer_g);
                                    if (playIndex >= playTrack.length - 1) {
                                       clearInterval(timer_g);
                                       playIndex = 0;
                                       i = 0;
                                    } else {
                                       var stime = new Date(playTrack[playIndex][4]).getTime();
                                       var etime = new Date(playTrack[playIndex + 1][4]).getTime();
                                       var t = etime - stime;
                                       while (t == 0 && playIndex < playTrack.length - 1) {
                                          stime = new Date(playTrack[playIndex][4]).getTime();
                                          etime = new Date(playTrack[playIndex + 1][4]).getTime();
                                          t = etime - stime;
                                          playIndex += 1;
                                       }
                                       if (playIndex != playTrack.length - 1) {
                                          var t_v = t / speed;
                                          console.log(playIndex+"---"+i);
                                          timer_g = setInterval(fn, t_v);
                                       }
                                    }
                                 }
                              }
                           }
                        }
                     };
                     document.getElementById('search2').onclick = function () {
                        bm.clearOverlays();
                        clearInterval(timer_g);
                        baizongtiao = getGPSTrack().length - 2;
                        baitiao = baizongtiao;
                        setTimeout(fnc(), 200);
                     if (playTrack.length != 0) {
                        if (playIndex == 0) {
                        function fnc() {
                           current_node_list = [];
                           current_point_list = [];
                        }
                        if (playFlag && zhuanhuanindex < playTrack.length) {
                           var j = 0;
                           var pointArr = [];
                           while (j < 10 && zhuanhuanindex + j < playTrack.length) {
                              var point = new BMap.Point(new Number(playTrack[zhuanhuanindex + j][1]), new Number(playTrack[zhuanhuanindex + j][2]));
                              pointArr.push(point);
                              j++;
                           }
                           search_again = false;
                           convertor.translate(pointArr, 1, 5, translateCallback);
                        }
                        if (playFlag && zhuanhuanindex >= playIndex) {
                           t = 1000;
                           timer_g = setInterval(fn, t);
                           var tiao = getGPSTrack().length;
                           function fn() {
                              var speed = document.getElementById("bofangsudu").value;
                              if (playFlag && playIndex < playTrack.length && zhuanhuanindex > playIndex) {
                                 for (j = 0; j < playIndex; j++) {
                                    old_mark = current_node_list[j];
                                    bm.removeOverlay(old_mark);//清除上一个
                                 }
                                 marker = current_node_list[playIndex];
                                 bm.addOverlay(marker);
                                 var gpss_list = getGPSTrack();
                                 str = '<input type="text" class="form-control"  id="tagid" style="width:60%;font-size: 12px;padding: 5px 5px" placeholder="已加载' + tiao + '条数据">'
                                 $("#shujutiao").html(str);
                                 tiao -= 1;
                                 zuobiao = new BMap.Label(gpss_list[i][4], { offset: new BMap.Size(20, -60) });
                                 zuobiao.setStyle({
                           playIndex = 0;
                           old_index = 0;
                           search_count += 1;
                           if (search_count >= 2) {
                              search_again = true;
                              current_node_list = [];
                              current_point_list = [];
                              playIndex = 0;
                              old_index = 0;
                              zhuanhuanindex = 0;
                              playTrack = [];
                              playFlag = true;
                              var gps_node_list = getGPSTrack();
                              if (gps_node_list.length == 0) {
                                 alert("搜索的ID在当前时间段不存在!");
                                 document.getElementById("tagid").value = "";
                              } else {
                                 playTrack = gps_node_list;
                                 tagid = new BMap.Label(playTrack[0][5], { offset: new BMap.Size(20, -30) });
                                 tagid.setStyle({
                                    color: "#090909",
                                    fontSize: "14px",
                                    borderRadius: "5px",
@@ -553,599 +771,515 @@
                                    backgroundColor: "#32CD32",
                                    transform: 'translateX(-50%)',
                                 });
                                 i++;
                                 marker.setLabel(zuobiao);
                                 marker.setLabel(tagid); //添加label-tagid
                                 if (old_index > 1 && old_index < playIndex) {
                                    var poly_line = [current_point_list[old_index], current_point_list[playIndex]]
                                    var polyline = new BMap.Polyline(poly_line, { strokeColor: "red", strokeWeight: 2, strokeOpacity: 0.5 });
                                    bm.addOverlay(polyline)
                                 }
                                 old_index = playIndex;
                                 if (playIndex == 0) {
                                    bm.setCenter(current_point_list[playIndex])
                                 }
                                 playIndex += 1;
                                 clearInterval(timer_g);
                                 if (playIndex >= playTrack.length - 1) {
                                    clearInterval(timer_g);
                                 } else {
                                    var stime = new Date(playTrack[playIndex][4]).getTime();
                                    var etime = new Date(playTrack[playIndex + 1][4]).getTime();
                                    var t = etime - stime;
                                    while (t == 0 && playIndex < playTrack.length - 1) {
                                       stime = new Date(playTrack[playIndex][4]).getTime();
                                       etime = new Date(playTrack[playIndex + 1][4]).getTime();
                                       t = etime - stime;
                                       playIndex += 1;
                                    }
                                    if (playIndex != playTrack.length - 1) {
                                       var t_v = t / speed;
                                       timer_g = setInterval(fn, t_v);
                                    }
                                 }
                                 // zuobiao = new BMap.Label(playTrack[0][4], { offset: new BMap.Size(20, -60) });
                                 // zuobiao.setStyle({
                                 //    color : "#090909",
                                 //    fontSize : "14px",
                                 //    borderRadius: "5px",
                                 //    padding:"5px 5px",
                                 //    border :"0",
                                 //    backgroundColor :"#32CD32",
                                 //    transform: 'translateX(-50%)',
                                 // });
                                 search_again = false;
                                 gpsplay();
                              }
                           }
                        }
                     }
                  };
                  document.getElementById('search2').onclick = function () {
                     bm.clearOverlays();
                     clearInterval(timer_g);
                     setTimeout(fnc(), 200);
                     function fnc() {
                        current_node_list = [];
                        current_point_list = [];
                        playIndex = 0;
                        old_index = 0;
                        search_count += 1;
                        if (search_count >= 2) {
                           search_again = true;
                           current_node_list = [];
                           current_point_list = [];
                           playIndex = 0;
                           old_index = 0;
                           zhuanhuanindex = 0;
                           playTrack = [];
                           playFlag = true;
                           var gps_node_list = getGPSTrack();
                           if (gps_node_list.length == 0) {
                              alert("搜索的ID在当前时间段不存在!");
                              document.getElementById("tagid").value = "";
                           } else {
                              playTrack = gps_node_list;
                              tagid = new BMap.Label(playTrack[0][5], { offset: new BMap.Size(20, -30) });
                              tagid.setStyle({
                                 color: "#090909",
                                 fontSize: "14px",
                                 borderRadius: "5px",
                                 padding: "5px 5px",
                                 border: "0",
                                 backgroundColor: "#32CD32",
                                 transform: 'translateX(-50%)',
                              });
                              // zuobiao = new BMap.Label(playTrack[0][4], { offset: new BMap.Size(20, -60) });
                              // zuobiao.setStyle({
                              //    color : "#090909",
                              //    fontSize : "14px",
                              //    borderRadius: "5px",
                              //    padding:"5px 5px",
                              //    border :"0",
                              //    backgroundColor :"#32CD32",
                              //    transform: 'translateX(-50%)',
                              // });
                              search_again = false;
                              gpsplay();
                           }
                        } else {
                           current_node_list = [];
                           current_point_list = [];
                           playIndex = 0;
                           old_index = 0;
                           zhuanhuanindex = 0;
                           playTrack = [];
                           playFlag = true;
                           var gps_node_list = getGPSTrack();
                           if (gps_node_list.length == 0) {
                              alert("搜索的ID在当前时间段不存在!");
                              document.getElementById("tagid").value = "";
                           } else {
                              playTrack = gps_node_list;
                              tagid = new BMap.Label(playTrack[0][5], { offset: new BMap.Size(20, -30) });
                              tagid.setStyle({
                                 color: "#090909",
                                 fontSize: "14px",
                                 borderRadius: "5px",
                                 padding: "5px 5px",
                                 border: "0",
                                 backgroundColor: "#32CD32",
                                 transform: 'translateX(-50%)',
                              });
                              // zuobiao = new BMap.Label(playTrack[0][4], { offset: new BMap.Size(20, -60) });
                              // zuobiao.setStyle({
                              //    color : "#090909",
                              //    fontSize : "14px",
                              //    borderRadius: "5px",
                              //    padding:"5px 5px",
                              //    border :"0",
                              //    backgroundColor :"#32CD32",
                              //    transform: 'translateX(-50%)',
                              // });
                              search_again = false;
                              gpsplay();
                              current_node_list = [];
                              current_point_list = [];
                              playIndex = 0;
                              old_index = 0;
                              zhuanhuanindex = 0;
                              playTrack = [];
                              playFlag = true;
                              var gps_node_list = getGPSTrack();
                              if (gps_node_list.length == 0) {
                                 alert("搜索的ID在当前时间段不存在!");
                                 document.getElementById("tagid").value = "";
                              } else {
                                 playTrack = gps_node_list;
                                 tagid = new BMap.Label(playTrack[0][5], { offset: new BMap.Size(20, -30) });
                                 tagid.setStyle({
                                    color: "#090909",
                                    fontSize: "14px",
                                    borderRadius: "5px",
                                    padding: "5px 5px",
                                    border: "0",
                                    backgroundColor: "#32CD32",
                                    transform: 'translateX(-50%)',
                                 });
                                 // zuobiao = new BMap.Label(playTrack[0][4], { offset: new BMap.Size(20, -60) });
                                 // zuobiao.setStyle({
                                 //    color : "#090909",
                                 //    fontSize : "14px",
                                 //    borderRadius: "5px",
                                 //    padding:"5px 5px",
                                 //    border :"0",
                                 //    backgroundColor :"#32CD32",
                                 //    transform: 'translateX(-50%)',
                                 // });
                                 search_again = false;
                                 gpsplay();
                              }
                           }
                        }
                     }
                  };
                  document.getElementById("pause2").onclick = function () {
                     playFlag = false;
                     search_again = true;
                     clearInterval(timer_g);
                  };
                  document.getElementById("continue2").onclick = function () {
                     playFlag = true;
                     search_again = false;
                     gpsplay();
                  };
                  /**
                   * 坐标常量说明:
                   * COORDINATES_WGS84 = 1, WGS84坐标
                   * COORDINATES_WGS84_MC = 2, WGS84的平面墨卡托坐标
                   * COORDINATES_GCJ02 = 3,GCJ02坐标
                   * COORDINATES_GCJ02_MC = 4, GCJ02的平面墨卡托坐标
                   * COORDINATES_BD09 = 5, 百度bd09经纬度坐标
                   * COORDINATES_BD09_MC = 6,百度bd09墨卡托坐标
                   * COORDINATES_MAPBAR = 7,mapbar地图坐标
                   * COORDINATES_51 = 8,51地图坐标
                  */
               };
            </script>
            <!-- 百度地图功能结束 -->
            <script>
               var timer;
               function MarkPoints(Imgurl) {
                  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.playFlag = false;//是否播放
                  this.playTrack = [];
                  this.dragFlag = false;//是否可拖拽当前img,默认不能
                  this.markFlag = false;//标记区域开启关闭flag
                  this.CreatLinepoints = [];//每次创建新区域的坐标集合
                  this.playMark = []; //正在展示的标记
                  this.allMarkLins = [];//已创建的区域集合,例如[[{x,y},{x,y},{x,y}],[{n,m},{n,m},{n,m}]]目前只需要一个区域,所以数组内部只有一项
                  this.allFenceColor = [];//已创建的区域颜色
                  this.getImgLoad(Imgurl);
                  this.init();
                  document.oncontextmenu = new Function("event.returnValue=false;");
                  document.onselectstart = new Function("event.returnValue=false;");
               }
               MarkPoints.prototype = {
                  getImgLoad: function (Imgurl) {
                     var _this = this;
                     var wrap = document.getElementById('wrap');
                     _this.canvas = document.getElementById('draw');
                     _this.context = draw.getContext('2d');
                     _this.canvas.height = wrap.offsetHeight;
                     _this.canvas.width = wrap.offsetWidth;
                     _this.img = new Image();
                     _this.img.onload = function () {
                        _this.imgX = 0;
                        _this.imgY = 0;
                        _this.imgScale = 1;
                        _this.rateNum = _this.canvas.height / _this.img.naturalHeight;
                        _this.imgX = (_this.canvas.width - _this.img.naturalWidth * _this.imgScale * _this.rateNum) / 2;//默认进来当前图像居中显示
                        /*画出当前图片*/
                        _this.drawImg();
                     }
                     _this.img.src = imgUrl;
                  },
                  getNewPoints: function (points) {
                     var _this = this;
                     var newPointAry = [];
                     for (var i = 0; i < points.length; i++) {
                        var obj = {};
                        obj.x = points[i].x * _this.imgScale + _this.imgX;
                        obj.y = points[i].y * _this.imgScale + _this.imgY;
                        if (points[i].hasOwnProperty('mac')) {
                           obj.mac = points[i].mac;
                           obj.name = points[i].name || '';
                        }
                        newPointAry.push(obj);
                     }
                     return newPointAry;
                  },
                  drawImg: function () {
                     var _this = this;
                     _this.context.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                     _this.context.drawImage(_this.img, 0, 0, _this.img.naturalWidth, _this.img.naturalHeight, _this.imgX, _this.imgY, _this.img.naturalWidth * _this.imgScale * _this.rateNum, _this.img.naturalHeight * _this.imgScale * _this.rateNum);
                     var trueMeasure = getTruemap();
                     var trueLength = new Number(trueMeasure[0]);
                     var trueWidth = new Number(trueMeasure[1]);
                     var x_ratio = new Number(_this.img.naturalWidth / trueLength);
                     var y_ratio = new Number(_this.img.naturalHeight / trueWidth);
                     var can = _this.context;
                     var x_x0 = new Number(getYuandian()[0]);
                     var y_y0 = new Number(getYuandian()[1]);
                     //轨迹拖尾
                     can.beginPath();
                     can.fillStyle = "red";
                     can.strokeStyle = "red";
                     for (var i = 0; i < _this.playIndex - 1; i++) {
                        var cor_x = new Number(_this.playTrack[i].x);
                        var cor_y = new Number(_this.playTrack[i].y);
                        var x_cor = new Number(_this.imgX + _this.imgScale * _this.rateNum * x_ratio * (cor_x - x_x0));
                        var y_cor = new Number(_this.imgY + _this.imgScale * _this.rateNum * y_ratio * (cor_y - y_y0));
                        var cor_x2 = new Number(_this.playTrack[i + 1].x);
                        var cor_y2 = new Number(_this.playTrack[i + 1].y);
                        var x_cor2 = new Number(_this.imgX + _this.imgScale * _this.rateNum * x_ratio * (cor_x2 - x_x0));
                        var y_cor2 = new Number(_this.imgY + _this.imgScale * _this.rateNum * y_ratio * (cor_y2 - y_y0));
                        can.moveTo(x_cor, y_cor);
                        can.lineTo(x_cor2, y_cor2);
                     }
                     can.closePath();
                     can.stroke();
                     //实时轨迹点
                     if (_this.playMark) {
                        var can = _this.context;
                        var cor_x = new Number(_this.playMark.x);
                        var cor_y = new Number(_this.playMark.y);
                        var zuobiao = _this.playMark.x + "," + _this.playMark.y;
                        var x_cor = new Number(_this.imgX + _this.imgScale * _this.rateNum * x_ratio * (cor_x - x_x0));
                        var y_cor = new Number(_this.imgY + _this.imgScale * _this.rateNum * y_ratio * (cor_y - y_y0));
                        can.beginPath(); //画坐标点
                        can.arc(x_cor, y_cor, 6, 0, Math.PI * 2, true);
                        can.fillStyle = "#FF423E";
                        can.fill();
                        can.strokeStyle = "#FFF";
                        can.stroke();//画空心圆
                        can.closePath();
                        can.fillText(_this.playMark.tagid, x_cor - 25, y_cor - 10);//标明tagid
                        can.fillText(zuobiao, x_cor + 10, y_cor - 10);//标明坐标信息
                        can.fillText(_this.playMark.time, x_cor - 30, y_cor + 15);//标明时间戳
                        // str = '<input type="text" class="form-control"  id="tagid" style="width:60%;font-size: 12px;padding: 5px 5px" placeholder="已加载' + tiao + '条数据">'
                        // $("#shujutiao").html(str);
                        // tiao -= 1
                     };
                     if (_this.allMarkLins.length) {
                        for (var m = 0; m < _this.allMarkLins.length; m++) {
                           var points = _this.allMarkLins[m];
                           var newPoints = _this.getNewPoints(points);
                           for (var i = 0; i < newPoints.length; i++) {
                              var can = _this.context;
                              can.beginPath();
                              can.arc(newPoints[i].x, newPoints[i].y, 6, 0, Math.PI * 2, true);
                              can.fillStyle = "#FF423E";
                              can.fill();
                              can.strokeStyle = "#FFF";
                              can.stroke();//画空心圆
                              can.closePath();
                     document.getElementById("pause2").onclick = function () {
                        playFlag = false;
                        search_again = true;
                        clearInterval(timer_g);
                     };
                     document.getElementById("continue2").onclick = function () {
                        playFlag = true;
                        search_again = false;
                        gpsplay();
                     };
                              if (points.length >= 2 && i >= 1) {
                     /**
                      * 坐标常量说明:
                      * COORDINATES_WGS84 = 1, WGS84坐标
                      * COORDINATES_WGS84_MC = 2, WGS84的平面墨卡托坐标
                      * COORDINATES_GCJ02 = 3,GCJ02坐标
                      * COORDINATES_GCJ02_MC = 4, GCJ02的平面墨卡托坐标
                      * COORDINATES_BD09 = 5, 百度bd09经纬度坐标
                      * COORDINATES_BD09_MC = 6,百度bd09墨卡托坐标
                      * COORDINATES_MAPBAR = 7,mapbar地图坐标
                      * COORDINATES_51 = 8,51地图坐标
                     */
                  };
               </script>
               <!-- 百度地图功能结束 -->
               <script>
                  var zongtiao;
                  var tiao
                  var timer;
                  function MarkPoints(Imgurl) {
                     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.playFlag = false;//是否播放
                     this.playTrack = [];
                     this.dragFlag = false;//是否可拖拽当前img,默认不能
                     this.markFlag = false;//标记区域开启关闭flag
                     this.CreatLinepoints = [];//每次创建新区域的坐标集合
                     this.playMark = []; //正在展示的标记
                     this.allMarkLins = [];//已创建的区域集合,例如[[{x,y},{x,y},{x,y}],[{n,m},{n,m},{n,m}]]目前只需要一个区域,所以数组内部只有一项
                     this.allFenceColor = [];//已创建的区域颜色
                     this.getImgLoad(Imgurl);
                     this.init();
                     document.oncontextmenu = new Function("event.returnValue=false;");
                     document.onselectstart = new Function("event.returnValue=false;");
                  }
                  MarkPoints.prototype = {
                     getImgLoad: function (Imgurl) {
                        var _this = this;
                        var wrap = document.getElementById('wrap');
                        _this.canvas = document.getElementById('draw');
                        _this.context = draw.getContext('2d');
                        _this.canvas.height = wrap.offsetHeight;
                        _this.canvas.width = wrap.offsetWidth;
                        _this.img = new Image();
                        _this.img.onload = function () {
                           _this.imgX = 0;
                           _this.imgY = 0;
                           _this.imgScale = 1;
                           _this.rateNum = _this.canvas.height / _this.img.naturalHeight;
                           _this.imgX = (_this.canvas.width - _this.img.naturalWidth * _this.imgScale * _this.rateNum) / 2;//默认进来当前图像居中显示
                           /*画出当前图片*/
                           _this.drawImg();
                        }
                        _this.img.src = imgUrl;
                     },
                     getNewPoints: function (points) {
                        var _this = this;
                        var newPointAry = [];
                        for (var i = 0; i < points.length; i++) {
                           var obj = {};
                           obj.x = points[i].x * _this.imgScale + _this.imgX;
                           obj.y = points[i].y * _this.imgScale + _this.imgY;
                           if (points[i].hasOwnProperty('mac')) {
                              obj.mac = points[i].mac;
                              obj.name = points[i].name || '';
                           }
                           newPointAry.push(obj);
                        }
                        return newPointAry;
                     },
                     drawImg: function () {
                        var _this = this;
                        _this.context.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                        _this.context.drawImage(_this.img, 0, 0, _this.img.naturalWidth, _this.img.naturalHeight, _this.imgX, _this.imgY, _this.img.naturalWidth * _this.imgScale * _this.rateNum, _this.img.naturalHeight * _this.imgScale * _this.rateNum);
                        var trueMeasure = getTruemap();
                        var trueLength = new Number(trueMeasure[0]);
                        var trueWidth = new Number(trueMeasure[1]);
                        var x_ratio = new Number(_this.img.naturalWidth / trueLength);
                        var y_ratio = new Number(_this.img.naturalHeight / trueWidth);
                        var can = _this.context;
                        var x_x0 = new Number(getYuandian()[0]);
                        var y_y0 = new Number(getYuandian()[1]);
                        //轨迹拖尾
                        can.beginPath();
                        can.fillStyle = "red";
                        can.strokeStyle = "red";
                        for (var i = 0; i < _this.playIndex - 1; i++) {
                           var cor_x = new Number(_this.playTrack[i].x);
                           var cor_y = new Number(_this.playTrack[i].y);
                           var x_cor = new Number(_this.imgX + _this.imgScale * _this.rateNum * x_ratio * (cor_x - x_x0));
                           var y_cor = new Number(_this.imgY + _this.imgScale * _this.rateNum * y_ratio * (cor_y - y_y0));
                           var cor_x2 = new Number(_this.playTrack[i + 1].x);
                           var cor_y2 = new Number(_this.playTrack[i + 1].y);
                           var x_cor2 = new Number(_this.imgX + _this.imgScale * _this.rateNum * x_ratio * (cor_x2 - x_x0));
                           var y_cor2 = new Number(_this.imgY + _this.imgScale * _this.rateNum * y_ratio * (cor_y2 - y_y0));
                           can.moveTo(x_cor, y_cor);
                           can.lineTo(x_cor2, y_cor2);
                        }
                        can.closePath();
                        can.stroke();
                        //实时轨迹点
                        if (_this.playMark) {
                           var can = _this.context;
                           var cor_x = new Number(_this.playMark.x);
                           var cor_y = new Number(_this.playMark.y);
                           var zuobiao = _this.playMark.x + "," + _this.playMark.y;
                           var x_cor = new Number(_this.imgX + _this.imgScale * _this.rateNum * x_ratio * (cor_x - x_x0));
                           var y_cor = new Number(_this.imgY + _this.imgScale * _this.rateNum * y_ratio * (cor_y - y_y0));
                           can.beginPath(); //画坐标点
                           can.arc(x_cor, y_cor, 6, 0, Math.PI * 2, true);
                           can.fillStyle = "#FF423E";
                           can.fill();
                           can.strokeStyle = "#FFF";
                           can.stroke();//画空心圆
                           can.closePath();
                           can.fillText(_this.playMark.tagid, x_cor - 25, y_cor - 10);//标明tagid
                           can.fillText(zuobiao, x_cor + 10, y_cor - 10);//标明坐标信息
                           can.fillText(_this.playMark.time, x_cor - 30, y_cor + 15);//标明时间戳
                        };
                        if (_this.allMarkLins.length) {
                           for (var m = 0; m < _this.allMarkLins.length; m++) {
                              var points = _this.allMarkLins[m];
                              var newPoints = _this.getNewPoints(points);
                              for (var i = 0; i < newPoints.length; i++) {
                                 var can = _this.context;
                                 can.beginPath();
                                 can.arc(newPoints[i].x, newPoints[i].y, 6, 0, Math.PI * 2, true);
                                 can.fillStyle = "#FF423E";
                                 can.fill();
                                 can.strokeStyle = "#FFF";
                                 can.stroke();//画空心圆
                                 can.closePath();
                                 if (points.length >= 2 && i >= 1) {
                                    can.strokeStyle = "#FF423E";
                                    can.lineWidth = 2;
                                    can.beginPath();
                                    can.moveTo(newPoints[i - 1].x, newPoints[i - 1].y);
                                    can.lineTo(newPoints[i].x, newPoints[i].y);
                                    can.fillStyle = "#ff0000";
                                    can.fill();
                                    can.stroke();
                                    can.closePath();
                                 }
                              }
                              if (points.length >= 3) {
                                 can.strokeStyle = "#FF423E";
                                 can.lineWidth = 2;
                                 can.beginPath();
                                 can.moveTo(newPoints[i - 1].x, newPoints[i - 1].y);
                                 can.lineTo(newPoints[i].x, newPoints[i].y);
                                 can.fillStyle = "#ff0000";
                                 can.fill();
                                 can.moveTo(newPoints[newPoints.length - 1].x, newPoints[newPoints.length - 1].y);
                                 can.lineTo(newPoints[0].x, newPoints[0].y);
                                 can.stroke();
                                 can.closePath();
                              }
                           }
                           if (points.length >= 3) {
                              can.strokeStyle = "#FF423E";
                              can.lineWidth = 2;
                              can.beginPath();
                              can.moveTo(newPoints[newPoints.length - 1].x, newPoints[newPoints.length - 1].y);
                              can.lineTo(newPoints[0].x, newPoints[0].y);
                              can.stroke();
                              can.closePath();
                           }
                           ;
                        }
                        ;
                     }
                  },
                  init: function () {
                     var _this = this;
                     _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);
                     };
                     document.getElementById('search').onclick = function () {
                        var tagTrack = queryTagid();
                        if (tagTrack.length == 0) {
                           alert("搜索的ID在当前时间段不存在!");
                           document.getElementById("tagid").value = "";
                        } else {
                           // shuju();
                           // setInterval(shuju, 1000)
                           // function shuju() {
                           //    str = '<input type="text" class="form-control"  id="tagid" style="width:60%;font-size: 12px;padding: 5px 5px" placeholder="已加载' + tiao + '条数据">'
                           //    $("#shujutiao").html(str);
                           //    tiao -= 1
                           // }
                           _this.playTrack = tagTrack;
                           _this.TrackPlay();
                           //_this.MarkBorderline();
                     },
                     init: function () {
                        var _this = this;
                        _this.canvas.onmousedown = function (event) {
                           _this.clickDown(event);
                        };
                     };
                     document.getElementById("pause").onclick = function () {
                        _this.playFlag = false;
                        window.clearInterval(timer);
                     };
                     document.getElementById("continue").onclick = function () {
                        _this.playFlag = true;
                        _this.TrackPlay();
                     };
                  },
                  /*计算当前鼠标位置距离canvas的偏移量*/
                  xyToCanvas: function (ele, x, y) {
                     var _this = this;
                     var obj = _this.canvas.getBoundingClientRect();
                     return {
                        x: x - obj.left,
                        y: y - obj.top
                     };
                  },
                  /*鼠标单击事件*/
                  clickDown: function (event) {
                     var _this = this;
                     if (_this.markFlag) {
                        _this.canvas.style.cursor = "none";
                        if (event.button == 2) {
                           _this.markFlag = false;
                           _this.dragFlag = true;
                           _this.canvas.style.cursor = "normal";
                           _this.drawImg();
                        _this.canvas.onmousemove = function (event) {
                           _this.mouseMove(event)
                        };
                        _this.canvas.onmouseup = function (event) {
                           _this.mouseUp(event);
                        };
                        _this.canvas.onmousewheel = function (event) {
                           _this.onmouseWheel(event);
                        };
                        document.getElementById('search').onclick = function () {
                           var tagTrack = queryTagid();
                           zongtiao = queryTagid().length - 2;
                           tiao = zongtiao;
                           if (tagTrack.length == 0) {
                              alert("搜索的ID在当前时间段不存在!");
                              document.getElementById("tagid").value = "";
                           } else {
                              _this.playTrack = tagTrack;
                              _this.TrackPlay();
                              //_this.MarkBorderline();
                           };
                        };
                        document.getElementById("pause").onclick = function () {
                           _this.playFlag = false;
                           window.clearInterval(timer);
                        };
                        document.getElementById("continue").onclick = function () {
                           _this.playFlag = true;
                           _this.TrackPlay();
                        };
                     },
                     /*计算当前鼠标位置距离canvas的偏移量*/
                     xyToCanvas: function (ele, x, y) {
                        var _this = this;
                        var obj = _this.canvas.getBoundingClientRect();
                        return {
                           x: x - obj.left,
                           y: y - obj.top
                        };
                     },
                     /*鼠标单击事件*/
                     clickDown: function (event) {
                        var _this = this;
                        if (_this.markFlag) {
                           _this.canvas.style.cursor = "none";
                           if (event.button == 2) {
                              _this.markFlag = false;
                              _this.dragFlag = true;
                              _this.canvas.style.cursor = "normal";
                              _this.drawImg();
                              return;
                           } else {
                              var posXY = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                              posXY.x = (posXY.x - _this.imgX) / _this.imgScale;
                              posXY.y = (posXY.y - _this.imgY) / _this.imgScale;
                              _this.CreatLinepoints.push(posXY);
                              _this.allMarkLins.pop();
                              _this.allMarkLins.push(_this.CreatLinepoints);
                              _this.drawImg();
                           }
                           return;
                        } else {
                           var posXY = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                           posXY.x = (posXY.x - _this.imgX) / _this.imgScale;
                           posXY.y = (posXY.y - _this.imgY) / _this.imgScale;
                           _this.CreatLinepoints.push(posXY);
                           _this.allMarkLins.pop();
                           _this.allMarkLins.push(_this.CreatLinepoints);
                        }
                        if (event.button == 0) {//点击鼠标左键
                           _this.dragFlag = 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) {
                           _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;
                           _this.imgX += x;
                           _this.imgY += y;
                           _this.drawImg();
                        }
                        return;
                     }
                     if (event.button == 0) {//点击鼠标左键
                        _this.dragFlag = 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) {
                        _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;
                        _this.imgX += x;
                        _this.imgY += y;
                        _this.drawImg();
                     }
                     /*边界标记*/
                     if (!_this.dragFlag && _this.markFlag) {
                        var pos1 = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                        /*边界标记*/
                        if (!_this.dragFlag && _this.markFlag) {
                           var pos1 = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                           var can = _this.context;
                           can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                           _this.drawImg();
                           /*画跟随圆点*/
                           can.beginPath();
                           //   can.fillText('[' + point.x + ', ' + point.y + ']', 15, 25 * (points.length + 1))
                           can.arc(pos1.x, pos1.y, 6, 0, Math.PI * 2, true);
                           can.fillStyle = "#FF423E";
                           can.fill();
                           can.strokeStyle = "#FFF";
                           can.stroke();//画空心圆
                           can.closePath();
                           /*当前的坐标未结束那么继续 跟随直线*/
                           if (!_this.CreatLinepoints.length) return;
                           can.strokeStyle = "red";
                           can.beginPath();
                           can.moveTo(_this.CreatLinepoints[_this.CreatLinepoints.length - 1].x * _this.imgScale + _this.imgX, _this.CreatLinepoints[_this.CreatLinepoints.length - 1].y * _this.imgScale + _this.imgY);
                           can.lineTo(pos1.x, pos1.y);
                           can.stroke();
                           can.closePath();
                        }
                     },
                     /*鼠标放开事件*/
                     mouseUp: function (event) {
                        var _this = this;
                        _this.dragFlag = false;
                        if (_this.markFlag) {
                           _this.canvas.style.cursor = "none";
                           return;
                        }
                        _this.canvas.style.cursor = 'default';
                     },
                     /*鼠标滚轮事件*/
                     onmouseWheel: function (event) {
                        var _this = this;
                        var pos = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                        event.wheelDelta = event.wheelDelta ? event.wheelDelta : (event.deltaY * (-40));
                        if (event.wheelDelta > 0 && _this.scaleFlag < 9) {
                           _this.imgScale *= 1.25;
                           _this.imgX = _this.imgX * 1.25 - 0.25 * pos.x;
                           _this.imgY = _this.imgY * 1.25 - 0.25 * pos.y;
                           _this.scaleFlag += 1;
                        }
                        if (event.wheelDelta < 0 && _this.scaleFlag > -9) {//缩小
                           _this.imgScale *= 0.8;
                           _this.imgX = _this.imgX * 0.8 + pos.x * 0.2;
                           _this.imgY = _this.imgY * 0.8 + pos.y * 0.2;
                           _this.scaleFlag -= 1;
                        }
                        _this.drawImg();
                     },
                     /*边界标记*/
                     MarkBorderline: function () {
                        var _this = this;
                        _this.markFlag = true;//切换为true,禁止拖拽,只能标记
                        _this.canvas.style.cursor = "none";
                        _this.CreatLinepoints = [];
                        _this.allMarkLins.push([]);
                     },
                     /*顺序播放坐标*/
                     TrackPlay: function () {
                        var _this = this;
                        _this.playFlag = true;
                        if (_this.playFlag) {
                           var t = 1000;
                           timer = setInterval(fn, t);
                           function fn() {
                              var speed = document.getElementById("bofangsudu").value;
                              if (_this.playFlag && _this.playIndex < _this.playTrack.length) {
                                 _this.ShowNode(_this.playTrack[_this.playIndex]);
                                 _this.playIndex += 1;
                              };
                              str = '<input type="text" class="form-control"  id="tagid" style="width:60%;font-size: 12px;padding: 5px 5px" placeholder="剩余' + zongtiao + '/' + tiao + '条数据">'
                              $("#shujutiao").html(str);
                              if (tiao > 0) {
                                 tiao -= 1
                              }
                              clearInterval(timer);
                              if (_this.playIndex == _this.playTrack.length - 1) {
                                 clearInterval(timer);
                                 _this.playIndex = 0;
                              } else {
                                 var stime = new Date(_this.playTrack[_this.playIndex].time).getTime();
                                 var etime = new Date(_this.playTrack[_this.playIndex + 1].time).getTime();
                                 var t = etime - stime;
                                 var t_v = t / speed;
                                 timer = setInterval(fn, t_v);
                              }
                           };
                        } else { clearInterval(timer); }
                     },
                     /*画点*/
                     ShowNode: function (node_list) {
                        var _this = this;
                        var can = _this.context;
                        can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                        _this.playMark = node_list;
                        _this.drawImg();
                        /*画跟随圆点*/
                        can.beginPath();
                        //   can.fillText('[' + point.x + ', ' + point.y + ']', 15, 25 * (points.length + 1))
                        can.arc(pos1.x, pos1.y, 6, 0, Math.PI * 2, true);
                        can.fillStyle = "#FF423E";
                        can.fill();
                        can.strokeStyle = "#FFF";
                        can.stroke();//画空心圆
                        can.closePath();
                        /*当前的坐标未结束那么继续 跟随直线*/
                        if (!_this.CreatLinepoints.length) return;
                        can.strokeStyle = "red";
                        can.beginPath();
                        can.moveTo(_this.CreatLinepoints[_this.CreatLinepoints.length - 1].x * _this.imgScale + _this.imgX, _this.CreatLinepoints[_this.CreatLinepoints.length - 1].y * _this.imgScale + _this.imgY);
                        can.lineTo(pos1.x, pos1.y);
                        can.stroke();
                        can.closePath();
                     }
                  },
                  /*鼠标放开事件*/
                  mouseUp: function (event) {
                     var _this = this;
                     _this.dragFlag = false;
                     if (_this.markFlag) {
                        _this.canvas.style.cursor = "none";
                        return;
                     }
                     _this.canvas.style.cursor = 'default';
                  },
                  /*鼠标滚轮事件*/
                  onmouseWheel: function (event) {
                     var _this = this;
                     var pos = _this.xyToCanvas(_this.canvas, event.clientX, event.clientY);
                     event.wheelDelta = event.wheelDelta ? event.wheelDelta : (event.deltaY * (-40));
                     if (event.wheelDelta > 0 && _this.scaleFlag < 9) {
                        _this.imgScale *= 1.25;
                        _this.imgX = _this.imgX * 1.25 - 0.25 * pos.x;
                        _this.imgY = _this.imgY * 1.25 - 0.25 * pos.y;
                        _this.scaleFlag += 1;
                     }
                     if (event.wheelDelta < 0 && _this.scaleFlag > -9) {//缩小
                        _this.imgScale *= 0.8;
                        _this.imgX = _this.imgX * 0.8 + pos.x * 0.2;
                        _this.imgY = _this.imgY * 0.8 + pos.y * 0.2;
                        _this.scaleFlag -= 1;
                     }
                     _this.drawImg();
                  },
                  /*边界标记*/
                  MarkBorderline: function () {
                     var _this = this;
                     _this.markFlag = true;//切换为true,禁止拖拽,只能标记
                     _this.canvas.style.cursor = "none";
                     _this.CreatLinepoints = [];
                     _this.allMarkLins.push([]);
                  },
                  /*顺序播放坐标*/
                  TrackPlay: function () {
                     var _this = this;
                     _this.playFlag = true;
                     if (_this.playFlag) {
                        var t = 1000;
                        timer = setInterval(fn, t);
                        var tiao = queryTagid().length;
                        function fn() {
                           var speed = document.getElementById("bofangsudu").value;
                           if (_this.playFlag && _this.playIndex < _this.playTrack.length) {
                              _this.ShowNode(_this.playTrack[_this.playIndex]);
                              _this.playIndex += 1;
                           };
                           str = '<input type="text" class="form-control"  id="tagid" style="width:60%;font-size: 12px;padding: 5px 5px" placeholder="已加载' + tiao + '条数据">'
                           $("#shujutiao").html(str);
                           tiao -= 1
                           clearInterval(timer);
                           if (_this.playIndex == _this.playTrack.length - 1) {
                              clearInterval(timer);
                           } else {
                              var stime = new Date(_this.playTrack[_this.playIndex].time).getTime();
                              var etime = new Date(_this.playTrack[_this.playIndex + 1].time).getTime();
                              var t = etime - stime;
                              var t_v = t / speed;
                              timer = setInterval(fn, t_v);
                           }
                        };
                     } else { clearInterval(timer); }
                  },
                  /*画点*/
                  ShowNode: function (node_list) {
                     var _this = this;
                     var can = _this.context;
                     can.clearRect(0, 0, _this.canvas.width, _this.canvas.height);
                     _this.playMark = node_list;
                     _this.drawImg();
                  },
               }
                     },
                  }
    //var imgUrl = '../image/mapfile/led.png';//图片路径
    //new MarkPoints(imgUrl); 
            </script>
               </script>
            <!-- END FUNCTION SCRIPTS -->
               <!-- END FUNCTION SCRIPTS -->
            <!-- 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/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>
               $(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; }, });
                  var select_layer = document.getElementById("chooselayer");
                  var select_value = select_layer.value;
                  if (select_value == 'baidumap') {
                     document.getElementById("wrap").style.display = 'none';
                     document.getElementById("draw").style.display = 'none';
                     document.getElementById("baidumap").style.display = '';
                     document.getElementById("search").style.display = 'none';
                     document.getElementById("pause").style.display = 'none';
                     document.getElementById("continue").style.display = 'none';
                     document.getElementById("search2").style.display = '';
                     document.getElementById("pause2").style.display = '';
                     document.getElementById("continue2").style.display = '';
                     document.getElementById("bofangsudu").options.remove(4);
                     diaoyongbaidumap();
                  } else {
                     document.getElementById("wrap").style.display = '';
                     document.getElementById("draw").style.display = '';
                     document.getElementById("baidumap").style.display = 'none';
                     document.getElementById("search").style.display = '';
                     document.getElementById("pause").style.display = '';
                     document.getElementById("continue").style.display = '';
                     document.getElementById("search2").style.display = 'none';
                     document.getElementById("pause2").style.display = 'none';
                     document.getElementById("continue2").style.display = 'none';
                     $.ajax({
                        async: false,
                        type: 'POST',
                        url: "/hxzkoa/floornumTomap.do",
                        dataType: 'json',
                        data: {
                           value: select_value
                        },
                        success: function (data) {
                           //imgUrl = '/hxzkoa/hxzk/image/mapfile/'+data[0].mapname;
                           imgUrl = '/hxzkoa/hxzk/image/mapfile/京辰瑞达.jpg';
                           new MarkPoints(imgUrl);
                        }
                     });
                  }
               });
               $('.header-page').load('/hxzkoa/hxzk/top.html'); $('.login-page').load('/hxzkoa/hxzk/head.html');
               <!-- 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/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>
                  $(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; */ }, });
                     var select_layer = document.getElementById("chooselayer");
                     var select_value = select_layer.value;
                     if (select_value == 'baidumap') {
                        document.getElementById("wrap").style.display = 'none';
                        document.getElementById("draw").style.display = 'none';
                        document.getElementById("baidumap").style.display = '';
                        document.getElementById("search").style.display = 'none';
                        document.getElementById("pause").style.display = 'none';
                        document.getElementById("continue").style.display = 'none';
                        document.getElementById("search2").style.display = '';
                        document.getElementById("pause2").style.display = '';
                        document.getElementById("continue2").style.display = '';
                        document.getElementById("bofangsudu").options.remove(4);
                        diaoyongbaidumap();
                     } else {
                        document.getElementById("wrap").style.display = '';
                        document.getElementById("draw").style.display = '';
                        document.getElementById("baidumap").style.display = 'none';
                        document.getElementById("search").style.display = '';
                        document.getElementById("pause").style.display = '';
                        document.getElementById("continue").style.display = '';
                        document.getElementById("search2").style.display = 'none';
                        document.getElementById("pause2").style.display = 'none';
                        document.getElementById("continue2").style.display = 'none';
                        $.ajax({
                           async: false,
                           type: 'POST',
                           url: "/hxzkoa/floornumTomap.do",
                           dataType: 'json',
                           data: {
                              value: select_value
                           },
                           success: function (data) {
                              imgUrl = '/hxzkoa/hxzk/image/mapfile/' + data[0].mapname;
                              //imgUrl = '/hxzkoa/hxzk/image/mapfile/京辰瑞达.jpg';
                              new MarkPoints(imgUrl);
                           }
                        });
                     }
                  });
                  $('.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 -->
               </script>
               <script src="/hxzkoa/hxzk/assets/js/custom.js"></script>
               <!-- END GLOBAL MANDATORY 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>