From c56e506fd34c58209240e97fc29043639fae5d19 Mon Sep 17 00:00:00 2001 From: ChenZeping <chenzeping> Date: 星期四, 29 四月 2021 15:13:21 +0800 Subject: [PATCH] 统计表,指标,预报警表格弹框公共修改,管线分析功能 --- src/components/plugin/MeaSure.js | 414 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 251 insertions(+), 163 deletions(-) diff --git a/src/components/plugin/MeaSure.js b/src/components/plugin/MeaSure.js index b6730f1..0ff8a46 100644 --- a/src/components/plugin/MeaSure.js +++ b/src/components/plugin/MeaSure.js @@ -1,163 +1,251 @@ -/* eslint-disable */ -// 闈㈢Н娴嬮噺鏂规硶 -var areaMeasure = { - points: [], -// markers:[], - color: 'red', - L: null, - layers: null, - polygon: null, - marker: null, - init: function (map, L) { - areaMeasure.L = L - areaMeasure.map = map - areaMeasure.points = [] - areaMeasure.polygon = null - areaMeasure.marker = null - areaMeasure.layers = L.layerGroup() - areaMeasure.map.on('click', areaMeasure.click).on('dblclick', areaMeasure.dblclick) - }, - close: function (latlng) { - /*areaMeasure.marker = L.marker(latlng, { icon: deleteIcon }).addTo(map).on("click", function (e) { - //console.log('marker',e); - if(areaMeasure.polygon) - map.removeLayer(areaMeasure.polygon); - - if(areaMeasure.marker) - areaMeasure.marker.remove(); - }); - //areaMeasure.markers.push(marker); - */ - - }, - click: function (e) { - areaMeasure.map.doubleClickZoom.disable() -// 娣诲姞鐐逛俊鎭� - areaMeasure.points.push(e.latlng) -// 娣诲姞闈� - areaMeasure.map.on('mousemove', areaMeasure.mousemove) - }, - mousemove: function (e) { - areaMeasure.points.push(e.latlng) - if (areaMeasure.polygon) { - areaMeasure.map.removeLayer(areaMeasure.polygon) - } - areaMeasure.polygon = areaMeasure.L.polygon(areaMeasure.points, { - showMeasurements: true, - color: 'red' - }) -//areaMeasure.polygon.addTo(map); - areaMeasure.polygon.addTo(areaMeasure.layers) - areaMeasure.layers.addTo(areaMeasure.map) - areaMeasure.points.pop() - }, - dblclick: function (e) { // 鍙屽嚮缁撴潫 - console.log('鍙屽嚮缁撴潫', e) - areaMeasure.polygon.addTo(areaMeasure.layers) - areaMeasure.close(e.latlng) -//areaMeasure.polygon.enableEdit(); -//map.on('editable:vertex:drag editable:vertex:deleted', areaMeasure.polygon.updateMeasurements, areaMeasure.polygon); - areaMeasure.map.off('click', areaMeasure.click).off('mousemove', areaMeasure.mousemove).off('dblclick', areaMeasure.dblclick) - }, - destory: function () { - if (areaMeasure.polygon) { - areaMeasure.map.removeLayer(areaMeasure.polygon) - } - - if (areaMeasure.marker) { - areaMeasure.marker.remove() - } - if (areaMeasure.layers) { - areaMeasure.layers.clearLayers() - } - } -} - -// 璺濈娴嬮噺鏂规硶 -var distanceMeasure = { - points: [], -// markers:[], - color: 'red', - L: null, - map: null, - layers: null, - polyline: null, - marker: null, - init: function (map, L) { - console.log(L) - distanceMeasure.L = L - distanceMeasure.map = map - distanceMeasure.points = [] - distanceMeasure.polyline = null - distanceMeasure.marker = null - distanceMeasure.layers = L.layerGroup() - map.on('click', distanceMeasure.click).on('dblclick', distanceMeasure.dblclick) - }, - close: function (latlng) { - /*distanceMeasure.marker = L.marker(latlng, { icon: deleteIcon }).addTo(map).on("click", function (e) { - //console.log('marker',e); - if(distanceMeasure.polyline) - map.removeLayer(distanceMeasure.polyline); - - if(distanceMeasure.marker) - distanceMeasure.marker.remove(); - });*/ - }, - click: function (e) { - distanceMeasure.map.doubleClickZoom.disable() -// 娣诲姞鐐逛俊鎭� - distanceMeasure.points.push(e.latlng) -// 娣诲姞绾� - distanceMeasure.map.on('mousemove', distanceMeasure.mousemove) - }, - mousemove: function (e) { - distanceMeasure.points.push(e.latlng) - if (distanceMeasure.polyline) { - distanceMeasure.map.removeLayer(distanceMeasure.polyline) - } - distanceMeasure.polyline = distanceMeasure.L.polyline(distanceMeasure.points, { - showMeasurements: true, - color: 'red' - }) - distanceMeasure.polyline.addTo(distanceMeasure.layers) - distanceMeasure.layers.addTo(distanceMeasure.map) - distanceMeasure.points.pop() - }, - dblclick: function (e) { // 鍙屽嚮缁撴潫 - console.log('鍙屽嚮缁撴潫', e) - distanceMeasure.polyline.addTo(distanceMeasure.layers) - distanceMeasure.close(e.latlng) -//distanceMeasure.polygon.enableEdit(); -//map.on('editable:vertex:drag editable:vertex:deleted', distanceMeasure.polygon.updateMeasurements, distanceMeasure.polygon); - distanceMeasure.map.off('click', distanceMeasure.click).off('mousemove', distanceMeasure.mousemove).off('dblclick', distanceMeasure.dblclick) - }, - destory: function () { - if (distanceMeasure.polyline) { - distanceMeasure.map.removeLayer(distanceMeasure.polyline) - } - if (distanceMeasure.marker) { - distanceMeasure.marker.remove() - } - if (distanceMeasure.layers) { - distanceMeasure.layers.clearLayers() - } - } -} - -const startMeasureArea = function (map, L) { - areaMeasure.init(map, L) -} - -const startMeasureLen = function (map, L) { - distanceMeasure.init(map, L) -} - -const clearMeasure = function () { - areaMeasure.destory() - distanceMeasure.destory() -} -export default { - startMeasureArea, - startMeasureLen, - clearMeasure -} +/* eslint-disable */ +// 闈㈢Н娴嬮噺鏂规硶 +var areaMeasure = { + points: [], +// markers:[], + color: 'red', + L: null, + layers: null, + polygon: null, + marker: null, + init: function (map, L) { + areaMeasure.L = L + areaMeasure.map = map + areaMeasure.points = [] + areaMeasure.polygon = null + areaMeasure.marker = null + areaMeasure.layers = L.layerGroup() + areaMeasure.map.on('click', areaMeasure.click).on('dblclick', areaMeasure.dblclick) + }, + close: function (latlng) { + /*areaMeasure.marker = L.marker(latlng, { icon: deleteIcon }).addTo(map).on("click", function (e) { + //console.log('marker',e); + if(areaMeasure.polygon) + map.removeLayer(areaMeasure.polygon); + + if(areaMeasure.marker) + areaMeasure.marker.remove(); + }); + //areaMeasure.markers.push(marker); + */ + + }, + click: function (e) { + areaMeasure.map.doubleClickZoom.disable() +// 娣诲姞鐐逛俊鎭� + areaMeasure.points.push(e.latlng) +// 娣诲姞闈� + areaMeasure.map.on('mousemove', areaMeasure.mousemove) + }, + mousemove: function (e) { + areaMeasure.points.push(e.latlng) + if (areaMeasure.polygon) { + areaMeasure.map.removeLayer(areaMeasure.polygon) + } + areaMeasure.polygon = areaMeasure.L.polygon(areaMeasure.points, { + showMeasurements: true, + color: 'red' + }) +//areaMeasure.polygon.addTo(map); + areaMeasure.polygon.addTo(areaMeasure.layers) + areaMeasure.layers.addTo(areaMeasure.map) + areaMeasure.points.pop() + }, + dblclick: function (e) { // 鍙屽嚮缁撴潫 + console.log(areaMeasure.polygon.dragging) + console.log('鍙屽嚮缁撴潫', e) + areaMeasure.polygon.enableEdit() + areaMeasure.polygon.dragging.disable() + areaMeasure.map.on('editable:vertex:drag editable:vertex:deleted', areaMeasure.polygon.updateMeasurements, areaMeasure.polygon) + areaMeasure.polygon.addTo(areaMeasure.layers) + areaMeasure.close(e.latlng) +//areaMeasure.polygon.enableEdit(); +//map.on('editable:vertex:drag editable:vertex:deleted', areaMeasure.polygon.updateMeasurements, areaMeasure.polygon); + areaMeasure.map.off('click', areaMeasure.click).off('mousemove', areaMeasure.mousemove).off('dblclick', areaMeasure.dblclick) + }, + destory: function () { + if (areaMeasure.polygon) { + areaMeasure.map.removeLayer(areaMeasure.polygon) + } + + if (areaMeasure.marker) { + areaMeasure.marker.remove() + } + if (areaMeasure.layers) { + areaMeasure.layers.clearLayers() + } + } +} + +// 璺濈娴嬮噺鏂规硶 +var distanceMeasure = { + points: [], +// markers:[], + color: 'blue', + L: null, + map: null, + layers: null, + polyline: null, + marker: null, + init: function (map, L) { + // console.log(L) + distanceMeasure.L = L + distanceMeasure.map = map + distanceMeasure.points = [] + distanceMeasure.polyline = null + distanceMeasure.marker = null + distanceMeasure.layers = L.layerGroup() + map.on('click', distanceMeasure.click).on('dblclick', distanceMeasure.dblclick) + }, + close: function (latlng) { + /*distanceMeasure.marker = L.marker(latlng, { icon: deleteIcon }).addTo(map).on("click", function (e) { + //console.log('marker',e); + if(distanceMeasure.polyline) + map.removeLayer(distanceMeasure.polyline); + + if(distanceMeasure.marker) + distanceMeasure.marker.remove(); + });*/ + }, + click: function (e) { + distanceMeasure.map.doubleClickZoom.disable() +// 娣诲姞鐐逛俊鎭� + distanceMeasure.points.push(e.latlng) +// 娣诲姞绾� + distanceMeasure.map.on('mousemove', distanceMeasure.mousemove) + }, + mousemove: function (e) { + distanceMeasure.points.push(e.latlng) + if (distanceMeasure.polyline) { + distanceMeasure.map.removeLayer(distanceMeasure.polyline) + } + distanceMeasure.polyline = distanceMeasure.L.polyline(distanceMeasure.points, { + showMeasurements: true, + color: 'red' + }) + distanceMeasure.polyline.addTo(distanceMeasure.layers) + // distanceMeasure.polyline.enableEdit() + distanceMeasure.layers.addTo(distanceMeasure.map) + distanceMeasure.points.pop() + }, + dblclick: function (e) { // 鍙屽嚮缁撴潫 + console.log(distanceMeasure.polyline.dragging) + console.log('鍙屽嚮缁撴潫', e) + distanceMeasure.polyline.enableEdit() + distanceMeasure.polyline.dragging.disable() + distanceMeasure.polyline.addTo(distanceMeasure.layers) + distanceMeasure.map.on('editable:vertex:drag editable:vertex:deleted', distanceMeasure.polyline.updateMeasurements, distanceMeasure.polyline) + distanceMeasure.close(e.latlng) + distanceMeasure.map.off('click', distanceMeasure.click).off('mousemove', distanceMeasure.mousemove).off('dblclick', distanceMeasure.dblclick) + }, + destory: function () { + if (distanceMeasure.polyline) { + distanceMeasure.map.removeLayer(distanceMeasure.polyline) + } + if (distanceMeasure.marker) { + distanceMeasure.marker.remove() + } + if (distanceMeasure.layers) { + distanceMeasure.layers.clearLayers() + } + } +} + +// 绠$嚎绾挎缁樺埗鏂规硶 +// const drawLine = { +// points: [], +// color: 'red', +// L: null, +// map: null, +// layers: null, +// polyline: null, +// marker: null, +// init (map, L) { +// drawLine.L = window.L +// drawLine.map = window.map +// drawLine.points = [] +// drawLine.polyline = null +// drawLine.marker = null +// drawLine.layers = window.L.layers +// map.on('click', drawLine.click).on('dblclick', drawLine.dblclick) +// }, +// close: function (latlng) { +// /*distanceMeasure.marker = L.marker(latlng, { icon: deleteIcon }).addTo(map).on("click", function (e) { +// //console.log('marker',e); +// if(distanceMeasure.polyline) +// map.removeLayer(distanceMeasure.polyline); +// +// if(distanceMeasure.marker) +// distanceMeasure.marker.remove(); +// });*/ +// }, +// click: function (e) { +// drawLine.map.doubleClickZoom.disable() +// // 娣诲姞鐐逛俊鎭� +// drawLine.points.push(e.latlng) +// // 娣诲姞绾� +// drawLine.map.on('mousemove', drawLine.mousemove) +// }, +// mousemove (e) { +// drawLine.points.push(e.latlng) +// if (drawLine.polyline) { +// distanceMeasure.map.removeLayer(distanceMeasure.polyline) +// } +// drawLine.polyline = drawLine.L.polyline(drawLine.points, { +// showMeasurements: false, +// color: 'red' +// }) +// drawLine.polyline.addTo(drawLine.layers) +// // distanceMeasure.polyline.enableEdit() +// drawLine.layers.addTo(drawLine.map) +// drawLine.points.pop() +// }, +// dblclick (e) { // 鍙屽嚮缁撴潫 +// console.log(drawLine.polyline.dragging) +// console.log('鍙屽嚮缁撴潫', e) +// drawLine.polyline.enableEdit() +// drawLine.polyline.dragging.disable() +// drawLine.polyline.addTo(drawLine.layers) +// drawLine.map.on('editable:vertex:drag editable:vertex:deleted', drawLine.polyline.updateMeasurements, drawLine.polyline) +// drawLine.close(e.latlng) +// drawLine.map.off('click', drawLine.click).off('mousemove', drawLine.mousemove).off('dblclick', drawLine.dblclick) +// }, +// destory: function () { +// if (drawLine.polyline) { +// drawLine.map.removeLayer(drawLine.polyline) +// } +// if (drawLine.marker) { +// drawLine.marker.remove() +// } +// if (drawLine.layers) { +// drawLine.layers.clearLayers() +// } +// } +// } + +const startMeasureArea = function (map, L) { + areaMeasure.destory() + areaMeasure.init(map, L) +} + +const startMeasureLen = function (map, L) { + distanceMeasure.destory() + distanceMeasure.init(map, L) +} + +// const drawLineData = (map, L) => { +// drawLine.destory() +// drawLine.init(map, L) +// } + +const clearMeasure = function () { + areaMeasure.destory() + distanceMeasure.destory() + // drawLine.destory() +} +export default { + startMeasureArea, + startMeasureLen, + clearMeasure + // drawLineData +} -- Gitblit v1.8.0