suerprisePlus
2024-08-05 30e393df7b1d89c4172a7f4bec6e80e2dc00c373
src/assets/js/mapSdk/mapServe.js
@@ -36,10 +36,37 @@
           modelLayer.name = cnName;
            Viewer.scene.primitives.add(modelLayer);
            pois.map((item) => {
                var geom = WKT.parse(item.geom);
                var geom = WKT.parse(item.geom).coordinates;
                const terrain = config.terrain;
                if (terrain.isShow && terrain.isUrl) {
                    this.addTerrainGLB(geom);
                } else {
                    this.addGLB(item, geom, modelLayer);
                }
            });
            this.layerList.push({
                id: res.id,
                name: cnName,
                layer: modelLayer,
                serveType: this.serveType,
            });
        });
    },
    addTerrainGLB(geom) {
        var positions = [Cesium.Cartographic.fromDegrees(geom[0], geom[1])];
        var promise = Cesium.sampleTerrainMostDetailed(Viewer.terrainProvider, positions);
        promise.then(updatedPositions => {
            console.log(updatedPositions);
        })
        // SmartEarth.Cesium.when(promise, (updatedPositions) => {
        //     var terrainHeight = updatedPositions[0].height;
        //     console.log(terrainHeight);
        // });
    },
    addGLB(item, geom, modelLayer) {
                var style = {
                    longitude: geom.coordinates[0],
                    latitude: geom.coordinates[1],
            longitude: geom[0],
            latitude: geom[1],
                    altitude: 0,
                    heading: 0,
                    pitch: 0,
@@ -58,14 +85,6 @@
                        primitive: item,
                    })
                );
            });
            this.layerList.push({
                id: res.id,
                name: cnName,
                layer: modelLayer,
                serveType: this.serveType,
            });
        });
    },
    addTdLayer(res) {
@@ -156,7 +175,7 @@
                    item.layer.deleteObject();
                    this.layerList.splice(index, 1);
                }else if (item.serveType == 'WFS') {
                    Viewer.scene.primitives.remove(item.layer)
                    Viewer.scene.primitives.remove(item.layer);
                    this.layerList.splice(index, 1);
                }
            }