|
@@ -102,6 +102,8 @@ export default {
|
|
|
this.sceneLayers[obj.title][0][0].visible = visible;
|
|
|
}
|
|
|
break;
|
|
|
+ case "wms":
|
|
|
+ case "wmts":
|
|
|
case "IMG": //影像
|
|
|
this.layerparams[obj.id].show = visible;
|
|
|
break;
|
|
@@ -151,23 +153,18 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
break;
|
|
|
+ case "wms":
|
|
|
+ case "wmts":
|
|
|
case "IMG": //影像
|
|
|
- for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
- let element = imageryLayers._layers[i];
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
- element.alpha = value;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
case "Vector": //矢量
|
|
|
- for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
- let element = imageryLayers._layers[i];
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
- element.alpha = value;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ this.layerparams[obj.id].alpha = value;
|
|
|
+ // for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
+ // let element = imageryLayers._layers[i];
|
|
|
+ // if (element._imageryProvider._name == obj.title) {
|
|
|
+ // element.alpha = value;
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
break;
|
|
|
case "Terrain": //地形
|
|
|
break;
|
|
@@ -212,11 +209,11 @@ export default {
|
|
|
addWMS(obj) {
|
|
|
let layer = viewer.imageryLayers.addImageryProvider(
|
|
|
new Cesium.WebMapServiceImageryProvider({
|
|
|
- url: obj.url, // "http://192.168.60.52:28085/geoserver/wms",
|
|
|
- layers: "demo:yzq_czkfbj", //"demo:Ahtq_czkfbj",
|
|
|
+ url: obj.url,
|
|
|
+ layers: `${obj.fwgzkj}:${obj.fwmc}`, //"demo:Ahtq_czkfbj",
|
|
|
parameters: {
|
|
|
- service: "WMS",
|
|
|
- format: "image/png",
|
|
|
+ service: obj.type, //"WMS",
|
|
|
+ format: obj.format,
|
|
|
transparent: true,
|
|
|
// srs: "EPSG:4326", // 坐标参考系统,可以根据需要更改
|
|
|
},
|
|
@@ -228,12 +225,13 @@ export default {
|
|
|
return viewer.imageryLayers.addImageryProvider(
|
|
|
new Cesium.WebMapTileServiceImageryProvider({
|
|
|
url: obj.url, //'http://192.168.60.52:28085/geoserver/gwc/service/wmts';
|
|
|
- layer: "demo:czkfbj", // 替换为你的WMTS图层名称
|
|
|
+ layer: `${obj.fwgzkj}:${obj.fwmc}`, //"demo:yzq_czkfbj"
|
|
|
style: "", // 替换为你的WMTS图层风格
|
|
|
- tileMatrixSetID: "WebMercatorQuadx2", // 或者其他的EPSG代码
|
|
|
- format: "image/png",
|
|
|
+ tileMatrixSetID: obj.qpfa, // 或者其他的EPSG代码
|
|
|
+ format: obj.format,
|
|
|
tilingScheme: new Cesium.WebMercatorTilingScheme(), // 当想要加载EPSG:4326瓦片服务时,只需要创建一个GeographicTilingScheme对象即可
|
|
|
- maximumLevel: 18, // 根据实际情况设置最大级别
|
|
|
+ maximumLevel: obj.maximumlevel,
|
|
|
+ minimumlevel: obj.minimumlevel,
|
|
|
})
|
|
|
);
|
|
|
},
|
|
@@ -338,11 +336,10 @@ export default {
|
|
|
obj.trans = 100;
|
|
|
obj.visible = true;
|
|
|
this.addlayerdata.unshift(obj); //将最新添加的对象放到第一位
|
|
|
- if (obj.title == "测试WMS") {
|
|
|
- } else if (obj.title == "测试WMTS") {
|
|
|
- } else {
|
|
|
+ if (obj.serverType == "geoserver") {
|
|
|
switch (obj.type) {
|
|
|
case "wms":
|
|
|
+ // this.vectorlayerlist.push(obj);
|
|
|
this.layerparams[obj.id] = this.addWMS(obj);
|
|
|
store.setlayerparamsList(this.layerparams);
|
|
|
break;
|
|
@@ -350,6 +347,10 @@ export default {
|
|
|
this.layerparams[obj.id] = this.addWMTS(obj);
|
|
|
store.setlayerparamsList(this.layerparams);
|
|
|
break;
|
|
|
+ }
|
|
|
+ } else if (obj.serverType == "arcgis") {
|
|
|
+ } else {
|
|
|
+ switch (obj.type) {
|
|
|
case "S3M": //场景
|
|
|
let s = viewer.scene.open(obj.url, undefined, {
|
|
|
autoSetView: false, // obj.title != "倾斜摄影",
|
|
@@ -476,7 +477,7 @@ export default {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- delete this.layerparams[obj.id];
|
|
|
+
|
|
|
switch (obj.type) {
|
|
|
case "S3M": //场景
|
|
|
if (this.sceneLayers[obj.title]) {
|
|
@@ -505,23 +506,19 @@ export default {
|
|
|
case "3DTiles": //tileset
|
|
|
viewer.scene.primitives.remove(this.sceneLayers[obj.title]);
|
|
|
break;
|
|
|
+ case "wms":
|
|
|
+ case "wmts":
|
|
|
case "IMG": //影像
|
|
|
- for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
- let element = imageryLayers._layers[i];
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
- imageryLayers.remove(element);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
case "Vector": //矢量
|
|
|
- for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
- let element = imageryLayers._layers[i];
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
- imageryLayers.remove(element);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ imageryLayers.remove(this.layerparams[obj.id]);
|
|
|
+ delete this.layerparams[obj.id];
|
|
|
+ // for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
+ // let element = imageryLayers._layers[i];
|
|
|
+ // if (element._imageryProvider._name == obj.title) {
|
|
|
+ // imageryLayers.remove(element);
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
break;
|
|
|
case "Terrain": //地形
|
|
|
viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
|
|
@@ -537,36 +534,48 @@ export default {
|
|
|
//图层定位
|
|
|
location(obj) {
|
|
|
let imageryLayers = viewer.imageryLayers;
|
|
|
- switch (obj.type) {
|
|
|
- case "S3M": //场景
|
|
|
- if (this.sceneLayers[obj.title]) {
|
|
|
+ if (obj.serverType == "geoserver") {
|
|
|
+ switch (obj.type) {
|
|
|
+ case "wms":
|
|
|
+ console.log("11", this.layerparams[obj.id]);
|
|
|
+ break;
|
|
|
+ case "wmts":
|
|
|
+ console.log("11", this.layerparams[obj.id]);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else if (obj.serverType == "arcgis") {
|
|
|
+ } else {
|
|
|
+ switch (obj.type) {
|
|
|
+ case "S3M": //场景
|
|
|
+ if (this.sceneLayers[obj.title]) {
|
|
|
+ viewer.flyTo(this.sceneLayers[obj.title][0][0]);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "S3MDATA": //scp
|
|
|
viewer.flyTo(this.sceneLayers[obj.title][0][0]);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "S3MDATA": //scp
|
|
|
- viewer.flyTo(this.sceneLayers[obj.title][0][0]);
|
|
|
- break;
|
|
|
- case "3DTiles": //tileset
|
|
|
- viewer.flyTo(this.sceneLayers[obj.title]);
|
|
|
- break;
|
|
|
- case "IMG": //影像
|
|
|
- case "Vector": //矢量
|
|
|
- viewer.flyTo(this.layerparams[obj.id]);
|
|
|
- // for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
- // let element = imageryLayers._layers[i];
|
|
|
- // if (element._imageryProvider._name == obj.title) {
|
|
|
- // viewer.flyTo(element);
|
|
|
- // break;
|
|
|
- // }
|
|
|
- // }
|
|
|
- break;
|
|
|
- case "Terrain": //地形
|
|
|
- viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
|
|
|
- {}
|
|
|
- );
|
|
|
- break;
|
|
|
- default:
|
|
|
- null;
|
|
|
+ break;
|
|
|
+ case "3DTiles": //tileset
|
|
|
+ viewer.flyTo(this.sceneLayers[obj.title]);
|
|
|
+ break;
|
|
|
+ case "IMG": //影像
|
|
|
+ case "Vector": //矢量
|
|
|
+ viewer.flyTo(this.layerparams[obj.id]);
|
|
|
+ // for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
+ // let element = imageryLayers._layers[i];
|
|
|
+ // if (element._imageryProvider._name == obj.title) {
|
|
|
+ // viewer.flyTo(element);
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ break;
|
|
|
+ case "Terrain": //地形
|
|
|
+ viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
|
|
|
+ {}
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ null;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|