From 9742e7a70ac6e74d114e68ce1bc8f46670b55453 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 25 Jun 2018 16:39:48 +0800
Subject: [PATCH] 组织配置单位和页面布局

---
 src/main/webapp/page/scheme-helper.html |  135 +++++++++++++++++++++++++++-----------------
 1 files changed, 82 insertions(+), 53 deletions(-)

diff --git a/src/main/webapp/page/scheme-helper.html b/src/main/webapp/page/scheme-helper.html
index 2ef3e40..ab8a551 100644
--- a/src/main/webapp/page/scheme-helper.html
+++ b/src/main/webapp/page/scheme-helper.html
@@ -3,9 +3,9 @@
 <head>
     <meta charset="utf-8" />
     <title>������������������</title>
+    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=rER1sgBIcQxkfNSlm2wmBGZGgEERrooM"></script>
+    <script type="text/javascript" src="/js/jquery.min.js"></script>
 </head>
-<link rel="stylesheet" type="text/css" href="/css/default.css">
-<link rel="stylesheet" href="/css/Lobibox.min.css"/>
 <style type="text/css">
     body,
     html,
@@ -13,25 +13,24 @@
     #mapCanvas {
         width: 100%;
         height: 100%;
-        /* overflow: hidden; */
-        /* margin: 0; */
-        /* padding: 0; */
+        overflow: hidden;
+        margin: 0;
+        padding: 0;
         z-index: 0;
-        /* font-size: 14px; */
-        /* font-family: "������������"; */
+        font-size: 14px;
+        font-family: "������������";
     }
 
     .popup-box {
         position: absolute;
         z-index: 1;
-        font-size: 14px;
         background-color: white;
         top: 3%;
         left: 1%;
         padding: 14px 10px 0px;
         text-align: center;
-        width: 290px;
-        height: 130px;
+        width: 280px;
+        height: 110px;
     }
 
     .search-box {
@@ -50,14 +49,7 @@
         text-align: left;
         padding-left: 2px;
     }
-    input[type="button"] {
-        cursor: pointer;
-    }
-    input[type="radio"] {
-        cursor: pointer;
-    }
 </style>
-<body>
 <div class="main-body">
     <div class="popup-box">
         <table>
@@ -123,13 +115,16 @@
     </div>
     <div id="mapCanvas"></div>
 </div>
-    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=rER1sgBIcQxkfNSlm2wmBGZGgEERrooM"></script>
-    <script type="text/javascript" src="/js/jquery.min.js"></script>
-    <script type="text/javascript" src="/js/lobibox.min.js"></script>
+
+<body>
     <script>
         var baiduMap;
         var markerManager = {
-            data: {},
+            data: {
+                _regionName:null,
+                _boundary:[],
+                _boundaryState:false
+            },
             bind: {}
         };
         markerManager.bindSelect = function (key, select) {
@@ -146,6 +141,54 @@
                     console.log("int markerManager key:" + key + ",don't bind select");
                 }
             }
+        }
+        markerManager.setRegionName = function (regionName){
+            this.data._regionName = regionName;
+            function getBoundary(regionName){
+                var bdary = new BMap.Boundary();
+                var map = baiduMap;
+                bdary.get(regionName, function(rs){       //������������������
+                    map.clearOverlays();        //���������������������
+                    var count = rs.boundaries.length; //������������������������������
+                    if (count === 0) {
+                        alert('������������������������������������');
+                        return ;
+                    }
+                    // var pointArray = [];
+                    var polygonArray = [];
+                    for (var i = 0; i < count; i++) {
+                        var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2,fillOpacity:0.01,strokeStyle:"dashed",strokeColor: "#0000ff"}); //������������������������
+                        // map.addOverlay(ply);  //���������������
+                        // pointArray = pointArray.concat(ply.getPath());
+                        polygonArray.push(ply);
+                    }
+                    // map.setViewport(pointArray);    //������������
+                    //addlabel();
+                    //������������
+                    markerManager.data._boundary = polygonArray;
+                });
+            }
+             getBoundary(regionName);
+        }
+        markerManager.openBoundary = function(){
+            debugger;
+            console.log(this.data._boundary);
+            if(!!this.data._boundary&&this.data._boundary.length>0){
+                for(var n =0 ;n< this.data._boundary.length;n++){
+                    baiduMap.addOverlay(this.data._boundary[n]);
+                }
+                this.data._boundaryState = true;
+            }
+
+        }
+        markerManager.closeBoundary = function(){
+            for(var n =0 ;n< this.data._boundary.length;n++){
+                baiduMap.removeOverlay(this.data._boundary[n]);
+            }
+            this.data._boundaryState = false;
+        }
+        markerManager.isBoundaryState = function() {
+            return this.data._boundaryState;
         }
         markerManager.addMarker = function (key, marker) {
             this.data[key] = !!this.data[key] ? this.data[key] : [];
@@ -173,48 +216,23 @@
         // 0,������������1������������������2���������������������3���������������
         function clickHandle(args, key) {
             var handleValue = parseInt($("input[name='mapClickHandle']:checked").val());
-            var handleName = "";
             switch (handleValue) {
                 case 0:
-                    clickHandle.counter +=1;
-                    handleName += "���������";
                     break;
                 case 1:
                     addMpoint(args.point);
-                    handleName += "[������]������";
                     break;
                 case 2:
                     addStar(args.point);
-                    handleName += "[���������]������";
                     break;
                 case 3:
-                     handleName += "������������";
-                    if(this instanceof BMap.Marker){
-                        removeOverlay(key,this);
-                        clickHandle.counter -=1;
-                    }else{
-                        clickHandle.counter +=1;
-                    }
+                    removeOverlay(key, this);
                     break;
             }
-            if(clickHandle.counter>=4 ){
-                var msg = "���������������:���"+handleName+"���,������������������������������������������"
-                Lobibox.notify('info', {
-                    size: 'mini',
-                    width: 500,
-                    // delay: false,
-                    icon: false,
-                    msg: msg
-                });
-                clickHandle.counter = 0;
-            }
-
         }
-        clickHandle.counter = 0;
         var switchMenuItems = {};
         switchClickHanld = function (value) {
             value = value.toString();
-            clickHandle.counter = 0;
             $("input[name='mapClickHandle']").each(function () {
                 var handleValue = $(this).val().toString();
                 if (handleValue === value) {
@@ -348,6 +366,22 @@
                     }
                 },
                 {
+                    text: '������������',
+                    callback: function () {
+                        if(!markerManager.isBoundaryState()){
+                            markerManager.openBoundary();
+                            if(markerManager.isBoundaryState()){
+                                this.setText("������������");
+                            }else{
+
+                            }
+                        }else {
+                            markerManager.closeBoundary();
+                            this.setText("������������");
+                        }
+                    }
+                },
+                {
                     text: '������������',
                     callback: function (menuItem) {
                         var result = confirm('������! ������! ������! ������������������������������')
@@ -382,12 +416,6 @@
                 "click",
                 clickHandle
             );
-            map.addEventListener(
-                "dblclick",
-                function(){
-                    clickHandle.counter -=2;
-                }
-            );
             return map;
         }
         (function ($) {
@@ -397,6 +425,7 @@
                 var searchValue = $('.search-box').val();
                 if (!!searchValue) {
                     baiduMap.centerAndZoom(searchValue);
+                    markerManager.setRegionName(searchValue);
                 }
             });
             markerManager.bindSelect("mpoint", "#mpointCount");

--
Gitblit v1.8.0