月球大数据地理空间分析展示平台-【前端】-月球2期前端
Surpriseplus
2023-09-11 7692655063cbb653e4fe71dfe7c96562191c5df5
src/assets/js/Map/server.js
@@ -1,6 +1,6 @@
import { getToken } from "@/utils/auth";
//配置文件地址
import config from "./config";
// import config from "../../../../public/config/config";
import store from "@/store";
const server = {
  layerList: [],
@@ -240,8 +240,13 @@
    var url = this.getLayrUrl(res);
    window.terrainLayer = new Cesium.CesiumTerrainProvider({
      url: url,
      tilingScheme: new Cesium.GeographicTilingScheme({
        ellipsoid: Cesium.Ellipsoid.MOON,
      }),
    });
    Viewer.terrainProvider = window.terrainLayer;
    Viewer.scene.globe.terrainExaggeration = 1.0000001;
    this.layerList.push({ id: res.id, type: "dem" });
  },
  //加载WMS服务
@@ -387,6 +392,32 @@
    let img_layer = window.Viewer.imageryLayers.addImageryProvider(layer);
    this.layerList.push({ id: res.id, layerData: img_layer, type: "wmts" });
  },
  addGeoServerMmsLayers(layer, url) {
    var that = this
    var getFeatureInfoFormat = new SmartEarth.Cesium.GetFeatureInfoFormat("html", null, function (html) {
      that.getFeatureInfo(html)
    });
    let wmslayer = new SmartEarth.Cesium.WebMapServiceImageryProvider({
      url: url,
      layers: layer.toString(),
      getFeatureInfoParameters: { info_format: 'text/html' },
      enablePickFeatures: true,
      getFeatureInfoFormats: [getFeatureInfoFormat],
      parameters: {
        transparent: true,
        format: "image/png",
        srs: "EPSG:104903",
        styles: "",
      },
      tileWidth: 512,
      tileHeight: 512,
    });
    wmslayer.name = `Wms_Layer_geo`;
    let img_layer = window.Viewer.imageryLayers.addImageryProvider(wmslayer);
    this.layerList.push({ id: 1001011, layerData: img_layer, type: "wmts" });
  },
  getFeatureInfo(html) {
    store.state.details.showDetails = false;
    var start = html.indexOf("<caption class=\"featureInfo\">") + "<caption class=\"featureInfo\">".length;
@@ -400,6 +431,7 @@
        break;
      }
    }
    if (!gindex) return
    var str = html.substr(html.indexOf('<td>'), html.lastIndexOf('</td>') - html.indexOf('<td>') + 5).replaceAll(' ', '').replaceAll('\n', '').split('</td>')
    var gid = parseInt(str[gindex].replaceAll(