@kq_npm/client3d_webgl_vue 3.4.3-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/index.js
CHANGED
|
@@ -1288,9 +1288,14 @@ class LayerManager {
|
|
|
1288
1288
|
});
|
|
1289
1289
|
this._promises = [];
|
|
1290
1290
|
Promise.all(sourcePromises).then(() => {
|
|
1291
|
-
layer.layerTreeData.forEach(data => {
|
|
1292
|
-
|
|
1293
|
-
}, this);
|
|
1291
|
+
// layer.layerTreeData.forEach(data => {
|
|
1292
|
+
// this.setLayerInfo(data, layer.sources);
|
|
1293
|
+
// }, this);
|
|
1294
|
+
//倒序加载图层
|
|
1295
|
+
for (let i = layer.layerTreeData.length - 1; i >= 0; i--) {
|
|
1296
|
+
this.setLayerInfo(layer.layerTreeData[i], layer.sources);
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1294
1299
|
Promise.all(this._promises).then(() => {
|
|
1295
1300
|
this._layerTreeData = layer.layerTreeData;
|
|
1296
1301
|
|
|
@@ -1316,10 +1321,14 @@ class LayerManager {
|
|
|
1316
1321
|
|
|
1317
1322
|
setLayerInfo(layerData, sources) {
|
|
1318
1323
|
if (layerData.children) {
|
|
1319
|
-
layerData.guid = Cesium.createGuid();
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1324
|
+
layerData.guid = Cesium.createGuid(); // layerData.children.forEach(child => {
|
|
1325
|
+
// this.setLayerInfo(child, sources);
|
|
1326
|
+
// }, this);
|
|
1327
|
+
//倒序加载子图层
|
|
1328
|
+
|
|
1329
|
+
for (let i = layerData.children.length - 1; i >= 0; i--) {
|
|
1330
|
+
this.setLayerInfo(layerData.children[i], sources);
|
|
1331
|
+
}
|
|
1323
1332
|
} else {
|
|
1324
1333
|
if (layerData.sourceName) {
|
|
1325
1334
|
var source = sources.find(item => {
|
|
@@ -1357,18 +1366,20 @@ class LayerManager {
|
|
|
1357
1366
|
type = "kqgisimageserver";
|
|
1358
1367
|
} else if (layerData.sourceType === "kq3dserver") {
|
|
1359
1368
|
type = "kqgis3dserver";
|
|
1369
|
+
} else if (layerData.sourceType === "mvt") {
|
|
1370
|
+
type = "mvt";
|
|
1360
1371
|
}
|
|
1361
1372
|
|
|
1362
1373
|
layerData.addType = type;
|
|
1363
1374
|
|
|
1364
|
-
this._layerListData.push(layerData);
|
|
1375
|
+
this._layerListData.push(layerData); //是否添加图层
|
|
1365
1376
|
|
|
1366
|
-
if (!this._scenceShowLayers || this._scenceShowLayers.indexOf(layerData.name) > -1) {
|
|
1367
|
-
var promise = this.addLayerData(layerData);
|
|
1368
1377
|
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1378
|
+
let isAdd = !this._scenceShowLayers || this._scenceShowLayers.indexOf(layerData.name) > -1;
|
|
1379
|
+
var promise = this.addLayerData(layerData, isAdd);
|
|
1380
|
+
|
|
1381
|
+
if (promise) {
|
|
1382
|
+
this._promises.push(promise);
|
|
1372
1383
|
}
|
|
1373
1384
|
}
|
|
1374
1385
|
}
|
|
@@ -1376,7 +1387,7 @@ class LayerManager {
|
|
|
1376
1387
|
} //添加图层数据
|
|
1377
1388
|
|
|
1378
1389
|
|
|
1379
|
-
addLayerData(layerData) {
|
|
1390
|
+
addLayerData(layerData, isAdd = true) {
|
|
1380
1391
|
var type = layerData.addType;
|
|
1381
1392
|
let url = layerData.url;
|
|
1382
1393
|
type = type || "";
|
|
@@ -1401,6 +1412,10 @@ class LayerManager {
|
|
|
1401
1412
|
}
|
|
1402
1413
|
}
|
|
1403
1414
|
}
|
|
1415
|
+
} else {
|
|
1416
|
+
if (!name || name === "") {
|
|
1417
|
+
name = layerData.layerType;
|
|
1418
|
+
}
|
|
1404
1419
|
}
|
|
1405
1420
|
|
|
1406
1421
|
layerData.name = name;
|
|
@@ -1410,65 +1425,80 @@ class LayerManager {
|
|
|
1410
1425
|
switch (type) {
|
|
1411
1426
|
case 'kq3dimageryfile':
|
|
1412
1427
|
//影像瓦片文件
|
|
1413
|
-
|
|
1414
|
-
name: name,
|
|
1415
|
-
url: url,
|
|
1416
|
-
...params
|
|
1417
|
-
}));
|
|
1418
|
-
layer._guid = layerData.guid;
|
|
1419
|
-
layerData.visible = true;
|
|
1428
|
+
layerData.visible = isAdd;
|
|
1420
1429
|
layerData.serverType = "imagerylayer";
|
|
1430
|
+
|
|
1431
|
+
if (isAdd) {
|
|
1432
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dFileImageryProvider({
|
|
1433
|
+
name: name,
|
|
1434
|
+
url: url,
|
|
1435
|
+
...params
|
|
1436
|
+
}));
|
|
1437
|
+
layer._guid = layerData.guid;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1421
1440
|
break;
|
|
1422
1441
|
|
|
1423
1442
|
case 'obterrain':
|
|
1424
1443
|
//ob地形瓦片文件
|
|
1425
|
-
|
|
1426
|
-
name: name,
|
|
1427
|
-
url: url,
|
|
1428
|
-
...params
|
|
1429
|
-
});
|
|
1430
|
-
layer.guid = layerData.guid;
|
|
1431
|
-
layerData.visible = true;
|
|
1444
|
+
layerData.visible = isAdd;
|
|
1432
1445
|
layerData.serverType = "terrainprovider";
|
|
1433
|
-
this._viewer.terrainProvider = layer;
|
|
1434
1446
|
|
|
1435
|
-
|
|
1447
|
+
if (isAdd) {
|
|
1448
|
+
layer = new Cesium.Kq3dFileTerrainProvider({
|
|
1449
|
+
name: name,
|
|
1450
|
+
url: url,
|
|
1451
|
+
...params
|
|
1452
|
+
});
|
|
1453
|
+
layer.guid = layerData.guid;
|
|
1454
|
+
this._viewer.terrainProvider = layer;
|
|
1455
|
+
|
|
1456
|
+
this._terrainProviders.push(layer);
|
|
1457
|
+
}
|
|
1436
1458
|
|
|
1437
1459
|
break;
|
|
1438
1460
|
|
|
1439
1461
|
case 'stkterrain':
|
|
1440
1462
|
//stk地形瓦片文件
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
url: url,
|
|
1444
|
-
requestVertexNormals: true,
|
|
1445
|
-
requestWaterMask: false,
|
|
1446
|
-
...params
|
|
1447
|
-
});
|
|
1448
|
-
layer.guid = layerData.guid;
|
|
1449
|
-
this._viewer.terrainProvider = layer;
|
|
1463
|
+
layerData.visible = isAdd;
|
|
1464
|
+
layerData.serverType = "terrainprovider";
|
|
1450
1465
|
|
|
1451
|
-
|
|
1466
|
+
if (isAdd) {
|
|
1467
|
+
layer = new Cesium.CesiumTerrainProvider({
|
|
1468
|
+
name: name,
|
|
1469
|
+
url: url,
|
|
1470
|
+
requestVertexNormals: true,
|
|
1471
|
+
requestWaterMask: false,
|
|
1472
|
+
...params
|
|
1473
|
+
});
|
|
1474
|
+
layer.guid = layerData.guid;
|
|
1475
|
+
this._viewer.terrainProvider = layer;
|
|
1476
|
+
|
|
1477
|
+
this._terrainProviders.push(layer);
|
|
1478
|
+
}
|
|
1452
1479
|
|
|
1453
|
-
layerData.visible = true;
|
|
1454
|
-
layerData.serverType = "terrainprovider";
|
|
1455
1480
|
break;
|
|
1456
1481
|
|
|
1457
1482
|
case "3dtiles":
|
|
1458
|
-
|
|
1459
|
-
name: name,
|
|
1460
|
-
url: url,
|
|
1461
|
-
...params
|
|
1462
|
-
}));
|
|
1463
|
-
if (layerData.style && layer) layer.style = layerData.style;
|
|
1464
|
-
if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
|
|
1465
|
-
layer._guid = layerData.guid;
|
|
1466
|
-
layerData.visible = true;
|
|
1483
|
+
layerData.visible = isAdd;
|
|
1467
1484
|
layerData.serverType = "3dtiles";
|
|
1485
|
+
|
|
1486
|
+
if (isAdd) {
|
|
1487
|
+
layer = this._viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
|
|
1488
|
+
name: name,
|
|
1489
|
+
url: url,
|
|
1490
|
+
...params
|
|
1491
|
+
}));
|
|
1492
|
+
if (layerData.style && layer) layer.style = layerData.style;
|
|
1493
|
+
if (layerData.shader && layer) layer.kq3dCustomShader = layerData.shader;
|
|
1494
|
+
layer._guid = layerData.guid;
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1468
1497
|
break;
|
|
1469
1498
|
|
|
1470
1499
|
case "kqgis3dserver":
|
|
1471
1500
|
var that = this;
|
|
1501
|
+
layerData.visible = isAdd;
|
|
1472
1502
|
promise = this._viewer.addKq3dServerLayerGroupExt(url).then(group => {
|
|
1473
1503
|
var layers = group._addedLayers || group._layers;
|
|
1474
1504
|
|
|
@@ -1478,34 +1508,48 @@ class LayerManager {
|
|
|
1478
1508
|
|
|
1479
1509
|
if (layer instanceof Cesium.Cesium3DTileset) {
|
|
1480
1510
|
serverType = "3dtiles";
|
|
1511
|
+
layer.show = isAdd;
|
|
1481
1512
|
} else if (layer instanceof Cesium.ImageryLayer) {
|
|
1482
1513
|
serverType = "imagerylayer";
|
|
1514
|
+
layer.show = isAdd;
|
|
1483
1515
|
} else if (layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
|
|
1484
1516
|
serverType = "terrainprovider";
|
|
1485
1517
|
layer.guid = layerData.guid;
|
|
1486
1518
|
|
|
1487
1519
|
that._terrainProviders.push(layer);
|
|
1520
|
+
|
|
1521
|
+
if (!isAdd) {
|
|
1522
|
+
layer.readyPromise.then(() => {
|
|
1523
|
+
that._viewer.terrainProvider = that._emptyTerrainProvider;
|
|
1524
|
+
});
|
|
1525
|
+
}
|
|
1488
1526
|
} else if (layer instanceof Cesium.Kq3dGeoJsonDataSource) {
|
|
1489
1527
|
serverType = "datasource";
|
|
1528
|
+
layer.show = isAdd;
|
|
1529
|
+
layerData.shapeType = that.getShapeType(layer);
|
|
1490
1530
|
}
|
|
1491
1531
|
|
|
1492
1532
|
layer._guid = layerData.guid;
|
|
1493
|
-
layerData.visible = true;
|
|
1494
1533
|
layerData.serverType = serverType;
|
|
1495
1534
|
}
|
|
1496
1535
|
});
|
|
1497
1536
|
break;
|
|
1498
1537
|
|
|
1499
1538
|
case "kqgisimageserver":
|
|
1500
|
-
|
|
1501
|
-
name: name,
|
|
1502
|
-
url: url,
|
|
1503
|
-
layerName: layerData.layerName,
|
|
1504
|
-
...params
|
|
1505
|
-
}));
|
|
1506
|
-
layer._guid = layerData.guid;
|
|
1507
|
-
layerData.visible = true;
|
|
1539
|
+
layerData.visible = isAdd;
|
|
1508
1540
|
layerData.serverType = "imagerylayer";
|
|
1541
|
+
layerData.type = "Image"; // 图层树显示图标使用
|
|
1542
|
+
|
|
1543
|
+
if (isAdd) {
|
|
1544
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dKQGISServerImageryProviderExt({
|
|
1545
|
+
name: name,
|
|
1546
|
+
url: url,
|
|
1547
|
+
layerName: layerData.layerName,
|
|
1548
|
+
...params
|
|
1549
|
+
}));
|
|
1550
|
+
layer._guid = layerData.guid;
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1509
1553
|
break;
|
|
1510
1554
|
|
|
1511
1555
|
case "kqgismapserver":
|
|
@@ -1523,125 +1567,145 @@ class LayerManager {
|
|
|
1523
1567
|
}
|
|
1524
1568
|
}
|
|
1525
1569
|
|
|
1526
|
-
layerData.visible =
|
|
1527
|
-
|
|
1528
|
-
url: url,
|
|
1529
|
-
ua_token: layerData.token,
|
|
1530
|
-
layers: layerData.id + "",
|
|
1531
|
-
...params
|
|
1532
|
-
});
|
|
1533
|
-
layer = new Cesium.ImageryLayer(imageryProvider);
|
|
1570
|
+
layerData.visible = isAdd;
|
|
1571
|
+
layerData.serverType = "imagerylayer";
|
|
1534
1572
|
|
|
1535
|
-
|
|
1573
|
+
if (isAdd) {
|
|
1574
|
+
var imageryProvider = new Cesium.Kq3dKQGISMapServerImageryProviderExt({
|
|
1575
|
+
url: url,
|
|
1576
|
+
ua_token: layerData.token,
|
|
1577
|
+
layers: layerData.id + "",
|
|
1578
|
+
...params
|
|
1579
|
+
});
|
|
1580
|
+
layer = new Cesium.ImageryLayer(imageryProvider);
|
|
1581
|
+
|
|
1582
|
+
this._viewer.imageryLayers.add(layer);
|
|
1583
|
+
|
|
1584
|
+
layer._guid = layerData.guid;
|
|
1585
|
+
}
|
|
1536
1586
|
|
|
1537
|
-
layer._guid = layerData.guid;
|
|
1538
|
-
layerData.serverType = "imagerylayer";
|
|
1539
1587
|
break;
|
|
1540
1588
|
|
|
1541
1589
|
case "arcgismapserver":
|
|
1542
|
-
|
|
1543
|
-
name: name,
|
|
1544
|
-
url: url,
|
|
1545
|
-
layers: layerData.id + "",
|
|
1546
|
-
...params
|
|
1547
|
-
}));
|
|
1548
|
-
layer._guid = layerData.guid;
|
|
1549
|
-
layerData.visible = true;
|
|
1590
|
+
layerData.visible = isAdd;
|
|
1550
1591
|
layerData.serverType = "imagerylayer";
|
|
1592
|
+
|
|
1593
|
+
if (isAdd) {
|
|
1594
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dArcGISMapServerImageryProvider({
|
|
1595
|
+
name: name,
|
|
1596
|
+
url: url,
|
|
1597
|
+
layers: layerData.id + "",
|
|
1598
|
+
...params
|
|
1599
|
+
}));
|
|
1600
|
+
layer._guid = layerData.guid;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1551
1603
|
break;
|
|
1552
1604
|
|
|
1553
1605
|
case "mvt":
|
|
1554
|
-
|
|
1555
|
-
name: name,
|
|
1556
|
-
url: url,
|
|
1557
|
-
...params
|
|
1558
|
-
}));
|
|
1559
|
-
layer._guid = layerData.guid;
|
|
1560
|
-
layerData.visible = true;
|
|
1606
|
+
layerData.visible = isAdd;
|
|
1561
1607
|
layerData.serverType = "imagerylayer";
|
|
1608
|
+
layerData.renderType = "vectortile"; // 图层树显示图标使用
|
|
1609
|
+
|
|
1610
|
+
if (isAdd) {
|
|
1611
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
|
|
1612
|
+
name: name,
|
|
1613
|
+
style: url,
|
|
1614
|
+
...params
|
|
1615
|
+
}));
|
|
1616
|
+
layer._guid = layerData.guid;
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1562
1619
|
break;
|
|
1563
1620
|
|
|
1564
1621
|
case "wms":
|
|
1565
1622
|
//配置id时只能是单个图层
|
|
1566
1623
|
if (layerData.rect84) {
|
|
1567
|
-
|
|
1568
|
-
url: url,
|
|
1569
|
-
layers: layerData.id + "",
|
|
1570
|
-
tilingScheme: layerData.epsg == 3857 ? new Cesium.WebMercatorTilingScheme() : new Cesium.GeographicTilingScheme(),
|
|
1571
|
-
rectangle: Cesium.Rectangle.fromDegrees(layerData.rect84[0], layerData.rect84[1], layerData.rect84[2], layerData.rect84[3]),
|
|
1572
|
-
parameters: {
|
|
1573
|
-
transparent: 'true',
|
|
1574
|
-
format: 'image/png'
|
|
1575
|
-
},
|
|
1576
|
-
...params
|
|
1577
|
-
};
|
|
1578
|
-
if (layerData.styles) options.parameters.styles = layerData.styles;
|
|
1579
|
-
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
|
|
1580
|
-
layer._guid = layerData.guid;
|
|
1581
|
-
layerData.visible = true;
|
|
1624
|
+
layerData.visible = isAdd;
|
|
1582
1625
|
layerData.serverType = "imagerylayer";
|
|
1583
|
-
} else {
|
|
1584
|
-
promise = this._viewer.addWMSLayerGroup(url, {
|
|
1585
|
-
layers: layerData.id + ""
|
|
1586
|
-
}).then(group => {
|
|
1587
|
-
var layers = group._addedLayers || group._layers;
|
|
1588
1626
|
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1627
|
+
if (isAdd) {
|
|
1628
|
+
var options = {
|
|
1629
|
+
url: url,
|
|
1630
|
+
layers: layerData.id + "",
|
|
1631
|
+
tilingScheme: layerData.epsg == 3857 ? new Cesium.WebMercatorTilingScheme() : new Cesium.GeographicTilingScheme(),
|
|
1632
|
+
rectangle: Cesium.Rectangle.fromDegrees(layerData.rect84[0], layerData.rect84[1], layerData.rect84[2], layerData.rect84[3]),
|
|
1633
|
+
parameters: {
|
|
1634
|
+
transparent: 'true',
|
|
1635
|
+
format: 'image/png'
|
|
1636
|
+
},
|
|
1637
|
+
...params
|
|
1638
|
+
};
|
|
1639
|
+
if (layerData.styles) options.parameters.styles = layerData.styles;
|
|
1640
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
|
|
1641
|
+
layer._guid = layerData.guid;
|
|
1642
|
+
}
|
|
1643
|
+
} else {
|
|
1644
|
+
//如果是kqserver类型,记录服务返回的图层信息
|
|
1645
|
+
if (layerData.sourceLayers) {
|
|
1646
|
+
var layerInfo = layerData.sourceLayers.find(item => {
|
|
1647
|
+
return item.id + "" == layerData.id + "";
|
|
1648
|
+
});
|
|
1595
1649
|
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1650
|
+
if (layerInfo) {
|
|
1651
|
+
for (var key in layerInfo) {
|
|
1652
|
+
if (!layerData[key]) {
|
|
1653
|
+
layerData[key] = layerInfo[key];
|
|
1602
1654
|
}
|
|
1603
1655
|
}
|
|
1604
|
-
|
|
1605
|
-
layers[0]._guid = layerData.guid;
|
|
1606
|
-
layerData.name = name || layers[0].name;
|
|
1607
|
-
layerData.visible = true;
|
|
1608
|
-
layerData.serverType = "imagerylayer";
|
|
1609
1656
|
}
|
|
1610
|
-
}
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1659
|
+
layerData.visible = isAdd;
|
|
1660
|
+
layerData.serverType = "imagerylayer";
|
|
1661
|
+
|
|
1662
|
+
if (isAdd) {
|
|
1663
|
+
promise = this._viewer.addWMSLayerGroup(url, {
|
|
1664
|
+
layers: layerData.id + ""
|
|
1665
|
+
}).then(group => {
|
|
1666
|
+
var layers = group._addedLayers || group._layers;
|
|
1667
|
+
|
|
1668
|
+
if (layers && layers.length > 0) {
|
|
1669
|
+
layers[0]._guid = layerData.guid;
|
|
1670
|
+
}
|
|
1671
|
+
});
|
|
1672
|
+
}
|
|
1611
1673
|
}
|
|
1612
1674
|
|
|
1613
1675
|
break;
|
|
1614
1676
|
|
|
1615
1677
|
case "wmts":
|
|
1616
1678
|
case "kqgistileserver":
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
if (layers && layers.length > 0) {
|
|
1624
|
-
//如果是kqserver类型,记录服务返回的图层信息
|
|
1625
|
-
if (layerData.sourceLayers) {
|
|
1626
|
-
var layerInfo = layerData.sourceLayers.find(item => {
|
|
1627
|
-
return item.id + "" == layerData.id + "";
|
|
1628
|
-
});
|
|
1679
|
+
//如果是kqserver类型,记录服务返回的图层信息
|
|
1680
|
+
if (layerData.sourceLayers) {
|
|
1681
|
+
var layerInfo = layerData.sourceLayers.find(item => {
|
|
1682
|
+
return item.id + "" == layerData.id + "";
|
|
1683
|
+
});
|
|
1629
1684
|
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
}
|
|
1635
|
-
}
|
|
1685
|
+
if (layerInfo) {
|
|
1686
|
+
for (var key in layerInfo) {
|
|
1687
|
+
if (!layerData[key]) {
|
|
1688
|
+
layerData[key] = layerInfo[key];
|
|
1636
1689
|
}
|
|
1637
1690
|
}
|
|
1638
|
-
|
|
1639
|
-
layers[0]._guid = layerData.guid;
|
|
1640
|
-
layerData.name = name || layers[0].name;
|
|
1641
|
-
layerData.visible = true;
|
|
1642
|
-
layerData.serverType = "imagerylayer";
|
|
1643
1691
|
}
|
|
1644
|
-
}
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1694
|
+
layerData.visible = isAdd;
|
|
1695
|
+
layerData.serverType = "imagerylayer"; //配置id时只能是单个图层
|
|
1696
|
+
|
|
1697
|
+
if (isAdd) {
|
|
1698
|
+
promise = this._viewer.addWMTSLayerGroup(url, {
|
|
1699
|
+
layers: layerData.id + ""
|
|
1700
|
+
}).then(group => {
|
|
1701
|
+
var layers = group._addedLayers || group._layers;
|
|
1702
|
+
|
|
1703
|
+
if (layers && layers.length > 0) {
|
|
1704
|
+
layers[0]._guid = layerData.guid;
|
|
1705
|
+
}
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1645
1709
|
break;
|
|
1646
1710
|
// case "wfs":
|
|
1647
1711
|
// var wfsProvider = new Cesium.Kq3dWebFeatureServiceProvider({
|
|
@@ -1662,97 +1726,126 @@ class LayerManager {
|
|
|
1662
1726
|
// break;
|
|
1663
1727
|
|
|
1664
1728
|
case "geojson":
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
promise = ds.load(url, geojsonStyle).then(ds => {
|
|
1668
|
-
ds.entities.values.forEach(entity => {
|
|
1669
|
-
if (entity.polygon) {
|
|
1670
|
-
entity.polyline = {
|
|
1671
|
-
positions: entity.polygon.hierarchy._value.positions,
|
|
1672
|
-
width: geojsonStyle.polygon.outlineWidth,
|
|
1673
|
-
material: geojsonStyle.polygon.outlineColor
|
|
1674
|
-
};
|
|
1675
|
-
}
|
|
1676
|
-
}, this);
|
|
1729
|
+
layerData.visible = isAdd;
|
|
1730
|
+
layerData.serverType = "datasource";
|
|
1677
1731
|
|
|
1678
|
-
|
|
1732
|
+
if (isAdd) {
|
|
1733
|
+
var ds = new Cesium.Kq3dGeoJsonDataSource(name);
|
|
1734
|
+
var geojsonStyle = layerData.geojsonStyle || this._geojsonStyle;
|
|
1735
|
+
promise = ds.load(url, geojsonStyle).then(ds => {
|
|
1736
|
+
ds.entities.values.forEach(entity => {
|
|
1737
|
+
if (entity.polygon) {
|
|
1738
|
+
entity.polyline = {
|
|
1739
|
+
positions: entity.polygon.hierarchy._value.positions,
|
|
1740
|
+
width: geojsonStyle.polygon.outlineWidth,
|
|
1741
|
+
material: geojsonStyle.polygon.outlineColor
|
|
1742
|
+
};
|
|
1743
|
+
}
|
|
1744
|
+
}, this);
|
|
1745
|
+
|
|
1746
|
+
this._viewer.dataSources.add(ds);
|
|
1747
|
+
|
|
1748
|
+
ds.autoAvoid(this._viewer);
|
|
1749
|
+
ds._guid = layerData.guid;
|
|
1750
|
+
layerData.shapeType = this.getShapeType(ds);
|
|
1751
|
+
});
|
|
1752
|
+
}
|
|
1679
1753
|
|
|
1680
|
-
ds.autoAvoid(this._viewer);
|
|
1681
|
-
ds._guid = layerData.guid;
|
|
1682
|
-
layerData.visible = true;
|
|
1683
|
-
layerData.serverType = "datasource";
|
|
1684
|
-
});
|
|
1685
1754
|
break;
|
|
1686
1755
|
|
|
1687
1756
|
case "kml":
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1757
|
+
layerData.visible = isAdd;
|
|
1758
|
+
layerData.serverType = "datasource";
|
|
1759
|
+
|
|
1760
|
+
if (isAdd) {
|
|
1761
|
+
var ds = new Cesium.KmlDataSource({
|
|
1762
|
+
name: name,
|
|
1763
|
+
camera: this._viewer.camera,
|
|
1764
|
+
canvas: this._viewer.scene.canvas,
|
|
1765
|
+
...params
|
|
1766
|
+
});
|
|
1767
|
+
promise = ds.load(url).then(ds => {
|
|
1768
|
+
this._viewer.dataSources.add(ds);
|
|
1769
|
+
|
|
1770
|
+
ds._guid = layerData.guid;
|
|
1771
|
+
});
|
|
1772
|
+
}
|
|
1696
1773
|
|
|
1697
|
-
ds._guid = layerData.guid;
|
|
1698
|
-
layerData.visible = true;
|
|
1699
|
-
layerData.serverType = "datasource";
|
|
1700
|
-
});
|
|
1701
1774
|
break;
|
|
1702
1775
|
|
|
1703
1776
|
case "czml":
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1777
|
+
layerData.visible = isAdd;
|
|
1778
|
+
layerData.serverType = "datasource";
|
|
1779
|
+
|
|
1780
|
+
if (isAdd) {
|
|
1781
|
+
var ds = new Cesium.CzmlDataSource(name);
|
|
1782
|
+
promise = ds.load(url).then(ds => {
|
|
1783
|
+
this._viewer.dataSources.add(ds);
|
|
1784
|
+
|
|
1785
|
+
ds._guid = layerData.guid;
|
|
1786
|
+
});
|
|
1787
|
+
}
|
|
1707
1788
|
|
|
1708
|
-
ds._guid = layerData.guid;
|
|
1709
|
-
layerData.visible = true;
|
|
1710
|
-
layerData.serverType = "datasource";
|
|
1711
|
-
});
|
|
1712
1789
|
break;
|
|
1713
1790
|
|
|
1714
1791
|
case "tianditu":
|
|
1715
|
-
|
|
1716
|
-
name: name,
|
|
1717
|
-
mapStyle: layerData.layerType + "_c",
|
|
1718
|
-
...params
|
|
1719
|
-
}));
|
|
1720
|
-
layer._guid = layerData.guid;
|
|
1721
|
-
layerData.visible = true;
|
|
1792
|
+
layerData.visible = isAdd;
|
|
1722
1793
|
layerData.serverType = "imagerylayer";
|
|
1794
|
+
|
|
1795
|
+
if (isAdd) {
|
|
1796
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dTiandituImageryProvider({
|
|
1797
|
+
name: name,
|
|
1798
|
+
mapStyle: layerData.layerType + "_c",
|
|
1799
|
+
...params
|
|
1800
|
+
}));
|
|
1801
|
+
layer._guid = layerData.guid;
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1723
1804
|
break;
|
|
1724
1805
|
|
|
1725
1806
|
case "baidu":
|
|
1726
|
-
|
|
1727
|
-
name: name,
|
|
1728
|
-
mapStyle: layerData.layerType,
|
|
1729
|
-
...params
|
|
1730
|
-
}));
|
|
1731
|
-
layer._guid = layerData.guid;
|
|
1732
|
-
layerData.visible = true;
|
|
1807
|
+
layerData.visible = isAdd;
|
|
1733
1808
|
layerData.serverType = "imagerylayer";
|
|
1809
|
+
|
|
1810
|
+
if (isAdd) {
|
|
1811
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dBaiduMapsImageryProvider({
|
|
1812
|
+
name: name,
|
|
1813
|
+
mapStyle: layerData.layerType,
|
|
1814
|
+
...params
|
|
1815
|
+
}));
|
|
1816
|
+
layer._guid = layerData.guid;
|
|
1817
|
+
}
|
|
1818
|
+
|
|
1734
1819
|
break;
|
|
1735
1820
|
|
|
1736
1821
|
case "gaode":
|
|
1737
|
-
|
|
1738
|
-
name: name,
|
|
1739
|
-
mapStyle: layerData.layerType,
|
|
1740
|
-
...params
|
|
1741
|
-
}));
|
|
1742
|
-
layer._guid = layerData.guid;
|
|
1743
|
-
layerData.visible = true;
|
|
1822
|
+
layerData.visible = isAdd;
|
|
1744
1823
|
layerData.serverType = "imagerylayer";
|
|
1824
|
+
|
|
1825
|
+
if (isAdd) {
|
|
1826
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dAMapsImageryProvider({
|
|
1827
|
+
name: name,
|
|
1828
|
+
mapStyle: layerData.layerType,
|
|
1829
|
+
...params
|
|
1830
|
+
}));
|
|
1831
|
+
layer._guid = layerData.guid;
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1745
1834
|
break;
|
|
1746
1835
|
|
|
1747
1836
|
case "tencent":
|
|
1748
|
-
|
|
1749
|
-
name: name,
|
|
1750
|
-
mapStyle: layerData.layerType,
|
|
1751
|
-
...params
|
|
1752
|
-
}));
|
|
1753
|
-
layer._guid = layerData.guid;
|
|
1754
|
-
layerData.visible = true;
|
|
1837
|
+
layerData.visible = isAdd;
|
|
1755
1838
|
layerData.serverType = "imagerylayer";
|
|
1839
|
+
|
|
1840
|
+
if (isAdd) {
|
|
1841
|
+
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dQQMapsImageryProvider({
|
|
1842
|
+
name: name,
|
|
1843
|
+
mapStyle: layerData.layerType,
|
|
1844
|
+
...params
|
|
1845
|
+
}));
|
|
1846
|
+
layer._guid = layerData.guid;
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1756
1849
|
break;
|
|
1757
1850
|
|
|
1758
1851
|
default:
|
|
@@ -1760,6 +1853,25 @@ class LayerManager {
|
|
|
1760
1853
|
}
|
|
1761
1854
|
|
|
1762
1855
|
return promise;
|
|
1856
|
+
} // 获取geojson数据类型
|
|
1857
|
+
|
|
1858
|
+
|
|
1859
|
+
getShapeType(ds) {
|
|
1860
|
+
let shapeType = "";
|
|
1861
|
+
|
|
1862
|
+
if (ds.entities.values.length > 0) {
|
|
1863
|
+
let entity = ds.entities.values[0];
|
|
1864
|
+
|
|
1865
|
+
if (entity.polygon) {
|
|
1866
|
+
shapeType = 'polygon';
|
|
1867
|
+
} else if (entity.polyline) {
|
|
1868
|
+
shapeType = 'polyline';
|
|
1869
|
+
} else if (entity.billboard || entity.point) {
|
|
1870
|
+
shapeType = 'point';
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
return shapeType;
|
|
1763
1875
|
} //添加服务数据
|
|
1764
1876
|
|
|
1765
1877
|
|
|
@@ -21749,7 +21861,8 @@ class AddDataViewModel {
|
|
|
21749
21861
|
serverType: "datasource",
|
|
21750
21862
|
lsType: "ls",
|
|
21751
21863
|
url: res,
|
|
21752
|
-
addType: "geojson"
|
|
21864
|
+
addType: "geojson",
|
|
21865
|
+
shapeType: that._layerManager.getShapeType(ds)
|
|
21753
21866
|
};
|
|
21754
21867
|
|
|
21755
21868
|
that._layerManager.addTempLayerNode(layer);
|
|
@@ -21791,7 +21904,8 @@ class AddDataViewModel {
|
|
|
21791
21904
|
serverType: "datasource",
|
|
21792
21905
|
lsType: "ls",
|
|
21793
21906
|
url: res,
|
|
21794
|
-
addType: "geojson"
|
|
21907
|
+
addType: "geojson",
|
|
21908
|
+
shapeType: that._layerManager.getShapeType(ds)
|
|
21795
21909
|
};
|
|
21796
21910
|
|
|
21797
21911
|
that._layerManager.addTempLayerNode(layer);
|
|
@@ -21854,7 +21968,8 @@ class AddDataViewModel {
|
|
|
21854
21968
|
serverType: "datasource",
|
|
21855
21969
|
lsType: "ls",
|
|
21856
21970
|
url: ret,
|
|
21857
|
-
addType: "geojson"
|
|
21971
|
+
addType: "geojson",
|
|
21972
|
+
shapeType: that._layerManager.getShapeType(ds)
|
|
21858
21973
|
};
|
|
21859
21974
|
|
|
21860
21975
|
that._layerManager.addTempLayerNode(layer);
|
|
@@ -22246,7 +22361,9 @@ class AddDataViewModel {
|
|
|
22246
22361
|
lsType: "ls",
|
|
22247
22362
|
url: url,
|
|
22248
22363
|
addType: type,
|
|
22249
|
-
layerName: name
|
|
22364
|
+
layerName: name,
|
|
22365
|
+
type: "Image" // 图层树显示图标使用
|
|
22366
|
+
|
|
22250
22367
|
};
|
|
22251
22368
|
|
|
22252
22369
|
this._layerManager.addTempLayerNode(node);
|
|
@@ -22353,7 +22470,9 @@ class AddDataViewModel {
|
|
|
22353
22470
|
serverType: "imagerylayer",
|
|
22354
22471
|
lsType: "ls",
|
|
22355
22472
|
url: url,
|
|
22356
|
-
addType: type
|
|
22473
|
+
addType: type,
|
|
22474
|
+
renderType: "vectortile" // 图层树显示图标使用
|
|
22475
|
+
|
|
22357
22476
|
};
|
|
22358
22477
|
|
|
22359
22478
|
this._layerManager.addTempLayerNode(node);
|
|
@@ -22367,7 +22486,9 @@ class AddDataViewModel {
|
|
|
22367
22486
|
guid: group.guid,
|
|
22368
22487
|
name: name || "wms",
|
|
22369
22488
|
children: [],
|
|
22370
|
-
lsType: "ls"
|
|
22489
|
+
lsType: "ls",
|
|
22490
|
+
serverType: 'ogcwms' //图层树显示图标使用
|
|
22491
|
+
|
|
22371
22492
|
};
|
|
22372
22493
|
var layers = group._addedLayers || group._layers;
|
|
22373
22494
|
|
|
@@ -22399,12 +22520,20 @@ class AddDataViewModel {
|
|
|
22399
22520
|
case "wmts":
|
|
22400
22521
|
case "kqgistileserver":
|
|
22401
22522
|
this._viewer.addWMTSLayerGroup(url).then(group => {
|
|
22523
|
+
var defaultName = 'wmts';
|
|
22524
|
+
if (type === "kqgistileserver") defaultName = 'tile';
|
|
22402
22525
|
node = {
|
|
22403
22526
|
guid: group.guid,
|
|
22404
|
-
name: name ||
|
|
22527
|
+
name: name || defaultName,
|
|
22405
22528
|
children: [],
|
|
22406
22529
|
lsType: "ls"
|
|
22407
22530
|
};
|
|
22531
|
+
|
|
22532
|
+
if (type === "wmts") {
|
|
22533
|
+
//图层树显示图标使用
|
|
22534
|
+
node.serverType = "ogcwmts";
|
|
22535
|
+
}
|
|
22536
|
+
|
|
22408
22537
|
var layers = group._addedLayers || group._layers;
|
|
22409
22538
|
|
|
22410
22539
|
if (layers) {
|
|
@@ -22490,7 +22619,8 @@ class AddDataViewModel {
|
|
|
22490
22619
|
serverType: "datasource",
|
|
22491
22620
|
lsType: "ls",
|
|
22492
22621
|
url: url,
|
|
22493
|
-
addType: type
|
|
22622
|
+
addType: type,
|
|
22623
|
+
shapeType: this._layerManager.getShapeType(ds)
|
|
22494
22624
|
};
|
|
22495
22625
|
|
|
22496
22626
|
this._layerManager.addTempLayerNode(node);
|