1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
| import mapConfig from "./mapConfig";
| var tileset;
| const mapServer = {
| listData: [],
| sourceType: null,
| tileContent: null,
| init() {},
| addServer(res) {
| // this.remoServer(res);
| this.sourceType = res.sourceType;
|
| switch (this.sourceType) {
| case "arcgis":
| this.addArcgisServer(res);
| break;
| case "geoserver":
| this.addGeoServer(res);
| break;
| case "tms":
| this.addTmsLayer(res);
| break;
| case "wfs":
| this.addWfsLayer(res);
| break;
| case "Tileset":
| this.addTileSetLayer(res);
| break;
| }
| },
| remoServer(res) {
| for (var i in this.listData) {
| const obj = this.listData[i];
| if (obj.type == res.sourceType) {
| obj.layer.removeFromMap();
| this.listData.splice(i, 1);
| }
| }
| },
| addTileSetLayer(res) {
| // const model = earthCtrl.factory.create3DTilesets({
| // url: res.url
| // });
| // var model = Viewer.scene.primitives.add(
| // new Cesium.Cesium3DTileset({
| // // url: res.url
| // url:'https://cim.smartearth.cn/SEServer/c3dserver/WhiteBox/tileset.json'
| // })
| // );
| const tileset = new Cesium.Cesium3DTileset({
| url: res.url
| });
| earthCtrl.primitives.add(tileset);
|
|
| this.listData.push({
| layer: tileset,
| type: this.sourceType,
| layerId: res.id
| });
| },
| traverseVisibleTiles() {
| tileset.readyPromise.then((tileset) => {
| tileset.tileVisibility.forEachTile(function (tile) {});
| });
| },
| addWfsLayer(res) {
| const layer = earthCtrl.factory.createWfsLayer("polygon", {
| urls: res.url,
| layer: res.layer,
| outlineColor: res.outlineColor,
| alpha: res.alpha
| });
| this.listData.push({
| layer: layer,
| type: this.sourceType
| });
| },
| addTmsLayer(res) {
| const layer = earthCtrl.factory.createImageryLayer({
| sourceType: "tms",
|
| url: res.url
| });
| this.listData.push({
| layer: layer,
| type: this.sourceType
| });
| },
| addArcgisServer(res) {
| const layer = earthCtrl.factory.createImageryLayer({
| sourceType: "arcgis",
| url: res.url
| });
| this.listData.push({
| layer: layer,
| type: this.sourceType
| });
| },
| addGeoServer(res) {
| const layer = earthCtrl.factory.createWfsLayer("polygon", {
| urls: res.url,
| layer: res.layerF,
| color: "#de3",
| extrudedHeight: 30 // 拉伸高度,无拉伸高度则为贴地面
| });
| this.listData.push({
| layer: layer,
| type: this.sourceType
| });
| }
| };
| export default mapServer;
|
|