From bc33d080d7dbe29138a47d7d444286fb957a2b76 Mon Sep 17 00:00:00 2001 From: hbao Date: Mon, 21 Feb 2022 14:41:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Map/MapGisDrawing.vue | 89 ++++++++++++++++------------ src/views/homesteadSurvey/add.vue | 12 ++-- 2 files changed, 57 insertions(+), 44 deletions(-) diff --git a/src/components/Map/MapGisDrawing.vue b/src/components/Map/MapGisDrawing.vue index b34d017b..91b57c70 100644 --- a/src/components/Map/MapGisDrawing.vue +++ b/src/components/Map/MapGisDrawing.vue @@ -146,46 +146,49 @@ export default { rotation: undefined, // 缩放完成view视图旋转弧度 duration: 1000, // 缩放持续时间,默认不需要设置 }); + } else if(this.message.substring(0,1) =="["){ + console.log("6"); + var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [this.message.replaceAll("\"","")]}); + var leftJoin = zbNew.replace("\"[","["); + var rightJoin = leftJoin.replace("\"]","]"); + console.log(rightJoin); + hc_landFuther = new ol.layer.Vector({ + title: "add Layer", + source: new ol.source.Vector({ + projection: projection, + features: new ol.format.GeoJSON().readFeatures("{\n" + + " \"type\": \"Feature\",\n" + + " \"geometry\":" + rightJoin + "}"), + }), + style: new ol.style.Style({ + fill: new ol.style.Fill({ + //矢量图层填充颜色,以及透明度 + color: "rgba(204, 255, 204,0.3)", + }), + stroke: new ol.style.Stroke({ + //边界样式 + color: "#47c68f", + width: 3, + }), + }), + }); + map.addLayer(hc_landFuther); + var maxXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxX; + var maxYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxY; + var minXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minX; + var minYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minY; + //定位查询位置 + var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 + map.getView().animate({ + // 只设置需要的属性即可 + center: center, // 中心点 + zoom: 17.9, // 缩放级别 + rotation: undefined, // 缩放完成view视图旋转弧度 + duration: 1000, // 缩放持续时间,默认不需要设置 + }); + } else { + } - // if(this.message.substring(0,1) =="["){ - // var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [[[this.message.replaceAll("\"","")]]]}); - // var leftJoin = zbNew.replace("\"[","["); - // var rightJoin = leftJoin.replace("\"]","]"); - // hc_landFuther = new ol.layer.Vector({ - // title: "add Layer", - // source: new ol.source.Vector({ - // projection: projection, - // features: new ol.format.GeoJSON().readFeatures("{\n" + - // " \"type\": \"Feature\",\n" + - // " \"geometry\":" + rightJoin + "}"), - // }), - // style: new ol.style.Style({ - // fill: new ol.style.Fill({ - // //矢量图层填充颜色,以及透明度 - // color: "rgba(204, 255, 204,0.3)", - // }), - // stroke: new ol.style.Stroke({ - // //边界样式 - // color: "#47c68f", - // width: 3, - // }), - // }), - // }); - // map.addLayer(hc_landFuther); - // var maxXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxX; - // var maxYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxY; - // var minXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minX; - // var minYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minY; - // //定位查询位置 - // var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 - // map.getView().animate({ - // // 只设置需要的属性即可 - // center: center, // 中心点 - // zoom: 17.9, // 缩放级别 - // rotation: undefined, // 缩放完成view视图旋转弧度 - // duration: 1000, // 缩放持续时间,默认不需要设置 - // }); - // } //图层查询定位结束 ---------end //开始绘制地图 $("#"+this.drawingPolygonMap).click(function () { @@ -209,6 +212,10 @@ export default { var feature = evt.feature; var geometry = feature.getGeometry(); var coordinate = geometry.getCoordinates(); + if(coordinate !="" && coordinate !=null){ + //map.addLayer(vector_drawing); + map.removeInteraction(draw); + } that.closeMoule = coordinate; that.formSubmit(); }); @@ -314,6 +321,10 @@ export default { var feature = evt.feature; var geometry = feature.getGeometry(); var coordinate = geometry.getCoordinates(); + if(coordinate !="" && coordinate !=null){ + //map.addLayer(vector_drawing); + map.removeInteraction(draw); + } that.closeMoule = coordinate; that.formSubmit(); }); diff --git a/src/views/homesteadSurvey/add.vue b/src/views/homesteadSurvey/add.vue index 50f5328b..927a21fe 100644 --- a/src/views/homesteadSurvey/add.vue +++ b/src/views/homesteadSurvey/add.vue @@ -20,7 +20,7 @@ margin: 20px;margin-top:-70px;"> - +

宅基地

@@ -34,14 +34,14 @@
- +

房屋信息

- +

附属设施

@@ -785,7 +785,7 @@ label="备注" placeholder="备注" /> - +
保存
@@ -1624,7 +1624,7 @@ label="备注" placeholder="备注" /> - +
保存
@@ -2817,8 +2817,10 @@ changeActiveBack(){ if(this.active>1){ this.active-=1 + this.mapClickLoading(); }else{ this.active=1 + this.mapClickLoading(); } }, searchCommit(){