zhanmingkan
2022-05-17 10f1dd4dadeeaaa2403148cf442279d0abc61147
提交代码
1个文件已修改
126 ■■■■ 已修改文件
view/project/layerAnalysis.html 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
view/project/layerAnalysis.html
@@ -114,7 +114,7 @@
                                break;
                            }
                            case "shpFeature": {
                                console.log("shpFeature click");
                                console.log("shpFeature click");
                            }
                        }
@@ -162,81 +162,81 @@
                    var type = objData.field;
                    if (type == "shpFeature") {//如果是 shp图层
                        if(ischeck){
                            let data= obj.data.ext;
                        if (ischeck) {
                            let data = obj.data.ext;
                            let path = data.path;
                                let shpArray = JSON.parse(path);
                                var shpPromises = [];
                            let shpArray = JSON.parse(path);
                            var shpPromises = [];
                            for (let i = 0; i < shpArray.length; i++) {
                                shpPromises.push(parent.Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[i]));
                            }
                            //判断是否存在
                            let len = parent.viewer.imageryLayers.length;
                            if (parent.layerMap.get(obj.data.id) != null) {
                                parent.vMsg.warning("图层已经存在无需重复加载");
                                return;
                            }
                            var layer = null;
                            parent.Cesium.when.all(shpPromises, function (files) {
                                for (let i = 0; i < shpArray.length; i++) {
                                    shpPromises.push(parent.Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[i]));
                                    files[i].name = shpArray[i];
                                }
                                //判断是否存在
                                let len = parent.viewer.imageryLayers.length;
                                if (parent.layerMap.get(obj.data.id) != null) {
                                    parent.vMsg.warning("图层已经存在无需重复加载");
                                    return;
                                }
                                var shpProvider = new parent.VectorTileImageryProvider({
                                    source:  files,
                                    zIndex: len,
                                    removeDuplicate: false,
                                    defaultStyle: {
                                        outlineColor: data.color,
                                        fillColor: data.color,
                                        lineWidth: 1,
                                        fill: true,
                                        tileCacheSize: 200,
                                        showMaker: true,
                                        showCenterLabel: true,
                                        fontColor: "rgba(255,0,0,1)",
                                        labelOffsetX: -10,
                                        labelOffsetY: -5,
                                        fontSize: 13,
                                        fontFamily: "黑体",
                                        centerLabelPropertyName: "NAME",
                                        lineCap: "round",
                                        shadowColor: "black",
                                        shadowOffsetX: 1,
                                        shadowOffsetY: -1,
                                        shadowBlur: 1,
                                        lineJoin: "round"
                                    },
                                    maximumLevel: 20,
                                    minimumLevel: 1,
                                    simplify: false
                                });
                                shpProvider.readyPromise.then(function () {
                                    parent.layerMap.set(obj.data.id, len);
                                    layer = parent.viewer.imageryLayers.addImageryProvider(shpProvider, len);
                                var layer = null;
                                parent.Cesium.when.all(shpPromises, function (files) {
                                    for (let i = 0; i < shpArray.length; i++) {
                                        files[i].name = shpArray[i];
                                    }
                                    var shpProvider = new parent.VectorTileImageryProvider({
                                        source: files,
                                        zIndex: len,
                                        removeDuplicate: false,
                                        defaultStyle: {
                                            outlineColor: data.color,
                                            fillColor: data.color,
                                            lineWidth: 1,
                                            fill: false,
                                            tileCacheSize: 200,
                                            showMaker: false,
                                            showCenterLabel: true,
                                            fontColor: "rgba(255,0,0,1)",
                                            labelOffsetX: -10,
                                            labelOffsetY: -5,
                                            fontSize: 13,
                                            fontFamily: "黑体",
                                            centerLabelPropertyName: "NAME",
                                            lineCap: "round",
                                            shadowColor: "black",
                                            shadowOffsetX: 1,
                                            shadowOffsetY: -1,
                                            shadowBlur: 1,
                                            lineJoin: "round"
                                        },
                                        maximumLevel: 20,
                                        minimumLevel: 1,
                                        simplify: false
                                    });
                                    shpProvider.readyPromise.then(function () {
                                        parent.layerMap.set(obj.data.id, len);
                                        layer = parent.viewer.imageryLayers.addImageryProvider(shpProvider, len);
                                        parent.viewer.flyTo(layer);
                                        parent.Cesium.Camera.DEFAULT_VIEW_RECTANGLE = shpProvider.rectangle;
                                    });
                                    parent.viewer.flyTo(layer);
                                    parent.Cesium.Camera.DEFAULT_VIEW_RECTANGLE = shpProvider.rectangle;
                                });
                        }else{//移除shp
                            });
                        } else {//移除shp
                            var id = obj.data.id;
                            var index = parent.layerMap.get(id);
                            parent.viewer.imageryLayers.remove(parent.viewer.imageryLayers.get(index),true);
                            parent.viewer.imageryLayers.remove(parent.viewer.imageryLayers.get(index), true);
                            parent.layerMap.delete(id);
                            for(let key of  parent.layerMap.keys()){//数组的游标-1
                                if( parent.layerMap.get(key)>index){
                                    parent.layerMap.set(key, parent.layerMap.get(key)-1);
                            for (let key of parent.layerMap.keys()) {//数组的游标-1
                                if (parent.layerMap.get(key) > index) {
                                    parent.layerMap.set(key, parent.layerMap.get(key) - 1);
                                }
                            }
                        }
                    }
                    if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting') {