| | |
| | | break; |
| | | } |
| | | case "shpFeature": { |
| | | console.log("shpFeature click"); |
| | | console.log("shpFeature click"); |
| | | |
| | | } |
| | | } |
| | |
| | | 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') { |