suerprisePlus
2024-06-25 c93d4b3af5739f786cfdf20b16b28ec60403f709
src/assets/js/map/mapServer.js
@@ -1,11 +1,12 @@
import mapConfig from "./mapConfig";
var tileset;
const mapServer = {
  listData: [],
  sourceType: null,
  tileContent: null,
  init() {},
  addServer(res) {
    this.remoServer(res);
    // this.remoServer(res);
    this.sourceType = res.sourceType;
    switch (this.sourceType) {
@@ -18,6 +19,12 @@
      case "tms":
        this.addTmsLayer(res);
        break;
      case "wfs":
        this.addWfsLayer(res);
        break;
      case "Tileset":
        this.addTileSetLayer(res);
        break;
    }
  },
  remoServer(res) {
@@ -29,17 +36,55 @@
      }
    }
  },
  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) {
    var layer = earthCtrl.factory.createImageryLayer({
    const layer = earthCtrl.factory.createImageryLayer({
      sourceType: "tms",
      // url: "http://test.smartearth.cn:9037/gisserver/tmsserver/SubicBayArea"
      url: res.url
    });
    this.listData.push({
      layer: layer,
      type: this.sourceType
    });
    mapConfig.flyToImageryLayer(layer);
  },
  addArcgisServer(res) {
    const layer = earthCtrl.factory.createImageryLayer({