| | |
| | | const menuManager = { |
| | | pid: null, |
| | | pointFly: null, |
| | | particle: null, |
| | | AnalysisFlood: null, |
| | | colorAll: { |
| | | point: SmartEarth.Cesium.Color.fromCssColorString('#ff0000'), |
| | | polyline: SmartEarth.Cesium.Color.fromCssColorString('#ffff0050'), |
| | |
| | | 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) { |
| | |
| | | return res.name; |
| | | break; |
| | | case 'a2': |
| | | return res.name; |
| | | earthCtrl.factory.createScreenshot(); |
| | | break; |
| | | default: |
| | | return null; |