From 30e393df7b1d89c4172a7f4bec6e80e2dc00c373 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期一, 05 八月 2024 10:14:49 +0800 Subject: [PATCH] 语义功能添加 --- src/assets/js/mapSdk/menuManager.js | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 53 insertions(+), 1 deletions(-) diff --git a/src/assets/js/mapSdk/menuManager.js b/src/assets/js/mapSdk/menuManager.js index e2a46a0..4e31acb 100644 --- a/src/assets/js/mapSdk/menuManager.js +++ b/src/assets/js/mapSdk/menuManager.js @@ -1,7 +1,8 @@ - const menuManager = { pid: null, pointFly: null, + particle: null, + AnalysisFlood: null, colorAll: { point: SmartEarth.Cesium.Color.fromCssColorString('#ff0000'), polyline: SmartEarth.Cesium.Color.fromCssColorString('#ffff0050'), @@ -67,11 +68,62 @@ case 'a1': return res.name; break; + case 'a2': + if (this.particle) { + this.particle.remove(); + this.particle = null; + return; + } + + var that = this; + var handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); + handler.setInputAction((event) => { + let cartesian = Viewer.camera.pickEllipsoid(event.position); + let cartographic = Cesium.Cartographic.fromCartesian(cartesian); + + if (cartesian) { + let lng = parseFloat(Cesium.Math.toDegrees(cartographic.longitude)).toFixed(6); // 缁忓害 + let lat = parseFloat(Cesium.Math.toDegrees(cartographic.latitude)).toFixed(6); // 绾害 + var alt = Viewer.camera.positionCartographic.height.toFixed(0); + that.setCreateFireAnalysis(lng, lat, alt); + } + handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + break; + case 'a3': + if (this.AnalysisFlood) { + this.AnalysisFlood.endWater(); + this.AnalysisFlood = undefined; + return + } + var url = SmartEarthRootUrl + 'Workers/image/33.gif'; + const method = { + pointSelect: true, // rectangle: 'rectangle', + spood: 20, + GroupID: 0, + url: url, + }; + this.AnalysisFlood = earthCtrl.analysis.createSubmergence(method, (value) => {}); + break; default: return null; break; } }, + setCreateFireAnalysis(lon, lat, alt) { + this.particle = earthCtrl.factory.createParticleEffect( + 'flame', + { + x: lon, + y: lat, + z: 0, + }, + { + translation: SmartEarth.Cesium.Cartesian3.fromElements(0, 0, 0), //骞崇Щ + }, + (data) => {} + ); + }, //鍥惧眰绠$悊 setMenuS4(res) { switch (res.id) { -- Gitblit v1.9.3