From 7eb2abf43167d9db3fca2e7958b90ff1bea0cead Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期一, 03 三月 2025 13:54:31 +0800 Subject: [PATCH] 污染溯源模块编写中 --- src/views/satellitetelemetry/SatelliteProxy.js | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/views/satellitetelemetry/SatelliteProxy.js b/src/views/satellitetelemetry/SatelliteProxy.js index 9088429..8e652e0 100644 --- a/src/views/satellitetelemetry/SatelliteProxy.js +++ b/src/views/satellitetelemetry/SatelliteProxy.js @@ -7,6 +7,9 @@ mapViews; districtPolygon; + + events = new Map(); + // 缁樺埗鍖哄幙杈圭晫 drawDistrict(districtName, isNew) { onMapMounted(() => { @@ -93,7 +96,11 @@ ] // eslint-disable-next-line no-undef .map((d) => new AMap.LngLat(d[0], d[1])), - extData: points[i] + extData: { + centerPoint: points[i], + // gridPoints, + gridCell: v + } }; }); const gridViews = gridMapUtil.drawPolylines({ points: gridPoints, event }); @@ -189,7 +196,7 @@ // 缁樺埗缃戞牸閬ユ劅鏁版嵁鍊煎拰缃戞牸棰滆壊 drawGrid({ - gridData, + gridDataDetail, useCustomColor, opacity, zIndex, @@ -200,7 +207,7 @@ const { resGridViews, pointsRes } = this.drawColor({ gridViews: this.mapViews.gridViews, points: this.mapViews.points, - gridDataDetail: gridData, + gridDataDetail: gridDataDetail, lastGridViews: this.mapViews.lastGridViews, customColor: useCustomColor, opacity: opacity, @@ -212,7 +219,7 @@ // 鏁版嵁鏍囪 const { textViews: dataTxt, labelsLayer: dataLayer } = this.drawDataText( this.mapViews.lastPoints, - gridData, + gridDataDetail, this.mapViews.dataTxt, this.mapViews.dataLayer ); @@ -221,7 +228,7 @@ const { textViews: rankTxt, labelsLayer: rankLayer } = this.drawRankText( this.mapViews.lastPoints, - gridData, + gridDataDetail, this.mapViews.rankTxt, this.mapViews.rankLayer ); @@ -264,13 +271,38 @@ }); } - setGridEvent(event) { + setGridEvent(name, event) { + if (!this.events.has(name)) { + this.events.set(name, []); + } + const list = this.events.get(name); + if (list.length > 0) { + const lastEvent = list[list.length - 1]; + this.mapViews.gridViews.forEach((polygon) => { + polygon.off(name, lastEvent); + }); + } + this.events.get(name).push(event); this.mapViews.gridViews.forEach((polygon) => { - event(polygon); + polygon.on(name, event); }); } - + goBackGridEvent(name) { + if (this.events.has(name)) { + const eventList = this.events.get(name); + //鍏堢Щ闄ゅ師鏈夌殑浜嬩欢 + const lastEvent = eventList.pop(); + this.mapViews.gridViews.forEach((polygon) => { + polygon.off(name, lastEvent); + }); + //鑾峰彇涓婁竴涓簨浠� + const event = eventList.pop(); + this.mapViews.gridViews.forEach((polygon) => { + polygon.on(name, event); + }); + } + } } // // 鍦板浘缃戞牸鐩稿叧瀵硅薄 -- Gitblit v1.9.3