| | |
| | | bigPopup: { |
| | | width: 0, |
| | | height: 0, |
| | | // transition: "all 3s", |
| | | }, |
| | | // transition: "all 3s", |
| | | wallArr: [ |
| | | [116.41526036, 27.95352217, 100], |
| | | [116.41128018, 27.95789328, 100], |
| | | [116.40246486, 27.9639711, 100], |
| | | [116.39728537, 27.96779573, 100], |
| | | [116.39588026, 27.96862679, 100], |
| | | [116.38903705, 27.97029865, 100], |
| | | [116.38872398, 27.97051829, 100], |
| | | [116.38892229, 27.9709012, 100], |
| | | [116.38906721, 27.97190632, 100], |
| | | [116.38706808, 27.97195638, 100], |
| | | [116.38649076, 27.97114448, 100], |
| | | [116.3821407, 27.97312735, 100], |
| | | [116.37876213, 27.97582549, 100], |
| | | [116.3785131, 27.97664153, 100], |
| | | [116.37634915, 27.98039526, 100], |
| | | [116.3743922, 27.98131916, 100], |
| | | [116.36995935, 27.97936074, 100], |
| | | [116.37217247, 27.97498147, 100], |
| | | [116.35099819, 27.97539586, 100], |
| | | [116.35103749, 27.9808805, 100], |
| | | [116.3397246, 27.97987911, 100], |
| | | [116.33950071, 27.97372028, 100], |
| | | [116.32313266, 27.97004136, 100], |
| | | [116.32606743, 27.95863979, 100], |
| | | [116.34788837, 27.92538024, 100], |
| | | [116.3456631, 27.92338627, 100], |
| | | [116.3487449, 27.91718915, 100], |
| | | [116.35311999, 27.91804451, 100], |
| | | [116.35109257, 27.92284807, 100], |
| | | [116.35975153, 27.92900526, 100], |
| | | [116.35660704, 27.93816236, 100], |
| | | [116.39585177, 27.93945304, 100], |
| | | [116.41526036, 27.95352217, 100], |
| | | ], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }); |
| | | |
| | | // 地图点击事件 |
| | | viewer.on(DC.MouseEventType.CLICK, (e) => { |
| | | // console.log(e); |
| | | // 定制化窗体 |
| | | that.openPopupS( |
| | | e.position, |
| | | [e.wgs84SurfacePosition.lng, e.wgs84SurfacePosition.lat], |
| | | { |
| | | name: "地图点击", |
| | | address: [e.wgs84SurfacePosition.lng, e.wgs84SurfacePosition.lat], |
| | | introduce: [e.windowPosition.x, e.windowPosition.y], |
| | | from: "地图点击", |
| | | } |
| | | ); |
| | | }); |
| | | // viewer.on(DC.MouseEventType.CLICK, (e) => { |
| | | // // console.log(e); |
| | | // // 定制化窗体 |
| | | // that.openPopupS( |
| | | // e.position, |
| | | // [e.wgs84SurfacePosition.lng, e.wgs84SurfacePosition.lat], |
| | | // { |
| | | // name: "地图点击", |
| | | // address: [e.wgs84SurfacePosition.lng, e.wgs84SurfacePosition.lat], |
| | | // introduce: [e.windowPosition.x, e.windowPosition.y], |
| | | // from: "地图点击", |
| | | // } |
| | | // ); |
| | | // }); |
| | | |
| | | //白模型↓ |
| | | // const layer = new DC.TilesetLayer("layer"); |
| | |
| | | ); |
| | | tilesetLayer.addOverlay(tileset); |
| | | // tilesetLayer.show = false; |
| | | |
| | | let silhouetteBlue = |
| | | that.DC.Namespace.Cesium.PostProcessStageLibrary.createEdgeDetectionStage(); |
| | | silhouetteBlue.uniforms.color = that.DC.Namespace.Cesium.Color.fromBytes( |
| | | 9, |
| | | 162, |
| | | 40 |
| | | ); |
| | | silhouetteBlue.uniforms.length = 0.01; |
| | | silhouetteBlue.selected = []; |
| | | |
| | | viewer.scene.postProcessStages.add( |
| | | that.DC.Namespace.Cesium.PostProcessStageLibrary.createSilhouetteStage([ |
| | | silhouetteBlue, |
| | | ]) |
| | | ); |
| | | |
| | | var highlighted = { |
| | | feature: undefined, |
| | | originalColor: new that.DC.Namespace.Cesium.Color(), |
| | | }; |
| | | |
| | | var selected = { |
| | | feature: undefined, |
| | | originalColor: new that.DC.Namespace.Cesium.Color(), |
| | | }; |
| | | //点击事件 |
| | | tileset.on(DC.MouseEventType.CLICK, (e) => { |
| | | viewer.scene.globe.depthTestAgainstTerrain = false; |
| | | // console.log(e); |
| | | |
| | | viewer.flyToPosition( |
| | | new that.DC.Position(115.87186406, 28.74449337, 1800, 0, 45, 0) |
| | | ); |
| | | |
| | | // 定制化窗体 |
| | | that.openPopupS( |
| | | e.position, |
| | | [e.wgs84Position.lng, e.wgs84Position.lat], |
| | | { |
| | | name: e.layer._bid, |
| | | address: e.layer.type, |
| | | introduce: e.layer._id, |
| | | } |
| | | ); |
| | | }); |
| | | //移动事件 高亮 |
| | | tileset.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => { |
| | | silhouetteBlue.selected = []; |
| | | |
| | | if (that.DC.Namespace.Cesium.defined(highlighted.feature)) { |
| | | highlighted.feature.color = highlighted.originalColor; |
| | | highlighted.feature = undefined; |
| | | } |
| | | |
| | | if (e.feature !== selected.feature) { |
| | | silhouetteBlue.selected = [e.feature]; |
| | | |
| | | highlighted.feature = e.feature; |
| | | |
| | | that.DC.Namespace.Cesium.Color.clone( |
| | | e.feature.color, |
| | | highlighted.originalColor |
| | | ); |
| | | e.feature.color = that.DC.Namespace.Cesium.Color.fromBytes( |
| | | 155, |
| | | 255, |
| | | 175 |
| | | ); |
| | | } |
| | | }); |
| | | tilesetLayer["changesilhouetteBlue"] = () => { |
| | | silhouetteBlue.selected = []; |
| | | }; |
| | | tilesetLayer.show = false; |
| | | //精细模型↑ |
| | | |
| | | // 2.5D贴图↓ |
| | | var provider = |
| | | new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | url: "http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}", |
| | | layer: "fzsw2019", |
| | | style: "default", |
| | | tileMatrixSetID: "default028mm", |
| | | format: "image/jpgpng", |
| | | tilingScheme: new that.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | maximumLevel: 19, |
| | | tileMatrixLabels: [ |
| | | "0", |
| | | "1", |
| | | "2", |
| | | "3", |
| | | "4", |
| | | "5", |
| | | "6", |
| | | "7", |
| | | "8", |
| | | "9", |
| | | "10", |
| | | "11", |
| | | "12", |
| | | "13", |
| | | "14", |
| | | "15", |
| | | "16", |
| | | "17", |
| | | "18", |
| | | "19", |
| | | ], |
| | | }); |
| | | let usetowpointfive = () => { |
| | | var provider = |
| | | new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | url: "http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}", |
| | | layer: "fzsw2019", |
| | | style: "default", |
| | | tileMatrixSetID: "default028mm", |
| | | format: "image/jpgpng", |
| | | tilingScheme: new that.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | maximumLevel: 19, |
| | | tileMatrixLabels: [ |
| | | "0", |
| | | "1", |
| | | "2", |
| | | "3", |
| | | "4", |
| | | "5", |
| | | "6", |
| | | "7", |
| | | "8", |
| | | "9", |
| | | "10", |
| | | "11", |
| | | "12", |
| | | "13", |
| | | "14", |
| | | "15", |
| | | "16", |
| | | "17", |
| | | "18", |
| | | "19", |
| | | ], |
| | | }); |
| | | return viewer.imageryLayers.addImageryProvider(provider); |
| | | }; |
| | | |
| | | viewer.imageryLayers.addImageryProvider(provider); |
| | | const newLayer = usetowpointfive(); |
| | | // 2.5D贴图↑ |
| | | let startPoint; |
| | | if (false) { |
| | |
| | | // viewer.flyTo(tileset); |
| | | }, 2500); |
| | | } else { |
| | | startPoint = () => { |
| | | startPoint = (val) => { |
| | | // viewer.zoomToPosition( |
| | | // new DC.Position(115.86798885, 28.72502592, 2100, 0, -45) |
| | | // ); |
| | | viewer.camera.setView({ |
| | | // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 |
| | | // fromDegrees()方法,将经纬度和高程转换为世界坐标 |
| | | destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | | 116.390060025, |
| | | 27.95649473, |
| | | 2000.0 |
| | | ), |
| | | orientation: { |
| | | // 指向 |
| | | heading: that.DC.Namespace.Cesium.Math.toRadians( |
| | | that.dimensionData.heading |
| | | ), |
| | | // 视角 |
| | | pitch: that.DC.Namespace.Cesium.Math.toRadians( |
| | | that.dimensionData.pitch |
| | | ), |
| | | roll: that.dimensionData.roll, |
| | | }, |
| | | }); |
| | | let doit = (int) => { |
| | | if (val == 1) { |
| | | viewer.camera.setView({ |
| | | // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 |
| | | // fromDegrees()方法,将经纬度和高程转换为世界坐标 |
| | | destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | | // 116.390060025, |
| | | // 27.95649473, |
| | | // 2000.0 |
| | | int[0], |
| | | int[1], |
| | | int[2] |
| | | ), |
| | | orientation: { |
| | | // 指向 |
| | | heading: that.DC.Namespace.Cesium.Math.toRadians( |
| | | that.dimensionData.heading |
| | | ), |
| | | // 视角 |
| | | pitch: that.DC.Namespace.Cesium.Math.toRadians( |
| | | that.dimensionData.pitch |
| | | ), |
| | | roll: that.dimensionData.roll, |
| | | }, |
| | | }); |
| | | } else { |
| | | that.$store.dispatch("mapFlyTo", { |
| | | lntLat: [+int[0] + 0.012, int[1], int[2]], |
| | | // 指向 |
| | | heading: that.dimensionData.heading, |
| | | // 视角 |
| | | pitch: that.dimensionData.pitch, |
| | | roll: that.dimensionData.roll, |
| | | noOpen: true, |
| | | }); |
| | | } |
| | | }; |
| | | that.dimension == "2.5D" |
| | | ? doit([116.390060025, 27.95649473, 2000.0]) |
| | | : doit([117.08513731, 31.64790556, 600.0]); |
| | | }; |
| | | startPoint(); |
| | | startPoint(1); |
| | | } |
| | | //传递默认位置 |
| | | that.$store.commit("MSET_MORENWEIZHI", startPoint); |
| | |
| | | //瀑布流↓ |
| | | const wallLayer = new that.DC.VectorLayer("wallLayer"); |
| | | viewer.addLayer(wallLayer); |
| | | var arr = [ |
| | | [115.87597219, 28.74628526, 100], |
| | | [115.87556558, 28.74415792, 100], |
| | | [115.87459782, 28.74197687, 100], |
| | | [115.87371834, 28.74219927, 100], |
| | | [115.87210924, 28.74182217, 100], |
| | | [115.86469971, 28.73630725, 100], |
| | | [115.86387107, 28.73620123, 100], |
| | | [115.86274498, 28.73616026, 100], |
| | | [115.86173699, 28.7424135, 100], |
| | | [115.86105468, 28.74643934, 100], |
| | | [115.8660924, 28.74642593, 100], |
| | | [115.87597219, 28.74628526, 100], |
| | | ]; |
| | | var arr = that.wallArr; |
| | | arr.forEach((item) => { |
| | | item = item.join(","); |
| | | }); |
| | |
| | | viewer.use(new that.DC.Measure()); |
| | | //瀑布流↑ |
| | | |
| | | // 传入store |
| | | that.$store.commit("MSET_MODEOLS", { |
| | | tilesetLayer: tilesetLayer, |
| | | tileset: tileset, |
| | | newLayer: newLayer, |
| | | wallLayer: wallLayer, |
| | | usetowpointfive: usetowpointfive, |
| | | }); |
| | | |
| | | //飞入起始点 |
| | | // that.$store.dispatch("mapFlyTo", { |
| | | // lntLat: [115.87186406, 28.74449337, 1200], |
| | |
| | | // }); |
| | | //地图渲染完成执行srore中MSET_CREADE |
| | | // that.$store.dispatch("MSET_CREADE"); |
| | | |
| | | // tileset.on(DC.MouseEventType.CLICK, (e) => { |
| | | // viewer.scene.globe.depthTestAgainstTerrain = false; |
| | | // // console.log(e); |
| | | |
| | | // viewer.flyToPosition( |
| | | // new that.DC.Position(115.87186406, 28.74449337, 1800, 0, 45, 0) |
| | | // ); |
| | | |
| | | // // 定制化窗体 |
| | | // that.openPopupS( |
| | | // e.position, |
| | | // [e.wgs84Position.lng, e.wgs84Position.lat], |
| | | // { |
| | | // name: e.layer._bid, |
| | | // address: e.layer.type, |
| | | // introduce: e.layer._id, |
| | | // } |
| | | // ); |
| | | // }); |
| | | |
| | | viewer.compass.enable = false; |
| | | viewer.zoomController.enable = true; |