From 98511f212a218a60f0f46f1606f6172cc75aecb2 Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Mon, 7 Feb 2022 11:58:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B1=9F=E6=B2=B3=E7=82=B9=E4=BD=8D=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/gis/gisApi.js | 9 +- src/views/sound/road/dict/place.vue | 2 + src/views/visualiz/water/river/index.vue | 104 ++- src/views/water/river/dict/api-relate.vue | 1014 ++++++++++---------- src/views/water/river/dict/autonomous.vue | 1017 +++++++++++---------- src/views/water/river/dict/place.vue | 83 +- src/views/water/river/dict/water.vue | 814 +++++++++-------- 7 files changed, 1745 insertions(+), 1298 deletions(-) diff --git a/src/api/gis/gisApi.js b/src/api/gis/gisApi.js index 6de3729..63c0520 100644 --- a/src/api/gis/gisApi.js +++ b/src/api/gis/gisApi.js @@ -36,6 +36,8 @@ const river = function (data) { // 江河水质数据查询 return axios.post("/water/visualiz/river", data) } + + const waterStation = function (data) { // 水站数据查询 return axios.post("/water/visualiz/waterStation", data) } @@ -52,6 +54,10 @@ const waterVillage = function (data) { // 农村 return axios.post("/drinkingWaterVillage/drinkingWaterVillage/villageGis", data) } + +const updateRiverCorrectLocation = function (data) { // 江河水质数据查询 + return axios.post("/water/visualiz/updatePointLocation", data) +} export { getLakePlace, getAirGis, @@ -64,5 +70,6 @@ export { waterStation, waterCity, waterCounty, - waterVillage + waterVillage, + updateRiverCorrectLocation } diff --git a/src/views/sound/road/dict/place.vue b/src/views/sound/road/dict/place.vue index 5c258b0..2b88709 100644 --- a/src/views/sound/road/dict/place.vue +++ b/src/views/sound/road/dict/place.vue @@ -235,6 +235,8 @@ export default { {title: "路宽", dataIndex: "roadWidth", sorter: true,}, {title: "测点经度", dataIndex: "placeLng", sorter: true,}, {title: "测点纬度", dataIndex: "placeLat", sorter: true,}, + {title: "修正经度", dataIndex: "correctLng"}, + {title: "修正纬度", dataIndex: "correctLat"}, { title: "操作", key: "action", diff --git a/src/views/visualiz/water/river/index.vue b/src/views/visualiz/water/river/index.vue index 79cf40e..ba2f148 100644 --- a/src/views/visualiz/water/river/index.vue +++ b/src/views/visualiz/water/river/index.vue @@ -30,7 +30,7 @@ - + {{ item }} @@ -43,11 +43,17 @@ + + +
+
diff --git a/src/views/water/river/dict/autonomous.vue b/src/views/water/river/dict/autonomous.vue index e89703a..e34d6f7 100644 --- a/src/views/water/river/dict/autonomous.vue +++ b/src/views/water/river/dict/autonomous.vue @@ -1,494 +1,581 @@ diff --git a/src/views/water/river/dict/place.vue b/src/views/water/river/dict/place.vue index 472b7bc..7836058 100644 --- a/src/views/water/river/dict/place.vue +++ b/src/views/water/river/dict/place.vue @@ -104,6 +104,23 @@ + + + + + + + +
+ +
@@ -263,6 +280,8 @@ title: "纬度", dataIndex: "latitude", }, + {title: "修正经度", dataIndex: "correctLng"}, + {title: "修正纬度", dataIndex: "correctLat"}, { title: "序号", dataIndex: "seq", @@ -310,6 +329,8 @@ showNYear: false, cYear: undefined, nYear: undefined, + visibleRoadMap: false, + roadMapTitle: "选择坐标", }; }, mounted() { @@ -462,7 +483,67 @@ let sheet = XLSX.utils.aoa_to_sheet(arr); this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString()); - } + }, + showRoadMap(form) { + const {longitude,latitude,correctLng,correctLat} = form + this.visibleRoadMap = true + this.roadMapTitle = "选择修正后的道路坐标" + this.$nextTick(() => { + console.log(this.$refs.roadMap) + // eslint-disable-next-line no-undef + var map = new BMap.Map(this.$refs.roadMap); // 创建Map实例 + // eslint-disable-next-line no-undef + map.addControl(new BMap.NavigationControl()); //初始化地图控件 + // eslint-disable-next-line no-undef + map.addControl(new BMap.ScaleControl()); + // eslint-disable-next-line no-undef + map.addControl(new BMap.OverviewMapControl()); + // eslint-disable-next-line no-undef + var point = new BMap.Point(correctLng?correctLng:longitude?longitude:108.33,correctLat?correctLat:latitude?latitude:22.84); + // var point = new BBMap.Point(form.longitude ? form.longitude : 108.33, form.latitude ? form.latitude : 22.84); + map.centerAndZoom(point, 13);//初始化地图中心点 + // eslint-disable-next-line no-undef + var marker = new BMap.Marker(point); //初始化地图标记 + marker.enableDragging(); //标记开启拖拽 + // eslint-disable-next-line no-undef + var gc = new BMap.Geocoder();//地址解析类 + //添加标记拖拽监听 + marker.addEventListener("dragend", (e) => { + //获取地址信息 + this.form['correctLng'] = e.point.lng + this.form['correctLat'] = e.point.lat + + gc.getLocation(e.point, function (rs) { + showLocationInfo(e.point, rs); + }); + }); + + //添加标记点击监听 + marker.addEventListener("click", function (e) { + gc.getLocation(e.point, function (rs) { + showLocationInfo(e.point, rs); + }); + }); + + map.centerAndZoom(point, 15); //设置中心点坐标和地图级别 + map.addOverlay(marker); //将标记添加到地图中 + //显示地址信息窗口 + function showLocationInfo(pt, rs) { + var opts = { + width: 250, //信息窗口宽度 + height: 100, //信息窗口高度 + title: "" //信息窗口标题 + } + var addComp = rs.addressComponents; + var addr = "当前位置:" + addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber + "
"; + addr += "纬度: " + pt.lat + ", " + "经度:" + pt.lng; + // eslint-disable-next-line no-undef + var infoWindow = new BMap.InfoWindow(addr, opts); //创建信息窗口对象 + marker.openInfoWindow(infoWindow); + } + }) + + }, }, }; diff --git a/src/views/water/river/dict/water.vue b/src/views/water/river/dict/water.vue index 8fd080b..d43d227 100644 --- a/src/views/water/river/dict/water.vue +++ b/src/views/water/river/dict/water.vue @@ -1,389 +1,475 @@