import mapConfig from "./mapConfig"; var tileset; const mapServer = { listData: [], sourceType: null, tileContent: null, init() {}, addServer(res) { // this.remoServer(res); this.sourceType = res.sourceType; switch (this.sourceType) { case "arcgis": this.addArcgisServer(res); break; case "geoserver": this.addGeoServer(res); break; case "tms": this.addTmsLayer(res); break; case "wfs": this.addWfsLayer(res); break; case "Tileset": this.addTileSetLayer(res); break; } }, remoServer(res) { for (var i in this.listData) { const obj = this.listData[i]; if (obj.type == res.sourceType) { obj.layer.removeFromMap(); this.listData.splice(i, 1); } } }, addTileSetLayer(res) { // const model = earthCtrl.factory.create3DTilesets({ // url: res.url // }); // var model = Viewer.scene.primitives.add( // new Cesium.Cesium3DTileset({ // // url: res.url // url:'https://cim.smartearth.cn/SEServer/c3dserver/WhiteBox/tileset.json' // }) // ); const tileset = new Cesium.Cesium3DTileset({ url: res.url }); earthCtrl.primitives.add(tileset); this.listData.push({ layer: tileset, type: this.sourceType, layerId: res.id }); }, traverseVisibleTiles() { tileset.readyPromise.then((tileset) => { tileset.tileVisibility.forEachTile(function (tile) {}); }); }, addWfsLayer(res) { const layer = earthCtrl.factory.createWfsLayer("polygon", { urls: res.url, layer: res.layer, outlineColor: res.outlineColor, alpha: res.alpha }); this.listData.push({ layer: layer, type: this.sourceType }); }, addTmsLayer(res) { const layer = earthCtrl.factory.createImageryLayer({ sourceType: "tms", url: res.url }); this.listData.push({ layer: layer, type: this.sourceType }); }, addArcgisServer(res) { const layer = earthCtrl.factory.createImageryLayer({ sourceType: "arcgis", url: res.url }); this.listData.push({ layer: layer, type: this.sourceType }); }, addGeoServer(res) { const layer = earthCtrl.factory.createWfsLayer("polygon", { urls: res.url, layer: res.layerF, color: "#de3", extrudedHeight: 30 // 拉伸高度,无拉伸高度则为贴地面 }); this.listData.push({ layer: layer, type: this.sourceType }); } }; export default mapServer;