| | |
| | | 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, |
| | |
| | | primitive: item, |
| | | }) |
| | | ); |
| | | }); |
| | | this.layerList.push({ |
| | | id: res.id, |
| | | name: cnName, |
| | | layer: modelLayer, |
| | | serveType: this.serveType, |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | addTdLayer(res) { |
| | |
| | | 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); |
| | | } |
| | | } |