From c8a1a20ba1ca73bef0cc3bbac652014367d05d75 Mon Sep 17 00:00:00 2001 From: zhanmingkan <496160012@qq.com> Date: 星期一, 16 五月 2022 19:34:19 +0800 Subject: [PATCH] 完善了shp的 控制开关,利用checkbox ,取消了点击。 完善了颜色参数 --- view/project/layerAnalysis.html | 132 ++++++++++++++++++++++++++----------------- 1 files changed, 80 insertions(+), 52 deletions(-) diff --git a/view/project/layerAnalysis.html b/view/project/layerAnalysis.html index 1df3ed5..81deb1f 100644 --- a/view/project/layerAnalysis.html +++ b/view/project/layerAnalysis.html @@ -114,58 +114,7 @@ break; } case "shpFeature": { - 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])); - } - - 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: 99, - removeDuplicate: false, - defaultStyle: { - outlineColor: "rgb(255,0,0)", - fillColor: "rgba(255,0,0,0.6)", - 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 () { - layer = parent.viewer.imageryLayers.addImageryProvider(shpProvider); - - parent.viewer.flyTo(layer); - parent.Cesium.Camera.DEFAULT_VIEW_RECTANGLE = shpProvider.rectangle; - - }); - - }); - + console.log("shpFeature click"); } } @@ -211,6 +160,85 @@ 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(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++) { + 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; + + }); + + }); + }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 (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting') { //changeChecked(ischeck, parent.getNodeById(objData.id)); /* -- Gitblit v1.9.1