From 94876df3b4763dda4d22b1adf52281168c8840c5 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 12 Jun 2018 17:26:06 +0800 Subject: [PATCH] 地图添加边界 --- src/main/webapp/page/scheme-helper.html | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 1 deletions(-) diff --git a/src/main/webapp/page/scheme-helper.html b/src/main/webapp/page/scheme-helper.html index 4565476..ab8a551 100644 --- a/src/main/webapp/page/scheme-helper.html +++ b/src/main/webapp/page/scheme-helper.html @@ -120,7 +120,11 @@ <script> var baiduMap; var markerManager = { - data: {}, + data: { + _regionName:null, + _boundary:[], + _boundaryState:false + }, bind: {} }; markerManager.bindSelect = function (key, select) { @@ -137,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] : []; @@ -314,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('������! ������! ������! ������������������������������') @@ -357,6 +425,7 @@ var searchValue = $('.search-box').val(); if (!!searchValue) { baiduMap.centerAndZoom(searchValue); + markerManager.setRegionName(searchValue); } }); markerManager.bindSelect("mpoint", "#mpointCount"); -- Gitblit v1.8.0