ansel0926
2022-05-17 885edef97a642aaceede847c084f70156cbfe9a9
view/project/layerAnalysis.html
@@ -114,11 +114,69 @@
                                break;
                            }
                            case "shpFeature": {
                                let path = data.path;
                                console.log("shpFeature click");
                            }
                        }
                        if (model != undefined) {
                            viewer.flyTo(model, {
                                offset: {
                                    heading: 0,
                                    pitch: -90
                                },
                            }).then(function () {
                                // if (obj.data.field == 'Primitive') {
                                //     setTimeout(() => {
                                //         dptiles(model.root.children);
                                //     }, 5000);
                                // }
                            });
                        }
                    }
                    else if (type == 'DDE') {
                        var lon, lat, alt;
                        lon = obj.data.lon;
                        lat = obj.data.lat;
                        alt = obj.data.altitude;
                        console.log(lon, lat, alt);
                        if (lon != undefined && lat != undefined && alt != undefined) {
                            let flyPromise = viewer.camera.flyTo({
                                duration: 3,
                                destination: Cesium.Cartesian3.fromDegrees(Number(lon), Number(lat), alt),
                                orientation: {
                                    heading: Cesium.Math.toRadians(0),                          //绕垂直于地心的轴旋转
                                    pitch: Cesium.Math.toRadians(-90),      //绕纬度线旋转
                                    roll: Cesium.Math.toRadians(0)                                 //绕经度线旋转
                                },
                            });
                        }
                    }
                }
                , oncheck: function (obj) {
                    if (isloading) {
                        return;
                    }
                    var ischeck = obj.checked;
                    var objData = obj.data;
                    var type = objData.field;
                    if (type == "shpFeature") {//如果是 shp图层
                        if(ischeck){
                            let data= obj.data.ext;
                            let path = data.path;
                                let shpArray = JSON.parse(path);
                                var shpPromises = [];
                                for (let i = 0; i < shpArray.length; i++) {
                                    shpPromises.push(Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[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;
@@ -126,14 +184,14 @@
                                    for (let i = 0; i < shpArray.length; i++) {
                                        files[i].name = shpArray[i];
                                    }
                                    var shpProvider = new parent.VectorTileImageryProvider({
                                        source: files,
                                        zIndex: 99,
                                        zIndex: len,
                                        removeDuplicate: false,
                                        defaultStyle: {
                                            outlineColor: "rgb(255,0,0)",
                                            fillColor: "rgba(255,0,0,0.6)",
                                            outlineColor: data.color,
                                            fillColor: data.color,
                                            lineWidth: 1,
                                            fill: false,
                                            tileCacheSize: 200,
@@ -157,7 +215,8 @@
                                        simplify: false
                                    });
                                    shpProvider.readyPromise.then(function () {
                                        layer = parent.viewer.imageryLayers.addImageryProvider(shpProvider);
                                        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;
@@ -165,50 +224,21 @@
                                    });
                                });
                        }else{//移除shp
                            var id = obj.data.id;
                            var index = parent.layerMap.get(id);
                            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);
                                }
                            }
                        }
                        if (model != undefined) {
                            viewer.flyTo(model, {
                                offset: {
                                    heading: 0,
                                    pitch: -90
                                },
                            }).then(function () {
                                // if (obj.data.field == 'Primitive') {
                                //     setTimeout(() => {
                                //         dptiles(model.root.children);
                                //     }, 5000);
                                // }
                            });
                        }
                    }
                    }
                    else if (type == 'DDE') {
                        var lon, lat, alt;
                        lon = obj.data.lon;
                        lat = obj.data.lat;
                        alt = obj.data.altitude;
                        console.log(lon,lat,alt);
                        let flyPromise = viewer.camera.flyTo({
                            duration: 3,
                            destination: Cesium.Cartesian3.fromDegrees(Number(lon), Number(lat), alt),
                            orientation: {
                                heading: Cesium.Math.toRadians(0),                          //绕垂直于地心的轴旋转
                                pitch: Cesium.Math.toRadians(-90),      //绕纬度线旋转
                                roll: Cesium.Math.toRadians(0)                                 //绕经度线旋转
                            },
                        });
                    }
                }
                , oncheck: function (obj) {
                    if (isloading) {
                        return;
                    }
                    var ischeck = obj.checked;
                    var objData = obj.data;
                    var type = objData.field;
                    if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting') {
                        //changeChecked(ischeck, parent.getNodeById(objData.id));
                        /*