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