@kq_npm/client3d_webgl_vue 4.0.6-beta → 4.0.7-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 CHANGED
@@ -742,8 +742,11 @@ class AddDataViewModel {
742
742
  break;
743
743
 
744
744
  case "kqgis3dserver":
745
+ var geojsonStyle0 = { ...this._geojsonStyle
746
+ };
747
+
745
748
  this._viewer.addKq3dServerLayerGroupExt(url, {
746
- viewer: this._viewer
749
+ geojsonStyle: geojsonStyle0
747
750
  }).then(group => {
748
751
  var layers = group._addedLayers || group._layers;
749
752
 
@@ -756,12 +759,13 @@ class AddDataViewModel {
756
759
  };
757
760
  var serverType = "";
758
761
  var addType = "";
762
+ let promiseList = [];
759
763
 
760
764
  for (var i = 0; i < layers.length; i++) {
761
765
  if (layers[i] instanceof Cesium.Cesium3DTileset) {
762
766
  serverType = "3dtiles";
763
767
  addType = "3dtiles";
764
- url = layers[i].url;
768
+ url = layers[i]._originUrl;
765
769
  } else if (layers[i] instanceof Cesium.ImageryLayer) {
766
770
  serverType = "imagerylayer";
767
771
  addType = "kq3dimageryfile";
@@ -769,41 +773,85 @@ class AddDataViewModel {
769
773
  } else if (layers[i] instanceof Cesium.Kq3dFileTerrainProvider) {
770
774
  serverType = "terrainprovider";
771
775
  addType = "obterrain";
772
- url = layers[i].url;
776
+ url = layers[i]._originUrl + layers[i]._urlPramas;
773
777
 
774
778
  this._layerManager._terrainProviders.push(layers[i]);
775
779
  } else if (layers[i] instanceof Cesium.CesiumTerrainProvider) {
776
780
  serverType = "terrainprovider";
777
781
  addType = "stkterrain";
778
- url = layers[i].url;
782
+ url = layers[i]._originUrl;
779
783
 
780
784
  this._layerManager._terrainProviders.push(layers[i]);
781
785
  } else if (layers[i] instanceof Cesium.Kq3dGeoJsonDataSource) {
782
786
  serverType = "datasource";
783
787
  addType = "geojson";
784
- url = layers[i]._baseUri + layers[i]._name;
788
+ url = layers[i]._url;
789
+ let promise = new Promise(resolve => {
790
+ layers[i].loadingEvent.addEventListener(function (ds) {
791
+ // 绘制面边框
792
+ ds.entities.values.forEach(entity => {
793
+ if (entity.polygon) {
794
+ entity.polyline = {
795
+ positions: entity.polygon.hierarchy._value.positions,
796
+ width: geojsonStyle0.polygon.outlineWidth,
797
+ material: geojsonStyle0.polygon.outlineColor
798
+ };
799
+ }
800
+ });
801
+ let shapeType = ""; // 判断geojson点线面类型
802
+
803
+ if (ds.entities.values.length > 0) {
804
+ let entity = ds.entities.values[0];
805
+
806
+ if (entity.polygon) {
807
+ shapeType = 'polygon';
808
+ } else if (entity.polyline) {
809
+ shapeType = 'polyline';
810
+ } else if (entity.billboard || entity.point) {
811
+ shapeType = 'point';
812
+ }
813
+ }
814
+
815
+ let dsChild = {
816
+ guid: ds.guid,
817
+ name: ds._name,
818
+ visible: true,
819
+ serverType: serverType,
820
+ url: url,
821
+ addType: 'geojson',
822
+ shapeType: shapeType
823
+ };
824
+ node.children.push(dsChild);
825
+ resolve(true);
826
+ });
827
+ });
828
+ promiseList.push(promise);
785
829
  } else if (layers[i] instanceof Cesium.Kq3dS3MTilesLayer) {
786
830
  serverType = "s3m";
787
831
  addType = "s3m";
788
832
  url = layers[i]._url;
789
833
  }
790
834
 
791
- if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
792
- node.children.push({
793
- guid: layers[i].guid,
794
- name: layers[i].name || layers[i]._name,
795
- visible: true,
796
- serverType: serverType,
797
- url: url,
798
- addType: addType
799
- });
835
+ if (serverType !== "datasource") {
836
+ if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
837
+ node.children.push({
838
+ guid: layers[i].guid,
839
+ name: layers[i].name || layers[i]._name,
840
+ visible: true,
841
+ serverType: serverType,
842
+ url: url,
843
+ addType: addType
844
+ });
845
+ }
800
846
  }
801
847
 
802
- this.flyToLayer(layers[0]);
848
+ Promise.all(promiseList).then(() => {
849
+ this.flyToLayer(layers[0]);
803
850
 
804
- this._layerManager.addTempLayerNode(node);
851
+ this._layerManager.addTempLayerNode(node);
805
852
 
806
- cb && cb(node);
853
+ cb && cb(node);
854
+ });
807
855
  }
808
856
  });
809
857
 
@@ -1315,7 +1363,12 @@ class AddDataViewModel {
1315
1363
  destination: tileset.rectangle
1316
1364
  });
1317
1365
  });
1318
- } else if (layer instanceof Cesium.GeoJsonDataSource || layer instanceof Cesium.Kq3dGeoJsonDataSource || layer instanceof Cesium.KmlDataSource || layer instanceof Cesium.CzmlDataSource) {
1366
+ } else if (layer instanceof Cesium.GeoJsonDataSource || layer instanceof Cesium.Kq3dGeoJsonDataSource) {
1367
+ let offset = new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-90), 0);
1368
+ viewer.flyTo(layer, {
1369
+ offset
1370
+ });
1371
+ } else if (layer instanceof Cesium.KmlDataSource || layer instanceof Cesium.CzmlDataSource) {
1319
1372
  viewer.flyTo(layer);
1320
1373
  } else if (layer instanceof Cesium.Kq3dKQGISServerTerrainProvider || layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
1321
1374
  layer.getViewableRectangle().then(function (rectangle) {
package/index.js CHANGED
@@ -27018,8 +27018,11 @@ class AddDataViewModel {
27018
27018
  break;
27019
27019
 
27020
27020
  case "kqgis3dserver":
27021
+ var geojsonStyle0 = { ...this._geojsonStyle
27022
+ };
27023
+
27021
27024
  this._viewer.addKq3dServerLayerGroupExt(url, {
27022
- viewer: this._viewer
27025
+ geojsonStyle: geojsonStyle0
27023
27026
  }).then(group => {
27024
27027
  var layers = group._addedLayers || group._layers;
27025
27028
 
@@ -27032,12 +27035,13 @@ class AddDataViewModel {
27032
27035
  };
27033
27036
  var serverType = "";
27034
27037
  var addType = "";
27038
+ let promiseList = [];
27035
27039
 
27036
27040
  for (var i = 0; i < layers.length; i++) {
27037
27041
  if (layers[i] instanceof Cesium.Cesium3DTileset) {
27038
27042
  serverType = "3dtiles";
27039
27043
  addType = "3dtiles";
27040
- url = layers[i].url;
27044
+ url = layers[i]._originUrl;
27041
27045
  } else if (layers[i] instanceof Cesium.ImageryLayer) {
27042
27046
  serverType = "imagerylayer";
27043
27047
  addType = "kq3dimageryfile";
@@ -27045,41 +27049,85 @@ class AddDataViewModel {
27045
27049
  } else if (layers[i] instanceof Cesium.Kq3dFileTerrainProvider) {
27046
27050
  serverType = "terrainprovider";
27047
27051
  addType = "obterrain";
27048
- url = layers[i].url;
27052
+ url = layers[i]._originUrl + layers[i]._urlPramas;
27049
27053
 
27050
27054
  this._layerManager._terrainProviders.push(layers[i]);
27051
27055
  } else if (layers[i] instanceof Cesium.CesiumTerrainProvider) {
27052
27056
  serverType = "terrainprovider";
27053
27057
  addType = "stkterrain";
27054
- url = layers[i].url;
27058
+ url = layers[i]._originUrl;
27055
27059
 
27056
27060
  this._layerManager._terrainProviders.push(layers[i]);
27057
27061
  } else if (layers[i] instanceof Cesium.Kq3dGeoJsonDataSource) {
27058
27062
  serverType = "datasource";
27059
27063
  addType = "geojson";
27060
- url = layers[i]._baseUri + layers[i]._name;
27064
+ url = layers[i]._url;
27065
+ let promise = new Promise(resolve => {
27066
+ layers[i].loadingEvent.addEventListener(function (ds) {
27067
+ // 绘制面边框
27068
+ ds.entities.values.forEach(entity => {
27069
+ if (entity.polygon) {
27070
+ entity.polyline = {
27071
+ positions: entity.polygon.hierarchy._value.positions,
27072
+ width: geojsonStyle0.polygon.outlineWidth,
27073
+ material: geojsonStyle0.polygon.outlineColor
27074
+ };
27075
+ }
27076
+ });
27077
+ let shapeType = ""; // 判断geojson点线面类型
27078
+
27079
+ if (ds.entities.values.length > 0) {
27080
+ let entity = ds.entities.values[0];
27081
+
27082
+ if (entity.polygon) {
27083
+ shapeType = 'polygon';
27084
+ } else if (entity.polyline) {
27085
+ shapeType = 'polyline';
27086
+ } else if (entity.billboard || entity.point) {
27087
+ shapeType = 'point';
27088
+ }
27089
+ }
27090
+
27091
+ let dsChild = {
27092
+ guid: ds.guid,
27093
+ name: ds._name,
27094
+ visible: true,
27095
+ serverType: serverType,
27096
+ url: url,
27097
+ addType: 'geojson',
27098
+ shapeType: shapeType
27099
+ };
27100
+ node.children.push(dsChild);
27101
+ resolve(true);
27102
+ });
27103
+ });
27104
+ promiseList.push(promise);
27061
27105
  } else if (layers[i] instanceof Cesium.Kq3dS3MTilesLayer) {
27062
27106
  serverType = "s3m";
27063
27107
  addType = "s3m";
27064
27108
  url = layers[i]._url;
27065
27109
  }
27066
27110
 
27067
- if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
27068
- node.children.push({
27069
- guid: layers[i].guid,
27070
- name: layers[i].name || layers[i]._name,
27071
- visible: true,
27072
- serverType: serverType,
27073
- url: url,
27074
- addType: addType
27075
- });
27111
+ if (serverType !== "datasource") {
27112
+ if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
27113
+ node.children.push({
27114
+ guid: layers[i].guid,
27115
+ name: layers[i].name || layers[i]._name,
27116
+ visible: true,
27117
+ serverType: serverType,
27118
+ url: url,
27119
+ addType: addType
27120
+ });
27121
+ }
27076
27122
  }
27077
27123
 
27078
- this.flyToLayer(layers[0]);
27124
+ Promise.all(promiseList).then(() => {
27125
+ this.flyToLayer(layers[0]);
27079
27126
 
27080
- this._layerManager.addTempLayerNode(node);
27127
+ this._layerManager.addTempLayerNode(node);
27081
27128
 
27082
- cb && cb(node);
27129
+ cb && cb(node);
27130
+ });
27083
27131
  }
27084
27132
  });
27085
27133
 
@@ -27591,7 +27639,12 @@ class AddDataViewModel {
27591
27639
  destination: tileset.rectangle
27592
27640
  });
27593
27641
  });
27594
- } else if (layer instanceof Cesium.GeoJsonDataSource || layer instanceof Cesium.Kq3dGeoJsonDataSource || layer instanceof Cesium.KmlDataSource || layer instanceof Cesium.CzmlDataSource) {
27642
+ } else if (layer instanceof Cesium.GeoJsonDataSource || layer instanceof Cesium.Kq3dGeoJsonDataSource) {
27643
+ let offset = new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-90), 0);
27644
+ viewer.flyTo(layer, {
27645
+ offset
27646
+ });
27647
+ } else if (layer instanceof Cesium.KmlDataSource || layer instanceof Cesium.CzmlDataSource) {
27595
27648
  viewer.flyTo(layer);
27596
27649
  } else if (layer instanceof Cesium.Kq3dKQGISServerTerrainProvider || layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
27597
27650
  layer.getViewableRectangle().then(function (rectangle) {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"4.0.6-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"restrictedVersion":true,"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"1.1.1","echarts":"5.3.0","echarts-stat":"1.2.0","js-cookie":"3.0.1","omit.js":"2.0.2","save":"2.5.0","tinycolor2":"1.4.2","vue-i18n":"9.2.0-beta.36","xlsx":"0.18.5","css-vars-ponyfill":"2.4.8","html2canvas":"1.4.1","xe-utils":"3.5.4"}}
1
+ {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"4.0.7-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"restrictedVersion":true,"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"1.1.1","echarts":"5.3.0","echarts-stat":"1.2.0","js-cookie":"3.0.1","omit.js":"2.0.2","save":"2.5.0","tinycolor2":"1.4.2","vue-i18n":"9.2.0-beta.36","xlsx":"0.18.5","css-vars-ponyfill":"2.4.8","html2canvas":"1.4.1","xe-utils":"3.5.4"}}
@@ -652,8 +652,11 @@ class AddDataViewModel {
652
652
  break;
653
653
 
654
654
  case "kqgis3dserver":
655
+ var geojsonStyle0 = { ...this._geojsonStyle
656
+ };
657
+
655
658
  this._viewer.addKq3dServerLayerGroupExt(url, {
656
- viewer: this._viewer
659
+ geojsonStyle: geojsonStyle0
657
660
  }).then(group => {
658
661
  var layers = group._addedLayers || group._layers;
659
662
 
@@ -666,12 +669,13 @@ class AddDataViewModel {
666
669
  };
667
670
  var serverType = "";
668
671
  var addType = "";
672
+ let promiseList = [];
669
673
 
670
674
  for (var i = 0; i < layers.length; i++) {
671
675
  if (layers[i] instanceof Cesium.Cesium3DTileset) {
672
676
  serverType = "3dtiles";
673
677
  addType = "3dtiles";
674
- url = layers[i].url;
678
+ url = layers[i]._originUrl;
675
679
  } else if (layers[i] instanceof Cesium.ImageryLayer) {
676
680
  serverType = "imagerylayer";
677
681
  addType = "kq3dimageryfile";
@@ -679,41 +683,85 @@ class AddDataViewModel {
679
683
  } else if (layers[i] instanceof Cesium.Kq3dFileTerrainProvider) {
680
684
  serverType = "terrainprovider";
681
685
  addType = "obterrain";
682
- url = layers[i].url;
686
+ url = layers[i]._originUrl + layers[i]._urlPramas;
683
687
 
684
688
  this._layerManager._terrainProviders.push(layers[i]);
685
689
  } else if (layers[i] instanceof Cesium.CesiumTerrainProvider) {
686
690
  serverType = "terrainprovider";
687
691
  addType = "stkterrain";
688
- url = layers[i].url;
692
+ url = layers[i]._originUrl;
689
693
 
690
694
  this._layerManager._terrainProviders.push(layers[i]);
691
695
  } else if (layers[i] instanceof Cesium.Kq3dGeoJsonDataSource) {
692
696
  serverType = "datasource";
693
697
  addType = "geojson";
694
- url = layers[i]._baseUri + layers[i]._name;
698
+ url = layers[i]._url;
699
+ let promise = new Promise(resolve => {
700
+ layers[i].loadingEvent.addEventListener(function (ds) {
701
+ // 绘制面边框
702
+ ds.entities.values.forEach(entity => {
703
+ if (entity.polygon) {
704
+ entity.polyline = {
705
+ positions: entity.polygon.hierarchy._value.positions,
706
+ width: geojsonStyle0.polygon.outlineWidth,
707
+ material: geojsonStyle0.polygon.outlineColor
708
+ };
709
+ }
710
+ });
711
+ let shapeType = ""; // 判断geojson点线面类型
712
+
713
+ if (ds.entities.values.length > 0) {
714
+ let entity = ds.entities.values[0];
715
+
716
+ if (entity.polygon) {
717
+ shapeType = 'polygon';
718
+ } else if (entity.polyline) {
719
+ shapeType = 'polyline';
720
+ } else if (entity.billboard || entity.point) {
721
+ shapeType = 'point';
722
+ }
723
+ }
724
+
725
+ let dsChild = {
726
+ guid: ds.guid,
727
+ name: ds._name,
728
+ visible: true,
729
+ serverType: serverType,
730
+ url: url,
731
+ addType: 'geojson',
732
+ shapeType: shapeType
733
+ };
734
+ node.children.push(dsChild);
735
+ resolve(true);
736
+ });
737
+ });
738
+ promiseList.push(promise);
695
739
  } else if (layers[i] instanceof Cesium.Kq3dS3MTilesLayer) {
696
740
  serverType = "s3m";
697
741
  addType = "s3m";
698
742
  url = layers[i]._url;
699
743
  }
700
744
 
701
- if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
702
- node.children.push({
703
- guid: layers[i].guid,
704
- name: layers[i].name || layers[i]._name,
705
- visible: true,
706
- serverType: serverType,
707
- url: url,
708
- addType: addType
709
- });
745
+ if (serverType !== "datasource") {
746
+ if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
747
+ node.children.push({
748
+ guid: layers[i].guid,
749
+ name: layers[i].name || layers[i]._name,
750
+ visible: true,
751
+ serverType: serverType,
752
+ url: url,
753
+ addType: addType
754
+ });
755
+ }
710
756
  }
711
757
 
712
- this.flyToLayer(layers[0]);
758
+ Promise.all(promiseList).then(() => {
759
+ this.flyToLayer(layers[0]);
713
760
 
714
- this._layerManager.addTempLayerNode(node);
761
+ this._layerManager.addTempLayerNode(node);
715
762
 
716
- cb && cb(node);
763
+ cb && cb(node);
764
+ });
717
765
  }
718
766
  });
719
767
 
@@ -1225,7 +1273,12 @@ class AddDataViewModel {
1225
1273
  destination: tileset.rectangle
1226
1274
  });
1227
1275
  });
1228
- } else if (layer instanceof Cesium.GeoJsonDataSource || layer instanceof Cesium.Kq3dGeoJsonDataSource || layer instanceof Cesium.KmlDataSource || layer instanceof Cesium.CzmlDataSource) {
1276
+ } else if (layer instanceof Cesium.GeoJsonDataSource || layer instanceof Cesium.Kq3dGeoJsonDataSource) {
1277
+ let offset = new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-90), 0);
1278
+ viewer.flyTo(layer, {
1279
+ offset
1280
+ });
1281
+ } else if (layer instanceof Cesium.KmlDataSource || layer instanceof Cesium.CzmlDataSource) {
1229
1282
  viewer.flyTo(layer);
1230
1283
  } else if (layer instanceof Cesium.Kq3dKQGISServerTerrainProvider || layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
1231
1284
  layer.getViewableRectangle().then(function (rectangle) {