@kq_npm/client3d_webgl_vue 3.3.0-beta → 3.3.2-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
@@ -897,6 +897,27 @@ class AddDataViewModel {
897
897
  cb && cb(node);
898
898
  break;
899
899
 
900
+ case "mvt":
901
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
902
+ name: name,
903
+ style: url
904
+ }));
905
+ this.flyToLayer(layer);
906
+ node = {
907
+ guid: layer.guid,
908
+ name: name,
909
+ visible: true,
910
+ serverType: "imagerylayer",
911
+ lsType: "ls",
912
+ url: url,
913
+ addType: type
914
+ };
915
+
916
+ this._layerManager.addTempLayerNode(node);
917
+
918
+ cb && cb(node);
919
+ break;
920
+
900
921
  case "wms":
901
922
  this._viewer.addWMSLayerGroup(url).then(group => {
902
923
  node = {
@@ -933,6 +954,7 @@ class AddDataViewModel {
933
954
  break;
934
955
 
935
956
  case "wmts":
957
+ case "kqgistileserver":
936
958
  this._viewer.addWMTSLayerGroup(url).then(group => {
937
959
  node = {
938
960
  guid: group.guid,
@@ -1332,9 +1354,9 @@ const __default__ = {
1332
1354
  description: language.value.imagertyDataflowServerdescription
1333
1355
  }, {
1334
1356
  type: "kqgistileserver",
1335
- name: language.value.KQGISTileServer + "(未实现)",
1357
+ name: language.value.KQGISTileServer,
1336
1358
  namePlaceholder: language.value.unnamedLayer,
1337
- urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/tile",
1359
+ urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/tile/wmts",
1338
1360
  description: language.value.imagertyTileServerdescription
1339
1361
  }, {
1340
1362
  type: "arcgismapserver",
@@ -1370,11 +1392,11 @@ const __default__ = {
1370
1392
  type: "geojson",
1371
1393
  name: language.value.GeoJson,
1372
1394
  namePlaceholder: language.value.unnamedLayer,
1373
- urlPlaceholder: language.value.format + ": http://<host>:<port>/xxx.geojson",
1395
+ urlPlaceholder: language.value.format + ":http://<host>:<port>/xxx.geojson",
1374
1396
  description: language.value.imagertyGeoJsondescription
1375
1397
  }, {
1376
1398
  type: "mvt",
1377
- name: language.value.MVT + "(未实现)",
1399
+ name: language.value.MVT,
1378
1400
  namePlaceholder: language.value.unnamedLayer,
1379
1401
  urlPlaceholder: language.value.format + ":http://<host>:<port>/mvt/style.json",
1380
1402
  description: language.value.imagertyMVTdescription
package/index.js CHANGED
@@ -759,7 +759,7 @@ class DrawManager {
759
759
 
760
760
  if (type === "point") {
761
761
  type = "marker";
762
- this._viewer.scene.globe.depthTestAgainstTerrain = false;
762
+ options.disableDepthTestDistance = Number.POSITIVE_INFINITY;
763
763
  }
764
764
 
765
765
  if (!options) options = {};
@@ -1142,7 +1142,6 @@ class LayerManager {
1142
1142
  //记录置顶图层index
1143
1143
  //地形集合
1144
1144
  //加载geojson数据样式
1145
- //guid映射
1146
1145
  constructor(scenceView) {
1147
1146
  _defineProperty(this, "_scenceView", null);
1148
1147
 
@@ -1197,8 +1196,6 @@ class LayerManager {
1197
1196
  }
1198
1197
  });
1199
1198
 
1200
- _defineProperty(this, "_guidMapping", {});
1201
-
1202
1199
  this._scenceView = scenceView;
1203
1200
  this._viewer = scenceView._viewer;
1204
1201
  this._scenceShowLayers = scenceView._props.defaultShowLayerNames;
@@ -1394,7 +1391,7 @@ class LayerManager {
1394
1391
  url: url,
1395
1392
  ...params
1396
1393
  }));
1397
- this._guidMapping[layerData.guid] = layer.guid;
1394
+ layer._guid = layerData.guid;
1398
1395
  layerData.visible = true;
1399
1396
  layerData.serverType = "imagerylayer";
1400
1397
  break;
@@ -1406,8 +1403,7 @@ class LayerManager {
1406
1403
  url: url,
1407
1404
  ...params
1408
1405
  });
1409
- if (!layer.guid) layer.guid = Cesium.createGuid();
1410
- this._guidMapping[layerData.guid] = layer.guid;
1406
+ layer.guid = layerData.guid;
1411
1407
  layerData.visible = true;
1412
1408
  layerData.serverType = "terrainprovider";
1413
1409
  this._viewer.terrainProvider = layer;
@@ -1425,12 +1421,11 @@ class LayerManager {
1425
1421
  requestWaterMask: false,
1426
1422
  ...params
1427
1423
  });
1428
- if (!layer.guid) layer.guid = Cesium.createGuid();
1424
+ layer.guid = layerData.guid;
1429
1425
  this._viewer.terrainProvider = layer;
1430
1426
 
1431
1427
  this._terrainProviders.push(layer);
1432
1428
 
1433
- this._guidMapping[layerData.guid] = layer.guid;
1434
1429
  layerData.visible = true;
1435
1430
  layerData.serverType = "terrainprovider";
1436
1431
  break;
@@ -1441,7 +1436,9 @@ class LayerManager {
1441
1436
  url: url,
1442
1437
  ...params
1443
1438
  }));
1444
- this._guidMapping[layerData.guid] = layer.guid;
1439
+ if (layerData.style && layer) layer.style = layerData.style;
1440
+ if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
1441
+ layer._guid = layerData.guid;
1445
1442
  layerData.visible = true;
1446
1443
  layerData.serverType = "3dtiles";
1447
1444
  break;
@@ -1461,14 +1458,14 @@ class LayerManager {
1461
1458
  serverType = "imagerylayer";
1462
1459
  } else if (layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
1463
1460
  serverType = "terrainprovider";
1461
+ layer.guid = layerData.guid;
1464
1462
 
1465
1463
  that._terrainProviders.push(layer);
1466
1464
  } else if (layer instanceof Cesium.Kq3dGeoJsonDataSource) {
1467
1465
  serverType = "datasource";
1468
1466
  }
1469
1467
 
1470
- if (!layer.guid) layer.guid = Cesium.createGuid();
1471
- this._guidMapping[layerData.guid] = layer.guid;
1468
+ layer._guid = layerData.guid;
1472
1469
  layerData.visible = true;
1473
1470
  layerData.serverType = serverType;
1474
1471
  }
@@ -1482,7 +1479,7 @@ class LayerManager {
1482
1479
  layerName: layerData.layerName,
1483
1480
  ...params
1484
1481
  }));
1485
- this._guidMapping[layerData.guid] = layer.guid;
1482
+ layer._guid = layerData.guid;
1486
1483
  layerData.visible = true;
1487
1484
  layerData.serverType = "imagerylayer";
1488
1485
  break;
@@ -1513,7 +1510,7 @@ class LayerManager {
1513
1510
 
1514
1511
  this._viewer.imageryLayers.add(layer);
1515
1512
 
1516
- this._guidMapping[layerData.guid] = layer.guid;
1513
+ layer._guid = layerData.guid;
1517
1514
  layerData.serverType = "imagerylayer";
1518
1515
  break;
1519
1516
 
@@ -1524,9 +1521,18 @@ class LayerManager {
1524
1521
  layers: layerData.id + "",
1525
1522
  ...params
1526
1523
  }));
1527
- if (layerData.style && layer) layer.style = layerData.style;
1528
- if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
1529
- this._guidMapping[layerData.guid] = layer.guid;
1524
+ layer._guid = layerData.guid;
1525
+ layerData.visible = true;
1526
+ layerData.serverType = "imagerylayer";
1527
+ break;
1528
+
1529
+ case "mvt":
1530
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
1531
+ name: name,
1532
+ url: url,
1533
+ ...params
1534
+ }));
1535
+ layer._guid = layerData.guid;
1530
1536
  layerData.visible = true;
1531
1537
  layerData.serverType = "imagerylayer";
1532
1538
  break;
@@ -1547,7 +1553,7 @@ class LayerManager {
1547
1553
  };
1548
1554
  if (layerData.styles) options.parameters.styles = layerData.styles;
1549
1555
  layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
1550
- this._guidMapping[layerData.guid] = layer.guid;
1556
+ layer._guid = layerData.guid;
1551
1557
  layerData.visible = true;
1552
1558
  layerData.serverType = "imagerylayer";
1553
1559
  } else {
@@ -1572,7 +1578,7 @@ class LayerManager {
1572
1578
  }
1573
1579
  }
1574
1580
 
1575
- this._guidMapping[layerData.guid] = layers[0].guid;
1581
+ layers[0]._guid = layerData.guid;
1576
1582
  layerData.name = name || layers[0].name;
1577
1583
  layerData.visible = true;
1578
1584
  layerData.serverType = "imagerylayer";
@@ -1583,6 +1589,7 @@ class LayerManager {
1583
1589
  break;
1584
1590
 
1585
1591
  case "wmts":
1592
+ case "kqgistileserver":
1586
1593
  //配置id时只能是单个图层
1587
1594
  promise = this._viewer.addWMTSLayerGroup(url, {
1588
1595
  layers: layerData.id + ""
@@ -1605,7 +1612,7 @@ class LayerManager {
1605
1612
  }
1606
1613
  }
1607
1614
 
1608
- this._guidMapping[layerData.guid] = layers[0].guid;
1615
+ layers[0]._guid = layerData.guid;
1609
1616
  layerData.name = name || layers[0].name;
1610
1617
  layerData.visible = true;
1611
1618
  layerData.serverType = "imagerylayer";
@@ -1646,7 +1653,7 @@ class LayerManager {
1646
1653
  this._viewer.dataSources.add(ds);
1647
1654
 
1648
1655
  ds.autoAvoid(this._viewer);
1649
- this._guidMapping[layerData.guid] = ds.guid;
1656
+ ds._guid = layerData.guid;
1650
1657
  layerData.visible = true;
1651
1658
  layerData.serverType = "datasource";
1652
1659
  });
@@ -1662,7 +1669,7 @@ class LayerManager {
1662
1669
  promise = ds.load(url).then(ds => {
1663
1670
  this._viewer.dataSources.add(ds);
1664
1671
 
1665
- this._guidMapping[layerData.guid] = ds.guid;
1672
+ ds._guid = layerData.guid;
1666
1673
  layerData.visible = true;
1667
1674
  layerData.serverType = "datasource";
1668
1675
  });
@@ -1673,7 +1680,7 @@ class LayerManager {
1673
1680
  promise = ds.load(url).then(ds => {
1674
1681
  this._viewer.dataSources.add(ds);
1675
1682
 
1676
- this._guidMapping[layerData.guid] = ds.guid;
1683
+ ds._guid = layerData.guid;
1677
1684
  layerData.visible = true;
1678
1685
  layerData.serverType = "datasource";
1679
1686
  });
@@ -1685,7 +1692,7 @@ class LayerManager {
1685
1692
  mapStyle: layerData.layerType + "_c",
1686
1693
  ...params
1687
1694
  }));
1688
- this._guidMapping[layerData.guid] = layer.guid;
1695
+ layer._guid = layerData.guid;
1689
1696
  layerData.visible = true;
1690
1697
  layerData.serverType = "imagerylayer";
1691
1698
  break;
@@ -1696,7 +1703,7 @@ class LayerManager {
1696
1703
  mapStyle: layerData.layerType,
1697
1704
  ...params
1698
1705
  }));
1699
- this._guidMapping[layerData.guid] = layer.guid;
1706
+ layer._guid = layerData.guid;
1700
1707
  layerData.visible = true;
1701
1708
  layerData.serverType = "imagerylayer";
1702
1709
  break;
@@ -1707,7 +1714,7 @@ class LayerManager {
1707
1714
  mapStyle: layerData.layerType,
1708
1715
  ...params
1709
1716
  }));
1710
- this._guidMapping[layerData.guid] = layer.guid;
1717
+ layer._guid = layerData.guid;
1711
1718
  layerData.visible = true;
1712
1719
  layerData.serverType = "imagerylayer";
1713
1720
  break;
@@ -1718,7 +1725,7 @@ class LayerManager {
1718
1725
  mapStyle: layerData.layerType,
1719
1726
  ...params
1720
1727
  }));
1721
- this._guidMapping[layerData.guid] = layer.guid;
1728
+ layer._guid = layerData.guid;
1722
1729
  layerData.visible = true;
1723
1730
  layerData.serverType = "imagerylayer";
1724
1731
  break;
@@ -1787,7 +1794,7 @@ class LayerManager {
1787
1794
  layers: layer.id + ""
1788
1795
  });
1789
1796
  var imageryLayer = new Cesium.ImageryLayer(imageryProvider);
1790
- imageryLayer.name = layer.guid;
1797
+ imageryLayer._guid = layer.guid;
1791
1798
 
1792
1799
  that._viewer.imageryLayers.add(imageryLayer);
1793
1800
  }
@@ -1871,7 +1878,7 @@ class LayerManager {
1871
1878
  layers: this._layerListData[i].id + ""
1872
1879
  });
1873
1880
  var imageryLayer = new Cesium.ImageryLayer(imageryProvider);
1874
- imageryLayer.name = this._layerListData[i].guid;
1881
+ imageryLayer._guid = this._layerListData[i].guid;
1875
1882
  var addIndex = this.getImageryLayerAddIndex(ids[z]);
1876
1883
 
1877
1884
  if (addIndex > -1) {
@@ -1991,15 +1998,7 @@ class LayerManager {
1991
1998
  type = this.getLayerTypeByGuid(guid);
1992
1999
  }
1993
2000
 
1994
- guid = this._guidMapping[guid] || guid;
1995
-
1996
- if (type === "kqserver") {
1997
- let imageryLayers = this._viewer.imageryLayers._layers;
1998
- let layer = imageryLayers.find(item => {
1999
- return item.name === guid;
2000
- });
2001
- return layer;
2002
- } else if (type === "imagerylayer") {
2001
+ if (type === "kqserver" || type === "imagerylayer") {
2003
2002
  let imageryLayers = this._viewer.imageryLayers._layers;
2004
2003
  let layer = imageryLayers.find(item => {
2005
2004
  return item.guid === guid;
@@ -2626,16 +2625,13 @@ class ScenceViewViewModel extends (mitt_default()) {
2626
2625
  } //销毁
2627
2626
 
2628
2627
 
2629
- destroy() {
2630
- if (this._removeEventListener) {
2631
- this._removeEventListener();
2632
-
2633
- this._removeEventListener = null;
2634
- }
2635
-
2636
- this._viewer = null;
2637
- this._drawManager = null;
2638
- this._layerManager = null;
2628
+ destroy() {// if (this._removeEventListener) {
2629
+ // this._removeEventListener();
2630
+ // this._removeEventListener = null;
2631
+ // }
2632
+ // this._viewer = null;
2633
+ // this._drawManager = null;
2634
+ // this._layerManager = null;
2639
2635
  } //创建底图
2640
2636
 
2641
2637
 
@@ -9477,6 +9473,7 @@ var update = injectStylesIntoStyleTag_default()(divpoint/* default */.Z, options
9477
9473
  ;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/SightlineAnalysisViewModel.js
9478
9474
 
9479
9475
 
9476
+
9480
9477
  //通视分析逻辑类
9481
9478
 
9482
9479
  class SightlineAnalysisViewModel {
@@ -9490,6 +9487,7 @@ class SightlineAnalysisViewModel {
9490
9487
  //创建的divpoint集合
9491
9488
  //拾取的点位集合
9492
9489
  //高亮的障碍物的id集合
9490
+ // 点位图标billboards集合
9493
9491
  constructor(scenceView, options) {
9494
9492
  _defineProperty(this, "_viewer", null);
9495
9493
 
@@ -9511,6 +9509,8 @@ class SightlineAnalysisViewModel {
9511
9509
 
9512
9510
  _defineProperty(this, "_highlightIds", []);
9513
9511
 
9512
+ _defineProperty(this, "_billboards", []);
9513
+
9514
9514
  this._viewer = scenceView._viewer;
9515
9515
  this._viewer.scene.postProcessStages._fxaa.enabled = true;
9516
9516
  this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
@@ -9533,9 +9533,14 @@ class SightlineAnalysisViewModel {
9533
9533
  options.isLabel = false;
9534
9534
  this._sightlineAnalysis = new Cesium.Kq3dSightAnalysis(options);
9535
9535
  this._drawManager = scenceView._drawManager;
9536
+
9537
+ this._drawManager.enableMultiDraw(true);
9538
+
9536
9539
  let that = this;
9537
9540
  this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
9538
9541
  if (shape && shape.type === "marker") {
9542
+ that.createBillboard(shape.position);
9543
+
9539
9544
  if (that._addType === 1) {
9540
9545
  that._sightlineAnalysis.setSeePoint(shape.position);
9541
9546
 
@@ -9552,6 +9557,19 @@ class SightlineAnalysisViewModel {
9552
9557
  that._drawManager.clear();
9553
9558
  }
9554
9559
  });
9560
+ } // 创建图标
9561
+
9562
+
9563
+ createBillboard(pos) {
9564
+ this._billboards.push(this._viewer.entities.add({
9565
+ position: pos,
9566
+ billboard: {
9567
+ image: this._addType === 1 ? const_image_namespaceObject.OBSERVATION_POINT : const_image_namespaceObject.TARGET_POINT,
9568
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
9569
+ scale: 0.15,
9570
+ disableDepthTestDistance: Number.POSITIVE_INFINITY
9571
+ }
9572
+ }));
9555
9573
  } //创建点位置
9556
9574
 
9557
9575
 
@@ -9648,7 +9666,7 @@ class SightlineAnalysisViewModel {
9648
9666
  this._addType = 1;
9649
9667
 
9650
9668
  this._drawManager.startDraw("point", {
9651
- image: null
9669
+ image: const_image_namespaceObject.OBSERVATION_POINT
9652
9670
  });
9653
9671
  } //添加目标点
9654
9672
 
@@ -9658,7 +9676,7 @@ class SightlineAnalysisViewModel {
9658
9676
  this._addType = 2;
9659
9677
 
9660
9678
  this._drawManager.startDraw("point", {
9661
- image: null
9679
+ image: const_image_namespaceObject.TARGET_POINT
9662
9680
  });
9663
9681
  } //清除显示结果
9664
9682
 
@@ -9670,6 +9688,15 @@ class SightlineAnalysisViewModel {
9670
9688
  }
9671
9689
 
9672
9690
  this._pointCollection = [];
9691
+ } // 清楚billboards
9692
+
9693
+
9694
+ clearBillboards() {
9695
+ for (var i = 0; i < this._billboards.length; i++) {
9696
+ this._viewer.entities.remove(this._billboards[i]);
9697
+ }
9698
+
9699
+ this._billboards = [];
9673
9700
  } //清除全部
9674
9701
 
9675
9702
 
@@ -9678,6 +9705,7 @@ class SightlineAnalysisViewModel {
9678
9705
 
9679
9706
  this.clearDisplay();
9680
9707
  this.clearHighlights();
9708
+ this.clearBillboards();
9681
9709
  this._sightlineAnalysis && this._sightlineAnalysis.remove();
9682
9710
  } //销毁
9683
9711
 
@@ -9690,6 +9718,8 @@ class SightlineAnalysisViewModel {
9690
9718
 
9691
9719
  this._removeEventListener && this._removeEventListener();
9692
9720
  this._removeEventListener = null;
9721
+
9722
+ this._drawManager.enableMultiDraw(false);
9693
9723
  } // //设置线宽
9694
9724
  // setLineWidth(lineWith) {
9695
9725
  // this._sightlineAnalysis.lineWith = Number(lineWith);
@@ -22319,6 +22349,27 @@ class AddDataViewModel {
22319
22349
  cb && cb(node);
22320
22350
  break;
22321
22351
 
22352
+ case "mvt":
22353
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
22354
+ name: name,
22355
+ style: url
22356
+ }));
22357
+ this.flyToLayer(layer);
22358
+ node = {
22359
+ guid: layer.guid,
22360
+ name: name,
22361
+ visible: true,
22362
+ serverType: "imagerylayer",
22363
+ lsType: "ls",
22364
+ url: url,
22365
+ addType: type
22366
+ };
22367
+
22368
+ this._layerManager.addTempLayerNode(node);
22369
+
22370
+ cb && cb(node);
22371
+ break;
22372
+
22322
22373
  case "wms":
22323
22374
  this._viewer.addWMSLayerGroup(url).then(group => {
22324
22375
  node = {
@@ -22355,6 +22406,7 @@ class AddDataViewModel {
22355
22406
  break;
22356
22407
 
22357
22408
  case "wmts":
22409
+ case "kqgistileserver":
22358
22410
  this._viewer.addWMTSLayerGroup(url).then(group => {
22359
22411
  node = {
22360
22412
  guid: group.guid,
@@ -22754,9 +22806,9 @@ const AddDatavue_type_script_setup_true_lang_js_default_ = {
22754
22806
  description: language.value.imagertyDataflowServerdescription
22755
22807
  }, {
22756
22808
  type: "kqgistileserver",
22757
- name: language.value.KQGISTileServer + "(未实现)",
22809
+ name: language.value.KQGISTileServer,
22758
22810
  namePlaceholder: language.value.unnamedLayer,
22759
- urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/tile",
22811
+ urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/tile/wmts",
22760
22812
  description: language.value.imagertyTileServerdescription
22761
22813
  }, {
22762
22814
  type: "arcgismapserver",
@@ -22792,11 +22844,11 @@ const AddDatavue_type_script_setup_true_lang_js_default_ = {
22792
22844
  type: "geojson",
22793
22845
  name: language.value.GeoJson,
22794
22846
  namePlaceholder: language.value.unnamedLayer,
22795
- urlPlaceholder: language.value.format + ": http://<host>:<port>/xxx.geojson",
22847
+ urlPlaceholder: language.value.format + ":http://<host>:<port>/xxx.geojson",
22796
22848
  description: language.value.imagertyGeoJsondescription
22797
22849
  }, {
22798
22850
  type: "mvt",
22799
- name: language.value.MVT + "(未实现)",
22851
+ name: language.value.MVT,
22800
22852
  namePlaceholder: language.value.unnamedLayer,
22801
22853
  urlPlaceholder: language.value.format + ":http://<host>:<port>/mvt/style.json",
22802
22854
  description: language.value.imagertyMVTdescription
@@ -23287,7 +23339,10 @@ class ParticleEffectViewModel {
23287
23339
  scenceView._viewer.clock.shouldAnimate = true;
23288
23340
  scenceView._viewer.scene.globe.depthTestAgainstTerrain = true;
23289
23341
  this._scene = scenceView._viewer.scene;
23290
- this._drawManager = scenceView._drawManager;
23342
+ this._drawManager = scenceView._drawManager; // 启动连续绘制
23343
+
23344
+ this._drawManager.enableMultiDraw(true);
23345
+
23291
23346
  _gravityScratch = new Cesium.Cartesian3();
23292
23347
  var that = this;
23293
23348
  that._removeEventListener = that._drawManager.drawFinishedEvent.addEventListener(shape => {
@@ -23390,6 +23445,8 @@ class ParticleEffectViewModel {
23390
23445
  clear() {
23391
23446
  this._drawManager.stopDraw();
23392
23447
 
23448
+ this._drawManager.clear();
23449
+
23393
23450
  for (let i = 0; i < this._particleSystemList.length; i++) {
23394
23451
  this._scene.primitives.remove(this._particleSystemList[i]);
23395
23452
  }
@@ -23399,7 +23456,10 @@ class ParticleEffectViewModel {
23399
23456
 
23400
23457
 
23401
23458
  destroy() {
23402
- this.clear(); //移除监听事件
23459
+ this.clear();
23460
+
23461
+ this._drawManager.enableMultiDraw(false); //移除监听事件
23462
+
23403
23463
 
23404
23464
  this._removeEventListener && this._removeEventListener();
23405
23465
  this._removeEventListener = null;
@@ -24430,6 +24490,8 @@ class WeatherEffectViewModel {
24430
24490
  clear() {
24431
24491
  this._drawManager.stopDraw();
24432
24492
 
24493
+ this._drawManager.clear();
24494
+
24433
24495
  this._particleSystem && this._scene.primitives.remove(this._particleSystem);
24434
24496
  this._particleSystem = null;
24435
24497
  } //销毁
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"3.3.0-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"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.3","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":"3.3.2-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"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.3","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"}}
@@ -189,7 +189,10 @@ class ParticleEffectViewModel {
189
189
  scenceView._viewer.clock.shouldAnimate = true;
190
190
  scenceView._viewer.scene.globe.depthTestAgainstTerrain = true;
191
191
  this._scene = scenceView._viewer.scene;
192
- this._drawManager = scenceView._drawManager;
192
+ this._drawManager = scenceView._drawManager; // 启动连续绘制
193
+
194
+ this._drawManager.enableMultiDraw(true);
195
+
193
196
  _gravityScratch = new Cesium.Cartesian3();
194
197
  var that = this;
195
198
  that._removeEventListener = that._drawManager.drawFinishedEvent.addEventListener(shape => {
@@ -292,6 +295,8 @@ class ParticleEffectViewModel {
292
295
  clear() {
293
296
  this._drawManager.stopDraw();
294
297
 
298
+ this._drawManager.clear();
299
+
295
300
  for (let i = 0; i < this._particleSystemList.length; i++) {
296
301
  this._scene.primitives.remove(this._particleSystemList[i]);
297
302
  }
@@ -301,7 +306,10 @@ class ParticleEffectViewModel {
301
306
 
302
307
 
303
308
  destroy() {
304
- this.clear(); //移除监听事件
309
+ this.clear();
310
+
311
+ this._drawManager.enableMultiDraw(false); //移除监听事件
312
+
305
313
 
306
314
  this._removeEventListener && this._removeEventListener();
307
315
  this._removeEventListener = null;
@@ -821,6 +821,27 @@ class AddDataViewModel {
821
821
  cb && cb(node);
822
822
  break;
823
823
 
824
+ case "mvt":
825
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
826
+ name: name,
827
+ style: url
828
+ }));
829
+ this.flyToLayer(layer);
830
+ node = {
831
+ guid: layer.guid,
832
+ name: name,
833
+ visible: true,
834
+ serverType: "imagerylayer",
835
+ lsType: "ls",
836
+ url: url,
837
+ addType: type
838
+ };
839
+
840
+ this._layerManager.addTempLayerNode(node);
841
+
842
+ cb && cb(node);
843
+ break;
844
+
824
845
  case "wms":
825
846
  this._viewer.addWMSLayerGroup(url).then(group => {
826
847
  node = {
@@ -857,6 +878,7 @@ class AddDataViewModel {
857
878
  break;
858
879
 
859
880
  case "wmts":
881
+ case "kqgistileserver":
860
882
  this._viewer.addWMTSLayerGroup(url).then(group => {
861
883
  node = {
862
884
  guid: group.guid,
@@ -1256,9 +1278,9 @@ const __default__ = {
1256
1278
  description: language.value.imagertyDataflowServerdescription
1257
1279
  }, {
1258
1280
  type: "kqgistileserver",
1259
- name: language.value.KQGISTileServer + "(未实现)",
1281
+ name: language.value.KQGISTileServer,
1260
1282
  namePlaceholder: language.value.unnamedLayer,
1261
- urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/tile",
1283
+ urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/tile/wmts",
1262
1284
  description: language.value.imagertyTileServerdescription
1263
1285
  }, {
1264
1286
  type: "arcgismapserver",
@@ -1294,11 +1316,11 @@ const __default__ = {
1294
1316
  type: "geojson",
1295
1317
  name: language.value.GeoJson,
1296
1318
  namePlaceholder: language.value.unnamedLayer,
1297
- urlPlaceholder: language.value.format + ": http://<host>:<port>/xxx.geojson",
1319
+ urlPlaceholder: language.value.format + ":http://<host>:<port>/xxx.geojson",
1298
1320
  description: language.value.imagertyGeoJsondescription
1299
1321
  }, {
1300
1322
  type: "mvt",
1301
- name: language.value.MVT + "(未实现)",
1323
+ name: language.value.MVT,
1302
1324
  namePlaceholder: language.value.unnamedLayer,
1303
1325
  urlPlaceholder: language.value.format + ":http://<host>:<port>/mvt/style.json",
1304
1326
  description: language.value.imagertyMVTdescription
@@ -14832,7 +14854,10 @@ class ParticleEffectViewModel {
14832
14854
  scenceView._viewer.clock.shouldAnimate = true;
14833
14855
  scenceView._viewer.scene.globe.depthTestAgainstTerrain = true;
14834
14856
  this._scene = scenceView._viewer.scene;
14835
- this._drawManager = scenceView._drawManager;
14857
+ this._drawManager = scenceView._drawManager; // 启动连续绘制
14858
+
14859
+ this._drawManager.enableMultiDraw(true);
14860
+
14836
14861
  _gravityScratch = new Cesium.Cartesian3();
14837
14862
  var that = this;
14838
14863
  that._removeEventListener = that._drawManager.drawFinishedEvent.addEventListener(shape => {
@@ -14935,6 +14960,8 @@ class ParticleEffectViewModel {
14935
14960
  clear() {
14936
14961
  this._drawManager.stopDraw();
14937
14962
 
14963
+ this._drawManager.clear();
14964
+
14938
14965
  for (let i = 0; i < this._particleSystemList.length; i++) {
14939
14966
  this._scene.primitives.remove(this._particleSystemList[i]);
14940
14967
  }
@@ -14944,7 +14971,10 @@ class ParticleEffectViewModel {
14944
14971
 
14945
14972
 
14946
14973
  destroy() {
14947
- this.clear(); //移除监听事件
14974
+ this.clear();
14975
+
14976
+ this._drawManager.enableMultiDraw(false); //移除监听事件
14977
+
14948
14978
 
14949
14979
  this._removeEventListener && this._removeEventListener();
14950
14980
  this._removeEventListener = null;
@@ -20039,9 +20069,12 @@ var update = injectStylesIntoStyleTag_default()(divpoint/* default */.Z, options
20039
20069
 
20040
20070
 
20041
20071
  /* harmony default export */ var style_divpoint = (divpoint/* default.locals */.Z.locals || {});
20072
+ // EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
20073
+ var const_image_ = __webpack_require__(9702);
20042
20074
  ;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/SightlineAnalysisViewModel.js
20043
20075
 
20044
20076
 
20077
+
20045
20078
  //通视分析逻辑类
20046
20079
 
20047
20080
  class SightlineAnalysisViewModel {
@@ -20055,6 +20088,7 @@ class SightlineAnalysisViewModel {
20055
20088
  //创建的divpoint集合
20056
20089
  //拾取的点位集合
20057
20090
  //高亮的障碍物的id集合
20091
+ // 点位图标billboards集合
20058
20092
  constructor(scenceView, options) {
20059
20093
  (0,defineProperty/* default */.Z)(this, "_viewer", null);
20060
20094
 
@@ -20076,6 +20110,8 @@ class SightlineAnalysisViewModel {
20076
20110
 
20077
20111
  (0,defineProperty/* default */.Z)(this, "_highlightIds", []);
20078
20112
 
20113
+ (0,defineProperty/* default */.Z)(this, "_billboards", []);
20114
+
20079
20115
  this._viewer = scenceView._viewer;
20080
20116
  this._viewer.scene.postProcessStages._fxaa.enabled = true;
20081
20117
  this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
@@ -20098,9 +20134,14 @@ class SightlineAnalysisViewModel {
20098
20134
  options.isLabel = false;
20099
20135
  this._sightlineAnalysis = new Cesium.Kq3dSightAnalysis(options);
20100
20136
  this._drawManager = scenceView._drawManager;
20137
+
20138
+ this._drawManager.enableMultiDraw(true);
20139
+
20101
20140
  let that = this;
20102
20141
  this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
20103
20142
  if (shape && shape.type === "marker") {
20143
+ that.createBillboard(shape.position);
20144
+
20104
20145
  if (that._addType === 1) {
20105
20146
  that._sightlineAnalysis.setSeePoint(shape.position);
20106
20147
 
@@ -20117,6 +20158,19 @@ class SightlineAnalysisViewModel {
20117
20158
  that._drawManager.clear();
20118
20159
  }
20119
20160
  });
20161
+ } // 创建图标
20162
+
20163
+
20164
+ createBillboard(pos) {
20165
+ this._billboards.push(this._viewer.entities.add({
20166
+ position: pos,
20167
+ billboard: {
20168
+ image: this._addType === 1 ? const_image_.OBSERVATION_POINT : const_image_.TARGET_POINT,
20169
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
20170
+ scale: 0.15,
20171
+ disableDepthTestDistance: Number.POSITIVE_INFINITY
20172
+ }
20173
+ }));
20120
20174
  } //创建点位置
20121
20175
 
20122
20176
 
@@ -20213,7 +20267,7 @@ class SightlineAnalysisViewModel {
20213
20267
  this._addType = 1;
20214
20268
 
20215
20269
  this._drawManager.startDraw("point", {
20216
- image: null
20270
+ image: const_image_.OBSERVATION_POINT
20217
20271
  });
20218
20272
  } //添加目标点
20219
20273
 
@@ -20223,7 +20277,7 @@ class SightlineAnalysisViewModel {
20223
20277
  this._addType = 2;
20224
20278
 
20225
20279
  this._drawManager.startDraw("point", {
20226
- image: null
20280
+ image: const_image_.TARGET_POINT
20227
20281
  });
20228
20282
  } //清除显示结果
20229
20283
 
@@ -20235,6 +20289,15 @@ class SightlineAnalysisViewModel {
20235
20289
  }
20236
20290
 
20237
20291
  this._pointCollection = [];
20292
+ } // 清楚billboards
20293
+
20294
+
20295
+ clearBillboards() {
20296
+ for (var i = 0; i < this._billboards.length; i++) {
20297
+ this._viewer.entities.remove(this._billboards[i]);
20298
+ }
20299
+
20300
+ this._billboards = [];
20238
20301
  } //清除全部
20239
20302
 
20240
20303
 
@@ -20243,6 +20306,7 @@ class SightlineAnalysisViewModel {
20243
20306
 
20244
20307
  this.clearDisplay();
20245
20308
  this.clearHighlights();
20309
+ this.clearBillboards();
20246
20310
  this._sightlineAnalysis && this._sightlineAnalysis.remove();
20247
20311
  } //销毁
20248
20312
 
@@ -20255,6 +20319,8 @@ class SightlineAnalysisViewModel {
20255
20319
 
20256
20320
  this._removeEventListener && this._removeEventListener();
20257
20321
  this._removeEventListener = null;
20322
+
20323
+ this._drawManager.enableMultiDraw(false);
20258
20324
  } // //设置线宽
20259
20325
  // setLineWidth(lineWith) {
20260
20326
  // this._sightlineAnalysis.lineWith = Number(lineWith);
@@ -24354,6 +24420,8 @@ class WeatherEffectViewModel {
24354
24420
  clear() {
24355
24421
  this._drawManager.stopDraw();
24356
24422
 
24423
+ this._drawManager.clear();
24424
+
24357
24425
  this._particleSystem && this._scene.primitives.remove(this._particleSystem);
24358
24426
  this._particleSystem = null;
24359
24427
  } //销毁
@@ -25995,7 +26063,7 @@ class DrawManager {
25995
26063
 
25996
26064
  if (type === "point") {
25997
26065
  type = "marker";
25998
- this._viewer.scene.globe.depthTestAgainstTerrain = false;
26066
+ options.disableDepthTestDistance = Number.POSITIVE_INFINITY;
25999
26067
  }
26000
26068
 
26001
26069
  if (!options) options = {};
@@ -26365,7 +26433,6 @@ class LayerManager {
26365
26433
  //记录置顶图层index
26366
26434
  //地形集合
26367
26435
  //加载geojson数据样式
26368
- //guid映射
26369
26436
  constructor(scenceView) {
26370
26437
  (0,defineProperty/* default */.Z)(this, "_scenceView", null);
26371
26438
 
@@ -26420,8 +26487,6 @@ class LayerManager {
26420
26487
  }
26421
26488
  });
26422
26489
 
26423
- (0,defineProperty/* default */.Z)(this, "_guidMapping", {});
26424
-
26425
26490
  this._scenceView = scenceView;
26426
26491
  this._viewer = scenceView._viewer;
26427
26492
  this._scenceShowLayers = scenceView._props.defaultShowLayerNames;
@@ -26617,7 +26682,7 @@ class LayerManager {
26617
26682
  url: url,
26618
26683
  ...params
26619
26684
  }));
26620
- this._guidMapping[layerData.guid] = layer.guid;
26685
+ layer._guid = layerData.guid;
26621
26686
  layerData.visible = true;
26622
26687
  layerData.serverType = "imagerylayer";
26623
26688
  break;
@@ -26629,8 +26694,7 @@ class LayerManager {
26629
26694
  url: url,
26630
26695
  ...params
26631
26696
  });
26632
- if (!layer.guid) layer.guid = Cesium.createGuid();
26633
- this._guidMapping[layerData.guid] = layer.guid;
26697
+ layer.guid = layerData.guid;
26634
26698
  layerData.visible = true;
26635
26699
  layerData.serverType = "terrainprovider";
26636
26700
  this._viewer.terrainProvider = layer;
@@ -26648,12 +26712,11 @@ class LayerManager {
26648
26712
  requestWaterMask: false,
26649
26713
  ...params
26650
26714
  });
26651
- if (!layer.guid) layer.guid = Cesium.createGuid();
26715
+ layer.guid = layerData.guid;
26652
26716
  this._viewer.terrainProvider = layer;
26653
26717
 
26654
26718
  this._terrainProviders.push(layer);
26655
26719
 
26656
- this._guidMapping[layerData.guid] = layer.guid;
26657
26720
  layerData.visible = true;
26658
26721
  layerData.serverType = "terrainprovider";
26659
26722
  break;
@@ -26664,7 +26727,9 @@ class LayerManager {
26664
26727
  url: url,
26665
26728
  ...params
26666
26729
  }));
26667
- this._guidMapping[layerData.guid] = layer.guid;
26730
+ if (layerData.style && layer) layer.style = layerData.style;
26731
+ if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
26732
+ layer._guid = layerData.guid;
26668
26733
  layerData.visible = true;
26669
26734
  layerData.serverType = "3dtiles";
26670
26735
  break;
@@ -26684,14 +26749,14 @@ class LayerManager {
26684
26749
  serverType = "imagerylayer";
26685
26750
  } else if (layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
26686
26751
  serverType = "terrainprovider";
26752
+ layer.guid = layerData.guid;
26687
26753
 
26688
26754
  that._terrainProviders.push(layer);
26689
26755
  } else if (layer instanceof Cesium.Kq3dGeoJsonDataSource) {
26690
26756
  serverType = "datasource";
26691
26757
  }
26692
26758
 
26693
- if (!layer.guid) layer.guid = Cesium.createGuid();
26694
- this._guidMapping[layerData.guid] = layer.guid;
26759
+ layer._guid = layerData.guid;
26695
26760
  layerData.visible = true;
26696
26761
  layerData.serverType = serverType;
26697
26762
  }
@@ -26705,7 +26770,7 @@ class LayerManager {
26705
26770
  layerName: layerData.layerName,
26706
26771
  ...params
26707
26772
  }));
26708
- this._guidMapping[layerData.guid] = layer.guid;
26773
+ layer._guid = layerData.guid;
26709
26774
  layerData.visible = true;
26710
26775
  layerData.serverType = "imagerylayer";
26711
26776
  break;
@@ -26736,7 +26801,7 @@ class LayerManager {
26736
26801
 
26737
26802
  this._viewer.imageryLayers.add(layer);
26738
26803
 
26739
- this._guidMapping[layerData.guid] = layer.guid;
26804
+ layer._guid = layerData.guid;
26740
26805
  layerData.serverType = "imagerylayer";
26741
26806
  break;
26742
26807
 
@@ -26747,9 +26812,18 @@ class LayerManager {
26747
26812
  layers: layerData.id + "",
26748
26813
  ...params
26749
26814
  }));
26750
- if (layerData.style && layer) layer.style = layerData.style;
26751
- if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
26752
- this._guidMapping[layerData.guid] = layer.guid;
26815
+ layer._guid = layerData.guid;
26816
+ layerData.visible = true;
26817
+ layerData.serverType = "imagerylayer";
26818
+ break;
26819
+
26820
+ case "mvt":
26821
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
26822
+ name: name,
26823
+ url: url,
26824
+ ...params
26825
+ }));
26826
+ layer._guid = layerData.guid;
26753
26827
  layerData.visible = true;
26754
26828
  layerData.serverType = "imagerylayer";
26755
26829
  break;
@@ -26770,7 +26844,7 @@ class LayerManager {
26770
26844
  };
26771
26845
  if (layerData.styles) options.parameters.styles = layerData.styles;
26772
26846
  layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
26773
- this._guidMapping[layerData.guid] = layer.guid;
26847
+ layer._guid = layerData.guid;
26774
26848
  layerData.visible = true;
26775
26849
  layerData.serverType = "imagerylayer";
26776
26850
  } else {
@@ -26795,7 +26869,7 @@ class LayerManager {
26795
26869
  }
26796
26870
  }
26797
26871
 
26798
- this._guidMapping[layerData.guid] = layers[0].guid;
26872
+ layers[0]._guid = layerData.guid;
26799
26873
  layerData.name = name || layers[0].name;
26800
26874
  layerData.visible = true;
26801
26875
  layerData.serverType = "imagerylayer";
@@ -26806,6 +26880,7 @@ class LayerManager {
26806
26880
  break;
26807
26881
 
26808
26882
  case "wmts":
26883
+ case "kqgistileserver":
26809
26884
  //配置id时只能是单个图层
26810
26885
  promise = this._viewer.addWMTSLayerGroup(url, {
26811
26886
  layers: layerData.id + ""
@@ -26828,7 +26903,7 @@ class LayerManager {
26828
26903
  }
26829
26904
  }
26830
26905
 
26831
- this._guidMapping[layerData.guid] = layers[0].guid;
26906
+ layers[0]._guid = layerData.guid;
26832
26907
  layerData.name = name || layers[0].name;
26833
26908
  layerData.visible = true;
26834
26909
  layerData.serverType = "imagerylayer";
@@ -26869,7 +26944,7 @@ class LayerManager {
26869
26944
  this._viewer.dataSources.add(ds);
26870
26945
 
26871
26946
  ds.autoAvoid(this._viewer);
26872
- this._guidMapping[layerData.guid] = ds.guid;
26947
+ ds._guid = layerData.guid;
26873
26948
  layerData.visible = true;
26874
26949
  layerData.serverType = "datasource";
26875
26950
  });
@@ -26885,7 +26960,7 @@ class LayerManager {
26885
26960
  promise = ds.load(url).then(ds => {
26886
26961
  this._viewer.dataSources.add(ds);
26887
26962
 
26888
- this._guidMapping[layerData.guid] = ds.guid;
26963
+ ds._guid = layerData.guid;
26889
26964
  layerData.visible = true;
26890
26965
  layerData.serverType = "datasource";
26891
26966
  });
@@ -26896,7 +26971,7 @@ class LayerManager {
26896
26971
  promise = ds.load(url).then(ds => {
26897
26972
  this._viewer.dataSources.add(ds);
26898
26973
 
26899
- this._guidMapping[layerData.guid] = ds.guid;
26974
+ ds._guid = layerData.guid;
26900
26975
  layerData.visible = true;
26901
26976
  layerData.serverType = "datasource";
26902
26977
  });
@@ -26908,7 +26983,7 @@ class LayerManager {
26908
26983
  mapStyle: layerData.layerType + "_c",
26909
26984
  ...params
26910
26985
  }));
26911
- this._guidMapping[layerData.guid] = layer.guid;
26986
+ layer._guid = layerData.guid;
26912
26987
  layerData.visible = true;
26913
26988
  layerData.serverType = "imagerylayer";
26914
26989
  break;
@@ -26919,7 +26994,7 @@ class LayerManager {
26919
26994
  mapStyle: layerData.layerType,
26920
26995
  ...params
26921
26996
  }));
26922
- this._guidMapping[layerData.guid] = layer.guid;
26997
+ layer._guid = layerData.guid;
26923
26998
  layerData.visible = true;
26924
26999
  layerData.serverType = "imagerylayer";
26925
27000
  break;
@@ -26930,7 +27005,7 @@ class LayerManager {
26930
27005
  mapStyle: layerData.layerType,
26931
27006
  ...params
26932
27007
  }));
26933
- this._guidMapping[layerData.guid] = layer.guid;
27008
+ layer._guid = layerData.guid;
26934
27009
  layerData.visible = true;
26935
27010
  layerData.serverType = "imagerylayer";
26936
27011
  break;
@@ -26941,7 +27016,7 @@ class LayerManager {
26941
27016
  mapStyle: layerData.layerType,
26942
27017
  ...params
26943
27018
  }));
26944
- this._guidMapping[layerData.guid] = layer.guid;
27019
+ layer._guid = layerData.guid;
26945
27020
  layerData.visible = true;
26946
27021
  layerData.serverType = "imagerylayer";
26947
27022
  break;
@@ -27010,7 +27085,7 @@ class LayerManager {
27010
27085
  layers: layer.id + ""
27011
27086
  });
27012
27087
  var imageryLayer = new Cesium.ImageryLayer(imageryProvider);
27013
- imageryLayer.name = layer.guid;
27088
+ imageryLayer._guid = layer.guid;
27014
27089
 
27015
27090
  that._viewer.imageryLayers.add(imageryLayer);
27016
27091
  }
@@ -27094,7 +27169,7 @@ class LayerManager {
27094
27169
  layers: this._layerListData[i].id + ""
27095
27170
  });
27096
27171
  var imageryLayer = new Cesium.ImageryLayer(imageryProvider);
27097
- imageryLayer.name = this._layerListData[i].guid;
27172
+ imageryLayer._guid = this._layerListData[i].guid;
27098
27173
  var addIndex = this.getImageryLayerAddIndex(ids[z]);
27099
27174
 
27100
27175
  if (addIndex > -1) {
@@ -27214,15 +27289,7 @@ class LayerManager {
27214
27289
  type = this.getLayerTypeByGuid(guid);
27215
27290
  }
27216
27291
 
27217
- guid = this._guidMapping[guid] || guid;
27218
-
27219
- if (type === "kqserver") {
27220
- let imageryLayers = this._viewer.imageryLayers._layers;
27221
- let layer = imageryLayers.find(item => {
27222
- return item.name === guid;
27223
- });
27224
- return layer;
27225
- } else if (type === "imagerylayer") {
27292
+ if (type === "kqserver" || type === "imagerylayer") {
27226
27293
  let imageryLayers = this._viewer.imageryLayers._layers;
27227
27294
  let layer = imageryLayers.find(item => {
27228
27295
  return item.guid === guid;
@@ -27849,16 +27916,13 @@ class ScenceViewViewModel extends (mitt_default()) {
27849
27916
  } //销毁
27850
27917
 
27851
27918
 
27852
- destroy() {
27853
- if (this._removeEventListener) {
27854
- this._removeEventListener();
27855
-
27856
- this._removeEventListener = null;
27857
- }
27858
-
27859
- this._viewer = null;
27860
- this._drawManager = null;
27861
- this._layerManager = null;
27919
+ destroy() {// if (this._removeEventListener) {
27920
+ // this._removeEventListener();
27921
+ // this._removeEventListener = null;
27922
+ // }
27923
+ // this._viewer = null;
27924
+ // this._drawManager = null;
27925
+ // this._layerManager = null;
27862
27926
  } //创建底图
27863
27927
 
27864
27928
 
@@ -379,6 +379,13 @@ module.exports = require("core-js/modules/es.array.includes.js");
379
379
 
380
380
  /***/ }),
381
381
 
382
+ /***/ 9702:
383
+ /***/ (function(module) {
384
+
385
+ module.exports = require("@kq_npm/client_common_vue/_utils/const-image");
386
+
387
+ /***/ }),
388
+
382
389
  /***/ 826:
383
390
  /***/ (function(module) {
384
391
 
@@ -542,9 +549,12 @@ var update = injectStylesIntoStyleTag_default()(divpoint/* default */.Z, options
542
549
 
543
550
 
544
551
  /* harmony default export */ var style_divpoint = (divpoint/* default.locals */.Z.locals || {});
552
+ // EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
553
+ var const_image_ = __webpack_require__(9702);
545
554
  ;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/SightlineAnalysisViewModel.js
546
555
 
547
556
 
557
+
548
558
  //通视分析逻辑类
549
559
 
550
560
  class SightlineAnalysisViewModel {
@@ -558,6 +568,7 @@ class SightlineAnalysisViewModel {
558
568
  //创建的divpoint集合
559
569
  //拾取的点位集合
560
570
  //高亮的障碍物的id集合
571
+ // 点位图标billboards集合
561
572
  constructor(scenceView, options) {
562
573
  (0,defineProperty/* default */.Z)(this, "_viewer", null);
563
574
 
@@ -579,6 +590,8 @@ class SightlineAnalysisViewModel {
579
590
 
580
591
  (0,defineProperty/* default */.Z)(this, "_highlightIds", []);
581
592
 
593
+ (0,defineProperty/* default */.Z)(this, "_billboards", []);
594
+
582
595
  this._viewer = scenceView._viewer;
583
596
  this._viewer.scene.postProcessStages._fxaa.enabled = true;
584
597
  this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
@@ -601,9 +614,14 @@ class SightlineAnalysisViewModel {
601
614
  options.isLabel = false;
602
615
  this._sightlineAnalysis = new Cesium.Kq3dSightAnalysis(options);
603
616
  this._drawManager = scenceView._drawManager;
617
+
618
+ this._drawManager.enableMultiDraw(true);
619
+
604
620
  let that = this;
605
621
  this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
606
622
  if (shape && shape.type === "marker") {
623
+ that.createBillboard(shape.position);
624
+
607
625
  if (that._addType === 1) {
608
626
  that._sightlineAnalysis.setSeePoint(shape.position);
609
627
 
@@ -620,6 +638,19 @@ class SightlineAnalysisViewModel {
620
638
  that._drawManager.clear();
621
639
  }
622
640
  });
641
+ } // 创建图标
642
+
643
+
644
+ createBillboard(pos) {
645
+ this._billboards.push(this._viewer.entities.add({
646
+ position: pos,
647
+ billboard: {
648
+ image: this._addType === 1 ? const_image_.OBSERVATION_POINT : const_image_.TARGET_POINT,
649
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
650
+ scale: 0.15,
651
+ disableDepthTestDistance: Number.POSITIVE_INFINITY
652
+ }
653
+ }));
623
654
  } //创建点位置
624
655
 
625
656
 
@@ -716,7 +747,7 @@ class SightlineAnalysisViewModel {
716
747
  this._addType = 1;
717
748
 
718
749
  this._drawManager.startDraw("point", {
719
- image: null
750
+ image: const_image_.OBSERVATION_POINT
720
751
  });
721
752
  } //添加目标点
722
753
 
@@ -726,7 +757,7 @@ class SightlineAnalysisViewModel {
726
757
  this._addType = 2;
727
758
 
728
759
  this._drawManager.startDraw("point", {
729
- image: null
760
+ image: const_image_.TARGET_POINT
730
761
  });
731
762
  } //清除显示结果
732
763
 
@@ -738,6 +769,15 @@ class SightlineAnalysisViewModel {
738
769
  }
739
770
 
740
771
  this._pointCollection = [];
772
+ } // 清楚billboards
773
+
774
+
775
+ clearBillboards() {
776
+ for (var i = 0; i < this._billboards.length; i++) {
777
+ this._viewer.entities.remove(this._billboards[i]);
778
+ }
779
+
780
+ this._billboards = [];
741
781
  } //清除全部
742
782
 
743
783
 
@@ -746,6 +786,7 @@ class SightlineAnalysisViewModel {
746
786
 
747
787
  this.clearDisplay();
748
788
  this.clearHighlights();
789
+ this.clearBillboards();
749
790
  this._sightlineAnalysis && this._sightlineAnalysis.remove();
750
791
  } //销毁
751
792
 
@@ -758,6 +799,8 @@ class SightlineAnalysisViewModel {
758
799
 
759
800
  this._removeEventListener && this._removeEventListener();
760
801
  this._removeEventListener = null;
802
+
803
+ this._drawManager.enableMultiDraw(false);
761
804
  } // //设置线宽
762
805
  // setLineWidth(lineWith) {
763
806
  // this._sightlineAnalysis.lineWith = Number(lineWith);
@@ -258,6 +258,8 @@ class WeatherEffectViewModel {
258
258
  clear() {
259
259
  this._drawManager.stopDraw();
260
260
 
261
+ this._drawManager.clear();
262
+
261
263
  this._particleSystem && this._scene.primitives.remove(this._particleSystem);
262
264
  this._particleSystem = null;
263
265
  } //销毁