@kq_npm/client3d_webgl_vue 3.4.2-beta → 3.4.4-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adddata/index.js +26 -8
- package/index.js +351 -221
- package/package.json +1 -1
- package/scenceview/index.js +351 -221
package/scenceview/index.js
CHANGED
|
@@ -230,7 +230,8 @@ class AddDataViewModel {
|
|
|
230
230
|
serverType: "datasource",
|
|
231
231
|
lsType: "ls",
|
|
232
232
|
url: res,
|
|
233
|
-
addType: "geojson"
|
|
233
|
+
addType: "geojson",
|
|
234
|
+
shapeType: that._layerManager.getShapeType(ds)
|
|
234
235
|
};
|
|
235
236
|
|
|
236
237
|
that._layerManager.addTempLayerNode(layer);
|
|
@@ -272,7 +273,8 @@ class AddDataViewModel {
|
|
|
272
273
|
serverType: "datasource",
|
|
273
274
|
lsType: "ls",
|
|
274
275
|
url: res,
|
|
275
|
-
addType: "geojson"
|
|
276
|
+
addType: "geojson",
|
|
277
|
+
shapeType: that._layerManager.getShapeType(ds)
|
|
276
278
|
};
|
|
277
279
|
|
|
278
280
|
that._layerManager.addTempLayerNode(layer);
|
|
@@ -335,7 +337,8 @@ class AddDataViewModel {
|
|
|
335
337
|
serverType: "datasource",
|
|
336
338
|
lsType: "ls",
|
|
337
339
|
url: ret,
|
|
338
|
-
addType: "geojson"
|
|
340
|
+
addType: "geojson",
|
|
341
|
+
shapeType: that._layerManager.getShapeType(ds)
|
|
339
342
|
};
|
|
340
343
|
|
|
341
344
|
that._layerManager.addTempLayerNode(layer);
|
|
@@ -727,7 +730,9 @@ class AddDataViewModel {
|
|
|
727
730
|
lsType: "ls",
|
|
728
731
|
url: url,
|
|
729
732
|
addType: type,
|
|
730
|
-
layerName: name
|
|
733
|
+
layerName: name,
|
|
734
|
+
type: "Image" // 图层树显示图标使用
|
|
735
|
+
|
|
731
736
|
};
|
|
732
737
|
|
|
733
738
|
this._layerManager.addTempLayerNode(node);
|
|
@@ -834,7 +839,9 @@ class AddDataViewModel {
|
|
|
834
839
|
serverType: "imagerylayer",
|
|
835
840
|
lsType: "ls",
|
|
836
841
|
url: url,
|
|
837
|
-
addType: type
|
|
842
|
+
addType: type,
|
|
843
|
+
renderType: "vectortile" // 图层树显示图标使用
|
|
844
|
+
|
|
838
845
|
};
|
|
839
846
|
|
|
840
847
|
this._layerManager.addTempLayerNode(node);
|
|
@@ -848,7 +855,9 @@ class AddDataViewModel {
|
|
|
848
855
|
guid: group.guid,
|
|
849
856
|
name: name || "wms",
|
|
850
857
|
children: [],
|
|
851
|
-
lsType: "ls"
|
|
858
|
+
lsType: "ls",
|
|
859
|
+
serverType: 'ogcwms' //图层树显示图标使用
|
|
860
|
+
|
|
852
861
|
};
|
|
853
862
|
var layers = group._addedLayers || group._layers;
|
|
854
863
|
|
|
@@ -880,12 +889,20 @@ class AddDataViewModel {
|
|
|
880
889
|
case "wmts":
|
|
881
890
|
case "kqgistileserver":
|
|
882
891
|
this._viewer.addWMTSLayerGroup(url).then(group => {
|
|
892
|
+
var defaultName = 'wmts';
|
|
893
|
+
if (type === "kqgistileserver") defaultName = 'tile';
|
|
883
894
|
node = {
|
|
884
895
|
guid: group.guid,
|
|
885
|
-
name: name ||
|
|
896
|
+
name: name || defaultName,
|
|
886
897
|
children: [],
|
|
887
898
|
lsType: "ls"
|
|
888
899
|
};
|
|
900
|
+
|
|
901
|
+
if (type === "wmts") {
|
|
902
|
+
//图层树显示图标使用
|
|
903
|
+
node.serverType = "ogcwmts";
|
|
904
|
+
}
|
|
905
|
+
|
|
889
906
|
var layers = group._addedLayers || group._layers;
|
|
890
907
|
|
|
891
908
|
if (layers) {
|
|
@@ -971,7 +988,8 @@ class AddDataViewModel {
|
|
|
971
988
|
serverType: "datasource",
|
|
972
989
|
lsType: "ls",
|
|
973
990
|
url: url,
|
|
974
|
-
addType: type
|
|
991
|
+
addType: type,
|
|
992
|
+
shapeType: this._layerManager.getShapeType(ds)
|
|
975
993
|
};
|
|
976
994
|
|
|
977
995
|
this._layerManager.addTempLayerNode(node);
|
|
@@ -26545,9 +26563,14 @@ class LayerManager {
|
|
|
26545
26563
|
});
|
|
26546
26564
|
this._promises = [];
|
|
26547
26565
|
Promise.all(sourcePromises).then(() => {
|
|
26548
|
-
layer.layerTreeData.forEach(data => {
|
|
26549
|
-
|
|
26550
|
-
}, this);
|
|
26566
|
+
// layer.layerTreeData.forEach(data => {
|
|
26567
|
+
// this.setLayerInfo(data, layer.sources);
|
|
26568
|
+
// }, this);
|
|
26569
|
+
//倒序加载图层
|
|
26570
|
+
for (let i = layer.layerTreeData.length - 1; i >= 0; i--) {
|
|
26571
|
+
this.setLayerInfo(layer.layerTreeData[i], layer.sources);
|
|
26572
|
+
}
|
|
26573
|
+
|
|
26551
26574
|
Promise.all(this._promises).then(() => {
|
|
26552
26575
|
this._layerTreeData = layer.layerTreeData;
|
|
26553
26576
|
|
|
@@ -26573,10 +26596,14 @@ class LayerManager {
|
|
|
26573
26596
|
|
|
26574
26597
|
setLayerInfo(layerData, sources) {
|
|
26575
26598
|
if (layerData.children) {
|
|
26576
|
-
layerData.guid = Cesium.createGuid();
|
|
26577
|
-
|
|
26578
|
-
|
|
26579
|
-
|
|
26599
|
+
layerData.guid = Cesium.createGuid(); // layerData.children.forEach(child => {
|
|
26600
|
+
// this.setLayerInfo(child, sources);
|
|
26601
|
+
// }, this);
|
|
26602
|
+
//倒序加载子图层
|
|
26603
|
+
|
|
26604
|
+
for (let i = layerData.children.length - 1; i >= 0; i--) {
|
|
26605
|
+
this.setLayerInfo(layerData.children[i], sources);
|
|
26606
|
+
}
|
|
26580
26607
|
} else {
|
|
26581
26608
|
if (layerData.sourceName) {
|
|
26582
26609
|
var source = sources.find(item => {
|
|
@@ -26614,18 +26641,20 @@ class LayerManager {
|
|
|
26614
26641
|
type = "kqgisimageserver";
|
|
26615
26642
|
} else if (layerData.sourceType === "kq3dserver") {
|
|
26616
26643
|
type = "kqgis3dserver";
|
|
26644
|
+
} else if (layerData.sourceType === "mvt") {
|
|
26645
|
+
type = "mvt";
|
|
26617
26646
|
}
|
|
26618
26647
|
|
|
26619
26648
|
layerData.addType = type;
|
|
26620
26649
|
|
|
26621
|
-
this._layerListData.push(layerData);
|
|
26650
|
+
this._layerListData.push(layerData); //是否添加图层
|
|
26622
26651
|
|
|
26623
|
-
if (!this._scenceShowLayers || this._scenceShowLayers.indexOf(layerData.name) > -1) {
|
|
26624
|
-
var promise = this.addLayerData(layerData);
|
|
26625
26652
|
|
|
26626
|
-
|
|
26627
|
-
|
|
26628
|
-
|
|
26653
|
+
let isAdd = !this._scenceShowLayers || this._scenceShowLayers.indexOf(layerData.name) > -1;
|
|
26654
|
+
var promise = this.addLayerData(layerData, isAdd);
|
|
26655
|
+
|
|
26656
|
+
if (promise) {
|
|
26657
|
+
this._promises.push(promise);
|
|
26629
26658
|
}
|
|
26630
26659
|
}
|
|
26631
26660
|
}
|
|
@@ -26633,7 +26662,7 @@ class LayerManager {
|
|
|
26633
26662
|
} //添加图层数据
|
|
26634
26663
|
|
|
26635
26664
|
|
|
26636
|
-
addLayerData(layerData) {
|
|
26665
|
+
addLayerData(layerData, isAdd = true) {
|
|
26637
26666
|
var type = layerData.addType;
|
|
26638
26667
|
let url = layerData.url;
|
|
26639
26668
|
type = type || "";
|
|
@@ -26658,6 +26687,10 @@ class LayerManager {
|
|
|
26658
26687
|
}
|
|
26659
26688
|
}
|
|
26660
26689
|
}
|
|
26690
|
+
} else {
|
|
26691
|
+
if (!name || name === "") {
|
|
26692
|
+
name = layerData.layerType;
|
|
26693
|
+
}
|
|
26661
26694
|
}
|
|
26662
26695
|
|
|
26663
26696
|
layerData.name = name;
|
|
@@ -26667,65 +26700,80 @@ class LayerManager {
|
|
|
26667
26700
|
switch (type) {
|
|
26668
26701
|
case 'kq3dimageryfile':
|
|
26669
26702
|
//影像瓦片文件
|
|
26670
|
-
|
|
26671
|
-
name: name,
|
|
26672
|
-
url: url,
|
|
26673
|
-
...params
|
|
26674
|
-
}));
|
|
26675
|
-
layer._guid = layerData.guid;
|
|
26676
|
-
layerData.visible = true;
|
|
26703
|
+
layerData.visible = isAdd;
|
|
26677
26704
|
layerData.serverType = "imagerylayer";
|
|
26705
|
+
|
|
26706
|
+
if (isAdd) {
|
|
26707
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dFileImageryProvider({
|
|
26708
|
+
name: name,
|
|
26709
|
+
url: url,
|
|
26710
|
+
...params
|
|
26711
|
+
}));
|
|
26712
|
+
layer._guid = layerData.guid;
|
|
26713
|
+
}
|
|
26714
|
+
|
|
26678
26715
|
break;
|
|
26679
26716
|
|
|
26680
26717
|
case 'obterrain':
|
|
26681
26718
|
//ob地形瓦片文件
|
|
26682
|
-
|
|
26683
|
-
name: name,
|
|
26684
|
-
url: url,
|
|
26685
|
-
...params
|
|
26686
|
-
});
|
|
26687
|
-
layer.guid = layerData.guid;
|
|
26688
|
-
layerData.visible = true;
|
|
26719
|
+
layerData.visible = isAdd;
|
|
26689
26720
|
layerData.serverType = "terrainprovider";
|
|
26690
|
-
this._viewer.terrainProvider = layer;
|
|
26691
26721
|
|
|
26692
|
-
|
|
26722
|
+
if (isAdd) {
|
|
26723
|
+
layer = new Cesium.Kq3dFileTerrainProvider({
|
|
26724
|
+
name: name,
|
|
26725
|
+
url: url,
|
|
26726
|
+
...params
|
|
26727
|
+
});
|
|
26728
|
+
layer.guid = layerData.guid;
|
|
26729
|
+
this._viewer.terrainProvider = layer;
|
|
26730
|
+
|
|
26731
|
+
this._terrainProviders.push(layer);
|
|
26732
|
+
}
|
|
26693
26733
|
|
|
26694
26734
|
break;
|
|
26695
26735
|
|
|
26696
26736
|
case 'stkterrain':
|
|
26697
26737
|
//stk地形瓦片文件
|
|
26698
|
-
|
|
26699
|
-
|
|
26700
|
-
url: url,
|
|
26701
|
-
requestVertexNormals: true,
|
|
26702
|
-
requestWaterMask: false,
|
|
26703
|
-
...params
|
|
26704
|
-
});
|
|
26705
|
-
layer.guid = layerData.guid;
|
|
26706
|
-
this._viewer.terrainProvider = layer;
|
|
26738
|
+
layerData.visible = isAdd;
|
|
26739
|
+
layerData.serverType = "terrainprovider";
|
|
26707
26740
|
|
|
26708
|
-
|
|
26741
|
+
if (isAdd) {
|
|
26742
|
+
layer = new Cesium.CesiumTerrainProvider({
|
|
26743
|
+
name: name,
|
|
26744
|
+
url: url,
|
|
26745
|
+
requestVertexNormals: true,
|
|
26746
|
+
requestWaterMask: false,
|
|
26747
|
+
...params
|
|
26748
|
+
});
|
|
26749
|
+
layer.guid = layerData.guid;
|
|
26750
|
+
this._viewer.terrainProvider = layer;
|
|
26751
|
+
|
|
26752
|
+
this._terrainProviders.push(layer);
|
|
26753
|
+
}
|
|
26709
26754
|
|
|
26710
|
-
layerData.visible = true;
|
|
26711
|
-
layerData.serverType = "terrainprovider";
|
|
26712
26755
|
break;
|
|
26713
26756
|
|
|
26714
26757
|
case "3dtiles":
|
|
26715
|
-
|
|
26716
|
-
name: name,
|
|
26717
|
-
url: url,
|
|
26718
|
-
...params
|
|
26719
|
-
}));
|
|
26720
|
-
if (layerData.style && layer) layer.style = layerData.style;
|
|
26721
|
-
if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
|
|
26722
|
-
layer._guid = layerData.guid;
|
|
26723
|
-
layerData.visible = true;
|
|
26758
|
+
layerData.visible = isAdd;
|
|
26724
26759
|
layerData.serverType = "3dtiles";
|
|
26760
|
+
|
|
26761
|
+
if (isAdd) {
|
|
26762
|
+
layer = this._viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
|
|
26763
|
+
name: name,
|
|
26764
|
+
url: url,
|
|
26765
|
+
...params
|
|
26766
|
+
}));
|
|
26767
|
+
if (layerData.style && layer) layer.style = layerData.style;
|
|
26768
|
+
if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
|
|
26769
|
+
layer._guid = layerData.guid;
|
|
26770
|
+
}
|
|
26771
|
+
|
|
26725
26772
|
break;
|
|
26726
26773
|
|
|
26727
26774
|
case "kqgis3dserver":
|
|
26728
26775
|
var that = this;
|
|
26776
|
+
layerData.visible = isAdd;
|
|
26729
26777
|
promise = this._viewer.addKq3dServerLayerGroupExt(url).then(group => {
|
|
26730
26778
|
var layers = group._addedLayers || group._layers;
|
|
26731
26779
|
|
|
@@ -26735,34 +26783,48 @@ class LayerManager {
|
|
|
26735
26783
|
|
|
26736
26784
|
if (layer instanceof Cesium.Cesium3DTileset) {
|
|
26737
26785
|
serverType = "3dtiles";
|
|
26786
|
+
layer.show = isAdd;
|
|
26738
26787
|
} else if (layer instanceof Cesium.ImageryLayer) {
|
|
26739
26788
|
serverType = "imagerylayer";
|
|
26789
|
+
layer.show = isAdd;
|
|
26740
26790
|
} else if (layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
|
|
26741
26791
|
serverType = "terrainprovider";
|
|
26742
26792
|
layer.guid = layerData.guid;
|
|
26743
26793
|
|
|
26744
26794
|
that._terrainProviders.push(layer);
|
|
26795
|
+
|
|
26796
|
+
if (!isAdd) {
|
|
26797
|
+
layer.readyPromise.then(() => {
|
|
26798
|
+
that._viewer.terrainProvider = that._emptyTerrainProvider;
|
|
26799
|
+
});
|
|
26800
|
+
}
|
|
26745
26801
|
} else if (layer instanceof Cesium.Kq3dGeoJsonDataSource) {
|
|
26746
26802
|
serverType = "datasource";
|
|
26803
|
+
layer.show = isAdd;
|
|
26804
|
+
layerData.shapeType = that.getShapeType(layer);
|
|
26747
26805
|
}
|
|
26748
26806
|
|
|
26749
26807
|
layer._guid = layerData.guid;
|
|
26750
|
-
layerData.visible = true;
|
|
26751
26808
|
layerData.serverType = serverType;
|
|
26752
26809
|
}
|
|
26753
26810
|
});
|
|
26754
26811
|
break;
|
|
26755
26812
|
|
|
26756
26813
|
case "kqgisimageserver":
|
|
26757
|
-
|
|
26758
|
-
name: name,
|
|
26759
|
-
url: url,
|
|
26760
|
-
layerName: layerData.layerName,
|
|
26761
|
-
...params
|
|
26762
|
-
}));
|
|
26763
|
-
layer._guid = layerData.guid;
|
|
26764
|
-
layerData.visible = true;
|
|
26814
|
+
layerData.visible = isAdd;
|
|
26765
26815
|
layerData.serverType = "imagerylayer";
|
|
26816
|
+
layerData.type = "Image"; // 图层树显示图标使用
|
|
26817
|
+
|
|
26818
|
+
if (isAdd) {
|
|
26819
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dKQGISServerImageryProviderExt({
|
|
26820
|
+
name: name,
|
|
26821
|
+
url: url,
|
|
26822
|
+
layerName: layerData.layerName,
|
|
26823
|
+
...params
|
|
26824
|
+
}));
|
|
26825
|
+
layer._guid = layerData.guid;
|
|
26826
|
+
}
|
|
26827
|
+
|
|
26766
26828
|
break;
|
|
26767
26829
|
|
|
26768
26830
|
case "kqgismapserver":
|
|
@@ -26780,125 +26842,145 @@ class LayerManager {
|
|
|
26780
26842
|
}
|
|
26781
26843
|
}
|
|
26782
26844
|
|
|
26783
|
-
layerData.visible =
|
|
26784
|
-
|
|
26785
|
-
|
|
26786
|
-
|
|
26787
|
-
|
|
26788
|
-
|
|
26789
|
-
|
|
26790
|
-
|
|
26845
|
+
layerData.visible = isAdd;
|
|
26846
|
+
layerData.serverType = "imagerylayer";
|
|
26847
|
+
|
|
26848
|
+
if (isAdd) {
|
|
26849
|
+
var imageryProvider = new Cesium.Kq3dKQGISMapServerImageryProviderExt({
|
|
26850
|
+
url: url,
|
|
26851
|
+
ua_token: layerData.token,
|
|
26852
|
+
layers: layerData.id + "",
|
|
26853
|
+
...params
|
|
26854
|
+
});
|
|
26855
|
+
layer = new Cesium.ImageryLayer(imageryProvider);
|
|
26791
26856
|
|
|
26792
|
-
|
|
26857
|
+
this._viewer.imageryLayers.add(layer);
|
|
26858
|
+
|
|
26859
|
+
layer._guid = layerData.guid;
|
|
26860
|
+
}
|
|
26793
26861
|
|
|
26794
|
-
layer._guid = layerData.guid;
|
|
26795
|
-
layerData.serverType = "imagerylayer";
|
|
26796
26862
|
break;
|
|
26797
26863
|
|
|
26798
26864
|
case "arcgismapserver":
|
|
26799
|
-
|
|
26800
|
-
name: name,
|
|
26801
|
-
url: url,
|
|
26802
|
-
layers: layerData.id + "",
|
|
26803
|
-
...params
|
|
26804
|
-
}));
|
|
26805
|
-
layer._guid = layerData.guid;
|
|
26806
|
-
layerData.visible = true;
|
|
26865
|
+
layerData.visible = isAdd;
|
|
26807
26866
|
layerData.serverType = "imagerylayer";
|
|
26867
|
+
|
|
26868
|
+
if (isAdd) {
|
|
26869
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dArcGISMapServerImageryProvider({
|
|
26870
|
+
name: name,
|
|
26871
|
+
url: url,
|
|
26872
|
+
layers: layerData.id + "",
|
|
26873
|
+
...params
|
|
26874
|
+
}));
|
|
26875
|
+
layer._guid = layerData.guid;
|
|
26876
|
+
}
|
|
26877
|
+
|
|
26808
26878
|
break;
|
|
26809
26879
|
|
|
26810
26880
|
case "mvt":
|
|
26811
|
-
|
|
26812
|
-
name: name,
|
|
26813
|
-
url: url,
|
|
26814
|
-
...params
|
|
26815
|
-
}));
|
|
26816
|
-
layer._guid = layerData.guid;
|
|
26817
|
-
layerData.visible = true;
|
|
26881
|
+
layerData.visible = isAdd;
|
|
26818
26882
|
layerData.serverType = "imagerylayer";
|
|
26883
|
+
layerData.renderType = "vectortile"; // 图层树显示图标使用
|
|
26884
|
+
|
|
26885
|
+
if (isAdd) {
|
|
26886
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
|
|
26887
|
+
name: name,
|
|
26888
|
+
style: url,
|
|
26889
|
+
...params
|
|
26890
|
+
}));
|
|
26891
|
+
layer._guid = layerData.guid;
|
|
26892
|
+
}
|
|
26893
|
+
|
|
26819
26894
|
break;
|
|
26820
26895
|
|
|
26821
26896
|
case "wms":
|
|
26822
26897
|
//配置id时只能是单个图层
|
|
26823
26898
|
if (layerData.rect84) {
|
|
26824
|
-
|
|
26825
|
-
url: url,
|
|
26826
|
-
layers: layerData.id + "",
|
|
26827
|
-
tilingScheme: layerData.epsg == 3857 ? new Cesium.WebMercatorTilingScheme() : new Cesium.GeographicTilingScheme(),
|
|
26828
|
-
rectangle: Cesium.Rectangle.fromDegrees(layerData.rect84[0], layerData.rect84[1], layerData.rect84[2], layerData.rect84[3]),
|
|
26829
|
-
parameters: {
|
|
26830
|
-
transparent: 'true',
|
|
26831
|
-
format: 'image/png'
|
|
26832
|
-
},
|
|
26833
|
-
...params
|
|
26834
|
-
};
|
|
26835
|
-
if (layerData.styles) options.parameters.styles = layerData.styles;
|
|
26836
|
-
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
|
|
26837
|
-
layer._guid = layerData.guid;
|
|
26838
|
-
layerData.visible = true;
|
|
26899
|
+
layerData.visible = isAdd;
|
|
26839
26900
|
layerData.serverType = "imagerylayer";
|
|
26840
|
-
} else {
|
|
26841
|
-
promise = this._viewer.addWMSLayerGroup(url, {
|
|
26842
|
-
layers: layerData.id + ""
|
|
26843
|
-
}).then(group => {
|
|
26844
|
-
var layers = group._addedLayers || group._layers;
|
|
26845
26901
|
|
|
26846
|
-
|
|
26847
|
-
|
|
26848
|
-
|
|
26849
|
-
|
|
26850
|
-
|
|
26851
|
-
|
|
26902
|
+
if (isAdd) {
|
|
26903
|
+
var options = {
|
|
26904
|
+
url: url,
|
|
26905
|
+
layers: layerData.id + "",
|
|
26906
|
+
tilingScheme: layerData.epsg == 3857 ? new Cesium.WebMercatorTilingScheme() : new Cesium.GeographicTilingScheme(),
|
|
26907
|
+
rectangle: Cesium.Rectangle.fromDegrees(layerData.rect84[0], layerData.rect84[1], layerData.rect84[2], layerData.rect84[3]),
|
|
26908
|
+
parameters: {
|
|
26909
|
+
transparent: 'true',
|
|
26910
|
+
format: 'image/png'
|
|
26911
|
+
},
|
|
26912
|
+
...params
|
|
26913
|
+
};
|
|
26914
|
+
if (layerData.styles) options.parameters.styles = layerData.styles;
|
|
26915
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
|
|
26916
|
+
layer._guid = layerData.guid;
|
|
26917
|
+
}
|
|
26918
|
+
} else {
|
|
26919
|
+
//如果是kqserver类型,记录服务返回的图层信息
|
|
26920
|
+
if (layerData.sourceLayers) {
|
|
26921
|
+
var layerInfo = layerData.sourceLayers.find(item => {
|
|
26922
|
+
return item.id + "" == layerData.id + "";
|
|
26923
|
+
});
|
|
26852
26924
|
|
|
26853
|
-
|
|
26854
|
-
|
|
26855
|
-
|
|
26856
|
-
|
|
26857
|
-
}
|
|
26858
|
-
}
|
|
26925
|
+
if (layerInfo) {
|
|
26926
|
+
for (var key in layerInfo) {
|
|
26927
|
+
if (!layerData[key]) {
|
|
26928
|
+
layerData[key] = layerInfo[key];
|
|
26859
26929
|
}
|
|
26860
26930
|
}
|
|
26861
|
-
|
|
26862
|
-
layers[0]._guid = layerData.guid;
|
|
26863
|
-
layerData.name = name || layers[0].name;
|
|
26864
|
-
layerData.visible = true;
|
|
26865
|
-
layerData.serverType = "imagerylayer";
|
|
26866
26931
|
}
|
|
26867
|
-
}
|
|
26932
|
+
}
|
|
26933
|
+
|
|
26934
|
+
layerData.visible = isAdd;
|
|
26935
|
+
layerData.serverType = "imagerylayer";
|
|
26936
|
+
|
|
26937
|
+
if (isAdd) {
|
|
26938
|
+
promise = this._viewer.addWMSLayerGroup(url, {
|
|
26939
|
+
layers: layerData.id + ""
|
|
26940
|
+
}).then(group => {
|
|
26941
|
+
var layers = group._addedLayers || group._layers;
|
|
26942
|
+
|
|
26943
|
+
if (layers && layers.length > 0) {
|
|
26944
|
+
layers[0]._guid = layerData.guid;
|
|
26945
|
+
}
|
|
26946
|
+
});
|
|
26947
|
+
}
|
|
26868
26948
|
}
|
|
26869
26949
|
|
|
26870
26950
|
break;
|
|
26871
26951
|
|
|
26872
26952
|
case "wmts":
|
|
26873
26953
|
case "kqgistileserver":
|
|
26874
|
-
|
|
26875
|
-
|
|
26876
|
-
|
|
26877
|
-
|
|
26878
|
-
|
|
26879
|
-
|
|
26880
|
-
if (layers && layers.length > 0) {
|
|
26881
|
-
//如果是kqserver类型,记录服务返回的图层信息
|
|
26882
|
-
if (layerData.sourceLayers) {
|
|
26883
|
-
var layerInfo = layerData.sourceLayers.find(item => {
|
|
26884
|
-
return item.id + "" == layerData.id + "";
|
|
26885
|
-
});
|
|
26954
|
+
//如果是kqserver类型,记录服务返回的图层信息
|
|
26955
|
+
if (layerData.sourceLayers) {
|
|
26956
|
+
var layerInfo = layerData.sourceLayers.find(item => {
|
|
26957
|
+
return item.id + "" == layerData.id + "";
|
|
26958
|
+
});
|
|
26886
26959
|
|
|
26887
|
-
|
|
26888
|
-
|
|
26889
|
-
|
|
26890
|
-
|
|
26891
|
-
}
|
|
26892
|
-
}
|
|
26960
|
+
if (layerInfo) {
|
|
26961
|
+
for (var key in layerInfo) {
|
|
26962
|
+
if (!layerData[key]) {
|
|
26963
|
+
layerData[key] = layerInfo[key];
|
|
26893
26964
|
}
|
|
26894
26965
|
}
|
|
26895
|
-
|
|
26896
|
-
layers[0]._guid = layerData.guid;
|
|
26897
|
-
layerData.name = name || layers[0].name;
|
|
26898
|
-
layerData.visible = true;
|
|
26899
|
-
layerData.serverType = "imagerylayer";
|
|
26900
26966
|
}
|
|
26901
|
-
}
|
|
26967
|
+
}
|
|
26968
|
+
|
|
26969
|
+
layerData.visible = isAdd;
|
|
26970
|
+
layerData.serverType = "imagerylayer"; //配置id时只能是单个图层
|
|
26971
|
+
|
|
26972
|
+
if (isAdd) {
|
|
26973
|
+
promise = this._viewer.addWMTSLayerGroup(url, {
|
|
26974
|
+
layers: layerData.id + ""
|
|
26975
|
+
}).then(group => {
|
|
26976
|
+
var layers = group._addedLayers || group._layers;
|
|
26977
|
+
|
|
26978
|
+
if (layers && layers.length > 0) {
|
|
26979
|
+
layers[0]._guid = layerData.guid;
|
|
26980
|
+
}
|
|
26981
|
+
});
|
|
26982
|
+
}
|
|
26983
|
+
|
|
26902
26984
|
break;
|
|
26903
26985
|
// case "wfs":
|
|
26904
26986
|
// var wfsProvider = new Cesium.Kq3dWebFeatureServiceProvider({
|
|
@@ -26919,97 +27001,126 @@ class LayerManager {
|
|
|
26919
27001
|
// break;
|
|
26920
27002
|
|
|
26921
27003
|
case "geojson":
|
|
26922
|
-
|
|
26923
|
-
|
|
26924
|
-
promise = ds.load(url, geojsonStyle).then(ds => {
|
|
26925
|
-
ds.entities.values.forEach(entity => {
|
|
26926
|
-
if (entity.polygon) {
|
|
26927
|
-
entity.polyline = {
|
|
26928
|
-
positions: entity.polygon.hierarchy._value.positions,
|
|
26929
|
-
width: geojsonStyle.polygon.outlineWidth,
|
|
26930
|
-
material: geojsonStyle.polygon.outlineColor
|
|
26931
|
-
};
|
|
26932
|
-
}
|
|
26933
|
-
}, this);
|
|
27004
|
+
layerData.visible = isAdd;
|
|
27005
|
+
layerData.serverType = "datasource";
|
|
26934
27006
|
|
|
26935
|
-
|
|
27007
|
+
if (isAdd) {
|
|
27008
|
+
var ds = new Cesium.Kq3dGeoJsonDataSource(name);
|
|
27009
|
+
var geojsonStyle = layerData.geojsonStyle || this._geojsonStyle;
|
|
27010
|
+
promise = ds.load(url, geojsonStyle).then(ds => {
|
|
27011
|
+
ds.entities.values.forEach(entity => {
|
|
27012
|
+
if (entity.polygon) {
|
|
27013
|
+
entity.polyline = {
|
|
27014
|
+
positions: entity.polygon.hierarchy._value.positions,
|
|
27015
|
+
width: geojsonStyle.polygon.outlineWidth,
|
|
27016
|
+
material: geojsonStyle.polygon.outlineColor
|
|
27017
|
+
};
|
|
27018
|
+
}
|
|
27019
|
+
}, this);
|
|
27020
|
+
|
|
27021
|
+
this._viewer.dataSources.add(ds);
|
|
27022
|
+
|
|
27023
|
+
ds.autoAvoid(this._viewer);
|
|
27024
|
+
ds._guid = layerData.guid;
|
|
27025
|
+
layerData.shapeType = this.getShapeType(ds);
|
|
27026
|
+
});
|
|
27027
|
+
}
|
|
26936
27028
|
|
|
26937
|
-
ds.autoAvoid(this._viewer);
|
|
26938
|
-
ds._guid = layerData.guid;
|
|
26939
|
-
layerData.visible = true;
|
|
26940
|
-
layerData.serverType = "datasource";
|
|
26941
|
-
});
|
|
26942
27029
|
break;
|
|
26943
27030
|
|
|
26944
27031
|
case "kml":
|
|
26945
|
-
|
|
26946
|
-
|
|
26947
|
-
|
|
26948
|
-
|
|
26949
|
-
|
|
26950
|
-
|
|
26951
|
-
|
|
26952
|
-
|
|
27032
|
+
layerData.visible = isAdd;
|
|
27033
|
+
layerData.serverType = "datasource";
|
|
27034
|
+
|
|
27035
|
+
if (isAdd) {
|
|
27036
|
+
var ds = new Cesium.KmlDataSource({
|
|
27037
|
+
name: name,
|
|
27038
|
+
camera: this._viewer.camera,
|
|
27039
|
+
canvas: this._viewer.scene.canvas,
|
|
27040
|
+
...params
|
|
27041
|
+
});
|
|
27042
|
+
promise = ds.load(url).then(ds => {
|
|
27043
|
+
this._viewer.dataSources.add(ds);
|
|
27044
|
+
|
|
27045
|
+
ds._guid = layerData.guid;
|
|
27046
|
+
});
|
|
27047
|
+
}
|
|
26953
27048
|
|
|
26954
|
-
ds._guid = layerData.guid;
|
|
26955
|
-
layerData.visible = true;
|
|
26956
|
-
layerData.serverType = "datasource";
|
|
26957
|
-
});
|
|
26958
27049
|
break;
|
|
26959
27050
|
|
|
26960
27051
|
case "czml":
|
|
26961
|
-
|
|
26962
|
-
|
|
26963
|
-
|
|
27052
|
+
layerData.visible = isAdd;
|
|
27053
|
+
layerData.serverType = "datasource";
|
|
27054
|
+
|
|
27055
|
+
if (isAdd) {
|
|
27056
|
+
var ds = new Cesium.CzmlDataSource(name);
|
|
27057
|
+
promise = ds.load(url).then(ds => {
|
|
27058
|
+
this._viewer.dataSources.add(ds);
|
|
27059
|
+
|
|
27060
|
+
ds._guid = layerData.guid;
|
|
27061
|
+
});
|
|
27062
|
+
}
|
|
26964
27063
|
|
|
26965
|
-
ds._guid = layerData.guid;
|
|
26966
|
-
layerData.visible = true;
|
|
26967
|
-
layerData.serverType = "datasource";
|
|
26968
|
-
});
|
|
26969
27064
|
break;
|
|
26970
27065
|
|
|
26971
27066
|
case "tianditu":
|
|
26972
|
-
|
|
26973
|
-
name: name,
|
|
26974
|
-
mapStyle: layerData.layerType + "_c",
|
|
26975
|
-
...params
|
|
26976
|
-
}));
|
|
26977
|
-
layer._guid = layerData.guid;
|
|
26978
|
-
layerData.visible = true;
|
|
27067
|
+
layerData.visible = isAdd;
|
|
26979
27068
|
layerData.serverType = "imagerylayer";
|
|
27069
|
+
|
|
27070
|
+
if (isAdd) {
|
|
27071
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dTiandituImageryProvider({
|
|
27072
|
+
name: name,
|
|
27073
|
+
mapStyle: layerData.layerType + "_c",
|
|
27074
|
+
...params
|
|
27075
|
+
}));
|
|
27076
|
+
layer._guid = layerData.guid;
|
|
27077
|
+
}
|
|
27078
|
+
|
|
26980
27079
|
break;
|
|
26981
27080
|
|
|
26982
27081
|
case "baidu":
|
|
26983
|
-
|
|
26984
|
-
name: name,
|
|
26985
|
-
mapStyle: layerData.layerType,
|
|
26986
|
-
...params
|
|
26987
|
-
}));
|
|
26988
|
-
layer._guid = layerData.guid;
|
|
26989
|
-
layerData.visible = true;
|
|
27082
|
+
layerData.visible = isAdd;
|
|
26990
27083
|
layerData.serverType = "imagerylayer";
|
|
27084
|
+
|
|
27085
|
+
if (isAdd) {
|
|
27086
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dBaiduMapsImageryProvider({
|
|
27087
|
+
name: name,
|
|
27088
|
+
mapStyle: layerData.layerType,
|
|
27089
|
+
...params
|
|
27090
|
+
}));
|
|
27091
|
+
layer._guid = layerData.guid;
|
|
27092
|
+
}
|
|
27093
|
+
|
|
26991
27094
|
break;
|
|
26992
27095
|
|
|
26993
27096
|
case "gaode":
|
|
26994
|
-
|
|
26995
|
-
name: name,
|
|
26996
|
-
mapStyle: layerData.layerType,
|
|
26997
|
-
...params
|
|
26998
|
-
}));
|
|
26999
|
-
layer._guid = layerData.guid;
|
|
27000
|
-
layerData.visible = true;
|
|
27097
|
+
layerData.visible = isAdd;
|
|
27001
27098
|
layerData.serverType = "imagerylayer";
|
|
27099
|
+
|
|
27100
|
+
if (isAdd) {
|
|
27101
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dAMapsImageryProvider({
|
|
27102
|
+
name: name,
|
|
27103
|
+
mapStyle: layerData.layerType,
|
|
27104
|
+
...params
|
|
27105
|
+
}));
|
|
27106
|
+
layer._guid = layerData.guid;
|
|
27107
|
+
}
|
|
27108
|
+
|
|
27002
27109
|
break;
|
|
27003
27110
|
|
|
27004
27111
|
case "tencent":
|
|
27005
|
-
|
|
27006
|
-
name: name,
|
|
27007
|
-
mapStyle: layerData.layerType,
|
|
27008
|
-
...params
|
|
27009
|
-
}));
|
|
27010
|
-
layer._guid = layerData.guid;
|
|
27011
|
-
layerData.visible = true;
|
|
27112
|
+
layerData.visible = isAdd;
|
|
27012
27113
|
layerData.serverType = "imagerylayer";
|
|
27114
|
+
|
|
27115
|
+
if (isAdd) {
|
|
27116
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dQQMapsImageryProvider({
|
|
27117
|
+
name: name,
|
|
27118
|
+
mapStyle: layerData.layerType,
|
|
27119
|
+
...params
|
|
27120
|
+
}));
|
|
27121
|
+
layer._guid = layerData.guid;
|
|
27122
|
+
}
|
|
27123
|
+
|
|
27013
27124
|
break;
|
|
27014
27125
|
|
|
27015
27126
|
default:
|
|
@@ -27017,6 +27128,25 @@ class LayerManager {
|
|
|
27017
27128
|
}
|
|
27018
27129
|
|
|
27019
27130
|
return promise;
|
|
27131
|
+
} // 获取geojson数据类型
|
|
27132
|
+
|
|
27133
|
+
|
|
27134
|
+
getShapeType(ds) {
|
|
27135
|
+
let shapeType = "";
|
|
27136
|
+
|
|
27137
|
+
if (ds.entities.values.length > 0) {
|
|
27138
|
+
let entity = ds.entities.values[0];
|
|
27139
|
+
|
|
27140
|
+
if (entity.polygon) {
|
|
27141
|
+
shapeType = 'polygon';
|
|
27142
|
+
} else if (entity.polyline) {
|
|
27143
|
+
shapeType = 'polyline';
|
|
27144
|
+
} else if (entity.billboard || entity.point) {
|
|
27145
|
+
shapeType = 'point';
|
|
27146
|
+
}
|
|
27147
|
+
}
|
|
27148
|
+
|
|
27149
|
+
return shapeType;
|
|
27020
27150
|
} //添加服务数据
|
|
27021
27151
|
|
|
27022
27152
|
|