suerprisePlus
2024-09-30 703703929e97b94ca1c1c5e35a578e5fe9d4cfea
src/assets/js/mapSdk/mapServe.js
@@ -1,12 +1,14 @@
import mapConfig from './mapConfig';
import mapConfig from './mapConfig.js';
import { zhangzitou_selectAll } from '@/api/mapView/map.js';
import WKT from 'terraformer-wkt-parser';
import store from '@/store';
// 服务加载
const mapServer = {
    serveType: null,
    layerList: [],
    addLayer(res) {
        const obj = this.getLayerChecked(res);
        if (obj) return;
        this.serveType = res.serveType;
@@ -35,7 +37,7 @@
            const cnName = res.cnName + '_' + res.id;
            const modelLayer = new Cesium.PrimitiveCollection();
            modelLayer.name = cnName;
            Viewer.scene.primitives.add(modelLayer);
            window.Viewer.scene.primitives.add(modelLayer);
            pois.map((item) => {
                var geom = WKT.parse(item.geom).coordinates;
                const terrain = config.terrain;
@@ -55,7 +57,7 @@
    },
    addTerrainGLB(item, geom, modelLayer) {
        var positions = [Cesium.Cartographic.fromDegrees(geom[0], geom[1])];
        var promise = Cesium.sampleTerrainMostDetailed(Viewer.terrainProvider, positions);
        var promise = Cesium.sampleTerrainMostDetailed(window.Viewer.terrainProvider, positions);
        promise.then((updatedPositions) => {
            var terrainHeight = updatedPositions[0].height;
            var style = {
@@ -70,7 +72,7 @@
            const url = '/glb/' + item.type + '.glb';
            modelLayer.add(
                Cesium.Model.fromGltf({
                    id: item.id,
                    id: item,
                    url: url,
                    scale: 1,
                    minimumPixelSize: 20,
@@ -94,7 +96,7 @@
        const url = '/glb/' + item.type + '.glb';
        modelLayer.add(
            Cesium.Model.fromGltf({
                id: item.id,
                id: item,
                url: url,
                scale: 1,
                minimumPixelSize: 20,
@@ -107,7 +109,7 @@
    addTdLayer(res) {
        const url = res.url + config.tdToken;
        Viewer.imageryLayers.addImageryProvider(
        window.Viewer.imageryLayers.addImageryProvider(
            new Cesium.UrlTemplateImageryProvider({
                url: url,
            })
@@ -124,7 +126,7 @@
    },
    addWMSLayer(res) {
        const serverUrl = config.geoServer;
        const that = this;
        const that = this;
        var getFeatureInfoFormat = new Cesium.GetFeatureInfoFormat('html', null, function (html) {
            that.getFeatureInfo(html);
        });
@@ -146,7 +148,7 @@
            tileHeight: 512,
        });
        const imageLayer = Viewer.imageryLayers.addImageryProvider(layer);
        const imageLayer = window.Viewer.imageryLayers.addImageryProvider(layer);
        const cnName = res.cnName + '_' + res.id;
        imageLayer.name = cnName;
        imageLayer.id = res.id;
@@ -163,7 +165,7 @@
        if (res.bak) {
            height = JSON.parse(res.bak).height;
        }
        var model = earthCtrl.factory.create3DTilesets({
        var model = window.earthCtrl.factory.create3DTilesets({
            url: url,
            option: {
                height: height,
@@ -188,13 +190,13 @@
        this.layerList.map((item, index) => {
            if (cnName == item.name && res.id == item.id) {
                if (item.serveType == 'WMS') {
                    Viewer.imageryLayers.remove(item.layer);
                    window.Viewer.imageryLayers.remove(item.layer);
                    this.layerList.splice(index, 1);
                } else if (item.serveType == 'Tileset') {
                    item.layer.deleteObject();
                    this.layerList.splice(index, 1);
                } else if (item.serveType == 'WFS') {
                    Viewer.scene.primitives.remove(item.layer);
                    window.Viewer.scene.primitives.remove(item.layer);
                    this.layerList.splice(index, 1);
                }
            }