suerprisePlus
2024-08-05 30e393df7b1d89c4172a7f4bec6e80e2dc00c373
src/assets/js/mapSdk/menuManager.js
@@ -1,6 +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'),
@@ -66,10 +68,61 @@
            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) {
@@ -190,7 +243,7 @@
                return res.name;
                break;
            case 'a2':
                return res.name;
                earthCtrl.factory.createScreenshot();
                break;
            default:
                return null;