@kq_npm/client3d_webgl_vue 0.7.6-beta → 0.7.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/index.js +95 -198
- package/package.json +1 -1
- package/scenceview/index.js +95 -198
package/index.js
CHANGED
|
@@ -1117,8 +1117,10 @@ class LayerManager {
|
|
|
1117
1117
|
source.mapServerInfo = (0,util_namespaceObject.formatKQMapInfo)(mapInfo.result, serverUrl, serverName, token, null, true);
|
|
1118
1118
|
source.mapServerInfo.layers_old.forEach(layer_old => {
|
|
1119
1119
|
layer_old.guid = source.name + "@@@" + layer_old.id;
|
|
1120
|
-
|
|
1121
|
-
|
|
1120
|
+
layer_old.sourceName = source.name;
|
|
1121
|
+
|
|
1122
|
+
this._layerListData_old.push(layer_old);
|
|
1123
|
+
}, this);
|
|
1122
1124
|
});
|
|
1123
1125
|
sourcePromises.push(sourcePromise);
|
|
1124
1126
|
}
|
|
@@ -1131,7 +1133,20 @@ class LayerManager {
|
|
|
1131
1133
|
Promise.all(this._promises).then(() => {
|
|
1132
1134
|
this._layerTreeData = layer.layerTreeData;
|
|
1133
1135
|
|
|
1134
|
-
this._scenceView.fire("resetLayerDatas");
|
|
1136
|
+
this._scenceView.fire("resetLayerDatas"); //重置Imagerylayer图层顺序,wms和wmts异步加载导致图层顺序错乱
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
this._layerListData.forEach(layerData => {
|
|
1140
|
+
if (layerData.serverType === "imagerylayer") {
|
|
1141
|
+
var imagerylayer = this.getLayerByGuid(layerData.guid, 'imagerylayer');
|
|
1142
|
+
|
|
1143
|
+
if (imagerylayer) {
|
|
1144
|
+
this._viewer.imageryLayers.raiseToTop(imagerylayer);
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
}, this);
|
|
1148
|
+
|
|
1149
|
+
this.recordImageryLayerOriginIndex();
|
|
1135
1150
|
});
|
|
1136
1151
|
});
|
|
1137
1152
|
}
|
|
@@ -1154,6 +1169,7 @@ class LayerManager {
|
|
|
1154
1169
|
layerData.sourceType = source.serverType;
|
|
1155
1170
|
layerData.renderType = source.renderType;
|
|
1156
1171
|
layerData.url = source.url;
|
|
1172
|
+
layerData.guid = layerData.sourceName + "@@@" + (layerData.id || Math.random() * 10);
|
|
1157
1173
|
var type = layerData.renderType;
|
|
1158
1174
|
|
|
1159
1175
|
if (layerData.sourceType === "kqserver") {
|
|
@@ -1182,16 +1198,16 @@ class LayerManager {
|
|
|
1182
1198
|
type = "kqgis3dserver";
|
|
1183
1199
|
}
|
|
1184
1200
|
|
|
1185
|
-
|
|
1201
|
+
layerData.addType = type;
|
|
1186
1202
|
|
|
1187
|
-
|
|
1188
|
-
this._promises.push(promise);
|
|
1203
|
+
this._layerListData.push(layerData);
|
|
1189
1204
|
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1205
|
+
if (!this._scenceShowLayers || this._scenceShowLayers.indexOf(layerData.name) > -1) {
|
|
1206
|
+
var promise = this.addLayerData(layerData);
|
|
1207
|
+
|
|
1208
|
+
if (promise) {
|
|
1209
|
+
this._promises.push(promise);
|
|
1210
|
+
}
|
|
1195
1211
|
}
|
|
1196
1212
|
}
|
|
1197
1213
|
}
|
|
@@ -1199,7 +1215,8 @@ class LayerManager {
|
|
|
1199
1215
|
} //添加图层数据
|
|
1200
1216
|
|
|
1201
1217
|
|
|
1202
|
-
addLayerData(layerData
|
|
1218
|
+
addLayerData(layerData) {
|
|
1219
|
+
var type = layerData.addType;
|
|
1203
1220
|
let url = layerData.url;
|
|
1204
1221
|
type = type || "";
|
|
1205
1222
|
type = type.toLowerCase();
|
|
@@ -1235,15 +1252,9 @@ class LayerManager {
|
|
|
1235
1252
|
name: name,
|
|
1236
1253
|
url: url
|
|
1237
1254
|
}));
|
|
1238
|
-
layerData.guid = layer.guid;
|
|
1255
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
1239
1256
|
layerData.visible = true;
|
|
1240
1257
|
layerData.serverType = "imagerylayer";
|
|
1241
|
-
|
|
1242
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1243
|
-
layerData.visible = false;
|
|
1244
|
-
layer.show = false;
|
|
1245
|
-
}
|
|
1246
|
-
|
|
1247
1258
|
break;
|
|
1248
1259
|
|
|
1249
1260
|
case 'obterrain':
|
|
@@ -1253,18 +1264,13 @@ class LayerManager {
|
|
|
1253
1264
|
url: url
|
|
1254
1265
|
});
|
|
1255
1266
|
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
1256
|
-
layerData.guid = layer.guid;
|
|
1267
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
1257
1268
|
layerData.visible = true;
|
|
1258
|
-
layerData.serverType = "terrainprovider";
|
|
1269
|
+
layerData.serverType = "terrainprovider";
|
|
1270
|
+
this._viewer.terrainProvider = layer;
|
|
1259
1271
|
|
|
1260
1272
|
this._terrainProviders.push(layer);
|
|
1261
1273
|
|
|
1262
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1263
|
-
layerData.visible = false;
|
|
1264
|
-
} else {
|
|
1265
|
-
this._viewer.terrainProvider = layer;
|
|
1266
|
-
}
|
|
1267
|
-
|
|
1268
1274
|
break;
|
|
1269
1275
|
|
|
1270
1276
|
case 'stkterrain':
|
|
@@ -1275,20 +1281,14 @@ class LayerManager {
|
|
|
1275
1281
|
requestVertexNormals: true,
|
|
1276
1282
|
requestWaterMask: false
|
|
1277
1283
|
});
|
|
1278
|
-
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
1284
|
+
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
1285
|
+
this._viewer.terrainProvider = layer;
|
|
1279
1286
|
|
|
1280
1287
|
this._terrainProviders.push(layer);
|
|
1281
1288
|
|
|
1282
|
-
layerData.guid = layer.guid;
|
|
1289
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
1283
1290
|
layerData.visible = true;
|
|
1284
1291
|
layerData.serverType = "terrainprovider";
|
|
1285
|
-
|
|
1286
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1287
|
-
layerData.visible = false;
|
|
1288
|
-
} else {
|
|
1289
|
-
this._viewer.terrainProvider = layer;
|
|
1290
|
-
}
|
|
1291
|
-
|
|
1292
1292
|
break;
|
|
1293
1293
|
|
|
1294
1294
|
case "3dtiles":
|
|
@@ -1296,87 +1296,36 @@ class LayerManager {
|
|
|
1296
1296
|
name: name,
|
|
1297
1297
|
url: url
|
|
1298
1298
|
}));
|
|
1299
|
-
layerData.guid = layer.guid;
|
|
1299
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
1300
1300
|
layerData.visible = true;
|
|
1301
1301
|
layerData.serverType = "3dtiles";
|
|
1302
|
-
|
|
1303
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1304
|
-
layerData.visible = false;
|
|
1305
|
-
layer.show = false;
|
|
1306
|
-
}
|
|
1307
|
-
|
|
1308
1302
|
break;
|
|
1309
1303
|
|
|
1310
1304
|
case "kqgis3dserver":
|
|
1311
|
-
var hideLayer = this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1;
|
|
1312
1305
|
var that = this;
|
|
1313
1306
|
promise = this._viewer.addKq3dServerLayerGroupExt(url).then(group => {
|
|
1314
1307
|
var layers = group._addedLayers || group._layers;
|
|
1315
1308
|
|
|
1316
|
-
if (layers) {
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1309
|
+
if (layers && layers.length > 0) {
|
|
1310
|
+
layer = layers[0];
|
|
1311
|
+
var serverType = "";
|
|
1312
|
+
|
|
1313
|
+
if (layer instanceof Cesium.Cesium3DTileset) {
|
|
1314
|
+
serverType = "3dtiles";
|
|
1315
|
+
} else if (layer instanceof Cesium.ImageryLayer) {
|
|
1316
|
+
serverType = "imagerylayer";
|
|
1317
|
+
} else if (layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
|
|
1318
|
+
serverType = "terrainprovider";
|
|
1319
|
+
|
|
1320
|
+
that._terrainProviders.push(layer);
|
|
1321
|
+
} else if (layer instanceof Cesium.Kq3dGeoJsonDataSource) {
|
|
1322
|
+
serverType = "datasource";
|
|
1322
1323
|
}
|
|
1323
1324
|
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
serverType = "3dtiles";
|
|
1329
|
-
} else if (layers[i] instanceof Cesium.ImageryLayer) {
|
|
1330
|
-
serverType = "imagerylayer";
|
|
1331
|
-
} else if (layers[i] instanceof Cesium.Kq3dFileTerrainProvider || layers[i] instanceof Cesium.CesiumTerrainProvider) {
|
|
1332
|
-
serverType = "terrainprovider";
|
|
1333
|
-
|
|
1334
|
-
that._terrainProviders.push(layers[i]);
|
|
1335
|
-
} else if (layers[i] instanceof Cesium.Kq3dGeoJsonDataSource) {
|
|
1336
|
-
serverType = "datasource";
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
|
-
if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
|
|
1340
|
-
|
|
1341
|
-
if (length > 1) {
|
|
1342
|
-
var child = {
|
|
1343
|
-
guid: layers[i].guid,
|
|
1344
|
-
name: layers[i].name,
|
|
1345
|
-
visible: true,
|
|
1346
|
-
serverType: serverType
|
|
1347
|
-
};
|
|
1348
|
-
|
|
1349
|
-
if (hideLayer) {
|
|
1350
|
-
child.visible = false;
|
|
1351
|
-
|
|
1352
|
-
if (serverType === "terrainprovider") {
|
|
1353
|
-
layers[i].readyPromise.then(() => {
|
|
1354
|
-
that._viewer.terrainProvider = that._emptyTerrainProvider;
|
|
1355
|
-
});
|
|
1356
|
-
} else {
|
|
1357
|
-
layers[i].show = false;
|
|
1358
|
-
}
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
layerData.children.push(child);
|
|
1362
|
-
} else {
|
|
1363
|
-
layerData.guid = layers[i].guid;
|
|
1364
|
-
layerData.visible = true;
|
|
1365
|
-
layerData.serverType = serverType;
|
|
1366
|
-
|
|
1367
|
-
if (hideLayer) {
|
|
1368
|
-
layerData.visible = false;
|
|
1369
|
-
|
|
1370
|
-
if (serverType === "terrainprovider") {
|
|
1371
|
-
layers[i].readyPromise.then(() => {
|
|
1372
|
-
that._viewer.terrainProvider = that._emptyTerrainProvider;
|
|
1373
|
-
});
|
|
1374
|
-
} else {
|
|
1375
|
-
layers[i].show = false;
|
|
1376
|
-
}
|
|
1377
|
-
}
|
|
1378
|
-
}
|
|
1379
|
-
}
|
|
1325
|
+
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
1326
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
1327
|
+
layerData.visible = true;
|
|
1328
|
+
layerData.serverType = serverType;
|
|
1380
1329
|
}
|
|
1381
1330
|
});
|
|
1382
1331
|
break;
|
|
@@ -1387,19 +1336,12 @@ class LayerManager {
|
|
|
1387
1336
|
url: url,
|
|
1388
1337
|
layerName: layerData.layerName
|
|
1389
1338
|
}));
|
|
1390
|
-
layerData.guid = layer.guid;
|
|
1339
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
1391
1340
|
layerData.visible = true;
|
|
1392
1341
|
layerData.serverType = "imagerylayer";
|
|
1393
|
-
|
|
1394
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1395
|
-
layerData.visible = false;
|
|
1396
|
-
layer.show = false;
|
|
1397
|
-
}
|
|
1398
|
-
|
|
1399
1342
|
break;
|
|
1400
1343
|
|
|
1401
1344
|
case "kqgismapserver":
|
|
1402
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
1403
1345
|
var layerInfo = layerData.sourceLayers.find(item => {
|
|
1404
1346
|
return item.id + "" == layerData.id + "";
|
|
1405
1347
|
});
|
|
@@ -1423,11 +1365,6 @@ class LayerManager {
|
|
|
1423
1365
|
|
|
1424
1366
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1425
1367
|
layerData.serverType = "imagerylayer";
|
|
1426
|
-
|
|
1427
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(layerData.name) === -1) {
|
|
1428
|
-
layerData.visible = false;
|
|
1429
|
-
layer.show = false;
|
|
1430
|
-
}
|
|
1431
1368
|
}
|
|
1432
1369
|
|
|
1433
1370
|
break;
|
|
@@ -1437,18 +1374,10 @@ class LayerManager {
|
|
|
1437
1374
|
name: name,
|
|
1438
1375
|
url: url,
|
|
1439
1376
|
layers: layerData.id + ""
|
|
1440
|
-
}));
|
|
1441
|
-
|
|
1442
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
1377
|
+
}));
|
|
1443
1378
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1444
1379
|
layerData.visible = true;
|
|
1445
1380
|
layerData.serverType = "imagerylayer";
|
|
1446
|
-
|
|
1447
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1448
|
-
layerData.visible = false;
|
|
1449
|
-
layer.show = false;
|
|
1450
|
-
}
|
|
1451
|
-
|
|
1452
1381
|
break;
|
|
1453
1382
|
|
|
1454
1383
|
case "wms":
|
|
@@ -1474,16 +1403,10 @@ class LayerManager {
|
|
|
1474
1403
|
}
|
|
1475
1404
|
}
|
|
1476
1405
|
|
|
1477
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
1478
1406
|
this._guidMapping[layerData.guid] = layers[0].guid;
|
|
1479
1407
|
layerData.name = name || layers[0].name;
|
|
1480
1408
|
layerData.visible = true;
|
|
1481
1409
|
layerData.serverType = "imagerylayer";
|
|
1482
|
-
|
|
1483
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(layerData.name) === -1) {
|
|
1484
|
-
layerData.visible = false;
|
|
1485
|
-
layers[0].show = false;
|
|
1486
|
-
}
|
|
1487
1410
|
}
|
|
1488
1411
|
});
|
|
1489
1412
|
break;
|
|
@@ -1511,16 +1434,10 @@ class LayerManager {
|
|
|
1511
1434
|
}
|
|
1512
1435
|
}
|
|
1513
1436
|
|
|
1514
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
1515
1437
|
this._guidMapping[layerData.guid] = layers[0].guid;
|
|
1516
1438
|
layerData.name = name || layers[0].name;
|
|
1517
1439
|
layerData.visible = true;
|
|
1518
1440
|
layerData.serverType = "imagerylayer";
|
|
1519
|
-
|
|
1520
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(layerData.name) === -1) {
|
|
1521
|
-
layerData.visible = false;
|
|
1522
|
-
layers[0].show = false;
|
|
1523
|
-
}
|
|
1524
1441
|
}
|
|
1525
1442
|
});
|
|
1526
1443
|
break;
|
|
@@ -1548,14 +1465,9 @@ class LayerManager {
|
|
|
1548
1465
|
this._viewer.dataSources.add(ds);
|
|
1549
1466
|
|
|
1550
1467
|
ds.autoAvoid(this._viewer);
|
|
1551
|
-
layerData.guid = ds.guid;
|
|
1468
|
+
this._guidMapping[layerData.guid] = ds.guid;
|
|
1552
1469
|
layerData.visible = true;
|
|
1553
1470
|
layerData.serverType = "datasource";
|
|
1554
|
-
|
|
1555
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1556
|
-
layerData.visible = false;
|
|
1557
|
-
ds.show = false;
|
|
1558
|
-
}
|
|
1559
1471
|
});
|
|
1560
1472
|
break;
|
|
1561
1473
|
|
|
@@ -1568,14 +1480,9 @@ class LayerManager {
|
|
|
1568
1480
|
promise = ds.load(url).then(ds => {
|
|
1569
1481
|
this._viewer.dataSources.add(ds);
|
|
1570
1482
|
|
|
1571
|
-
layerData.guid = ds.guid;
|
|
1483
|
+
this._guidMapping[layerData.guid] = ds.guid;
|
|
1572
1484
|
layerData.visible = true;
|
|
1573
1485
|
layerData.serverType = "datasource";
|
|
1574
|
-
|
|
1575
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1576
|
-
layerData.visible = false;
|
|
1577
|
-
ds.show = false;
|
|
1578
|
-
}
|
|
1579
1486
|
});
|
|
1580
1487
|
break;
|
|
1581
1488
|
|
|
@@ -1584,14 +1491,9 @@ class LayerManager {
|
|
|
1584
1491
|
promise = ds.load(url).then(ds => {
|
|
1585
1492
|
this._viewer.dataSources.add(ds);
|
|
1586
1493
|
|
|
1587
|
-
layerData.guid = ds.guid;
|
|
1494
|
+
this._guidMapping[layerData.guid] = ds.guid;
|
|
1588
1495
|
layerData.visible = true;
|
|
1589
1496
|
layerData.serverType = "datasource";
|
|
1590
|
-
|
|
1591
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1592
|
-
layerData.visible = false;
|
|
1593
|
-
ds.show = false;
|
|
1594
|
-
}
|
|
1595
1497
|
});
|
|
1596
1498
|
break;
|
|
1597
1499
|
|
|
@@ -1599,72 +1501,40 @@ class LayerManager {
|
|
|
1599
1501
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dTiandituImageryProvider({
|
|
1600
1502
|
name: name,
|
|
1601
1503
|
mapStyle: layerData.layerType + "_c"
|
|
1602
|
-
}));
|
|
1603
|
-
|
|
1604
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1504
|
+
}));
|
|
1605
1505
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1606
1506
|
layerData.visible = true;
|
|
1607
1507
|
layerData.serverType = "imagerylayer";
|
|
1608
|
-
|
|
1609
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1610
|
-
layerData.visible = false;
|
|
1611
|
-
layer.show = false;
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
1508
|
break;
|
|
1615
1509
|
|
|
1616
1510
|
case "baidu":
|
|
1617
1511
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dBaiduMapsImageryProvider({
|
|
1618
1512
|
name: name,
|
|
1619
1513
|
mapStyle: layerData.layerType
|
|
1620
|
-
}));
|
|
1621
|
-
|
|
1622
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1514
|
+
}));
|
|
1623
1515
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1624
1516
|
layerData.visible = true;
|
|
1625
1517
|
layerData.serverType = "imagerylayer";
|
|
1626
|
-
|
|
1627
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1628
|
-
layerData.visible = false;
|
|
1629
|
-
layer.show = false;
|
|
1630
|
-
}
|
|
1631
|
-
|
|
1632
1518
|
break;
|
|
1633
1519
|
|
|
1634
1520
|
case "gaode":
|
|
1635
1521
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dAMapsImageryProvider({
|
|
1636
1522
|
name: name,
|
|
1637
1523
|
mapStyle: layerData.layerType
|
|
1638
|
-
}));
|
|
1639
|
-
|
|
1640
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1524
|
+
}));
|
|
1641
1525
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1642
1526
|
layerData.visible = true;
|
|
1643
1527
|
layerData.serverType = "imagerylayer";
|
|
1644
|
-
|
|
1645
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1646
|
-
layerData.visible = false;
|
|
1647
|
-
layer.show = false;
|
|
1648
|
-
}
|
|
1649
|
-
|
|
1650
1528
|
break;
|
|
1651
1529
|
|
|
1652
1530
|
case "tencent":
|
|
1653
1531
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dQQMapsImageryProvider({
|
|
1654
1532
|
name: name,
|
|
1655
1533
|
mapStyle: layerData.layerType
|
|
1656
|
-
}));
|
|
1657
|
-
|
|
1658
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1534
|
+
}));
|
|
1659
1535
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1660
1536
|
layerData.visible = true;
|
|
1661
1537
|
layerData.serverType = "imagerylayer";
|
|
1662
|
-
|
|
1663
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1664
|
-
layerData.visible = false;
|
|
1665
|
-
layer.show = false;
|
|
1666
|
-
}
|
|
1667
|
-
|
|
1668
1538
|
break;
|
|
1669
1539
|
|
|
1670
1540
|
default:
|
|
@@ -1825,6 +1695,33 @@ class LayerManager {
|
|
|
1825
1695
|
}
|
|
1826
1696
|
|
|
1827
1697
|
this.recordImageryLayerOriginIndex();
|
|
1698
|
+
} else if (this._layerListData[i].sourceType) {
|
|
1699
|
+
var promise = this.addLayerData(this._layerListData[i]);
|
|
1700
|
+
|
|
1701
|
+
if (promise) {
|
|
1702
|
+
promise.then(() => {
|
|
1703
|
+
adjustLayerIndex(this._layerListData[i]);
|
|
1704
|
+
});
|
|
1705
|
+
} else {
|
|
1706
|
+
adjustLayerIndex(this._layerListData[i]);
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1709
|
+
var that = this;
|
|
1710
|
+
|
|
1711
|
+
function adjustLayerIndex(layerData) {
|
|
1712
|
+
if (layerData.serverType === "imagerylayer") {
|
|
1713
|
+
var addIndex = that.getImageryLayerAddIndex(layerData.guid);
|
|
1714
|
+
layer = that.getLayerByGuid(layerData.guid, layerData.serverType);
|
|
1715
|
+
|
|
1716
|
+
if (layer) {
|
|
1717
|
+
var count = layer._layerIndex - addIndex;
|
|
1718
|
+
|
|
1719
|
+
for (var i = 0; i < count; i++) {
|
|
1720
|
+
that._viewer.imageryLayers.lower(layer);
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1828
1725
|
}
|
|
1829
1726
|
}
|
|
1830
1727
|
}
|
|
@@ -2044,7 +1941,7 @@ class LayerManager {
|
|
|
2044
1941
|
|
|
2045
1942
|
for (let i = 0; i < layers_checked.length; i++) {
|
|
2046
1943
|
if (layers_checked[i].combined) {
|
|
2047
|
-
getChildren(layers_checked[i]
|
|
1944
|
+
getChildren(layers_checked[i]);
|
|
2048
1945
|
} else {
|
|
2049
1946
|
layerData.push(layers_checked[i]);
|
|
2050
1947
|
}
|
|
@@ -2052,12 +1949,12 @@ class LayerManager {
|
|
|
2052
1949
|
|
|
2053
1950
|
return layerData;
|
|
2054
1951
|
|
|
2055
|
-
function getChildren(
|
|
1952
|
+
function getChildren(parent) {
|
|
2056
1953
|
for (let z = 0; z < layers_old.length; z++) {
|
|
2057
|
-
if (layers_old[z].parentLayerId ===
|
|
1954
|
+
if (layers_old[z].parentLayerId === parent.id && layers_old[z].sourceName === parent.sourceName) {
|
|
2058
1955
|
// 分组节点
|
|
2059
1956
|
if (layers_old[z].groupLayer) {
|
|
2060
|
-
getChildren(layers_old[z]
|
|
1957
|
+
getChildren(layers_old[z]);
|
|
2061
1958
|
} else {
|
|
2062
1959
|
layerData.push(layers_old[z]);
|
|
2063
1960
|
}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"0.7.
|
|
1
|
+
{"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"0.7.7-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","@turf/turf":"^6.5.0","css-vars-ponyfill":"^2.4.8","xe-utils":"^3.5.4"}}
|
package/scenceview/index.js
CHANGED
|
@@ -664,8 +664,10 @@ class LayerManager {
|
|
|
664
664
|
source.mapServerInfo = (0,util_namespaceObject.formatKQMapInfo)(mapInfo.result, serverUrl, serverName, token, null, true);
|
|
665
665
|
source.mapServerInfo.layers_old.forEach(layer_old => {
|
|
666
666
|
layer_old.guid = source.name + "@@@" + layer_old.id;
|
|
667
|
-
|
|
668
|
-
|
|
667
|
+
layer_old.sourceName = source.name;
|
|
668
|
+
|
|
669
|
+
this._layerListData_old.push(layer_old);
|
|
670
|
+
}, this);
|
|
669
671
|
});
|
|
670
672
|
sourcePromises.push(sourcePromise);
|
|
671
673
|
}
|
|
@@ -678,7 +680,20 @@ class LayerManager {
|
|
|
678
680
|
Promise.all(this._promises).then(() => {
|
|
679
681
|
this._layerTreeData = layer.layerTreeData;
|
|
680
682
|
|
|
681
|
-
this._scenceView.fire("resetLayerDatas");
|
|
683
|
+
this._scenceView.fire("resetLayerDatas"); //重置Imagerylayer图层顺序,wms和wmts异步加载导致图层顺序错乱
|
|
684
|
+
|
|
685
|
+
|
|
686
|
+
this._layerListData.forEach(layerData => {
|
|
687
|
+
if (layerData.serverType === "imagerylayer") {
|
|
688
|
+
var imagerylayer = this.getLayerByGuid(layerData.guid, 'imagerylayer');
|
|
689
|
+
|
|
690
|
+
if (imagerylayer) {
|
|
691
|
+
this._viewer.imageryLayers.raiseToTop(imagerylayer);
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
}, this);
|
|
695
|
+
|
|
696
|
+
this.recordImageryLayerOriginIndex();
|
|
682
697
|
});
|
|
683
698
|
});
|
|
684
699
|
}
|
|
@@ -701,6 +716,7 @@ class LayerManager {
|
|
|
701
716
|
layerData.sourceType = source.serverType;
|
|
702
717
|
layerData.renderType = source.renderType;
|
|
703
718
|
layerData.url = source.url;
|
|
719
|
+
layerData.guid = layerData.sourceName + "@@@" + (layerData.id || Math.random() * 10);
|
|
704
720
|
var type = layerData.renderType;
|
|
705
721
|
|
|
706
722
|
if (layerData.sourceType === "kqserver") {
|
|
@@ -729,16 +745,16 @@ class LayerManager {
|
|
|
729
745
|
type = "kqgis3dserver";
|
|
730
746
|
}
|
|
731
747
|
|
|
732
|
-
|
|
748
|
+
layerData.addType = type;
|
|
733
749
|
|
|
734
|
-
|
|
735
|
-
this._promises.push(promise);
|
|
750
|
+
this._layerListData.push(layerData);
|
|
736
751
|
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
752
|
+
if (!this._scenceShowLayers || this._scenceShowLayers.indexOf(layerData.name) > -1) {
|
|
753
|
+
var promise = this.addLayerData(layerData);
|
|
754
|
+
|
|
755
|
+
if (promise) {
|
|
756
|
+
this._promises.push(promise);
|
|
757
|
+
}
|
|
742
758
|
}
|
|
743
759
|
}
|
|
744
760
|
}
|
|
@@ -746,7 +762,8 @@ class LayerManager {
|
|
|
746
762
|
} //添加图层数据
|
|
747
763
|
|
|
748
764
|
|
|
749
|
-
addLayerData(layerData
|
|
765
|
+
addLayerData(layerData) {
|
|
766
|
+
var type = layerData.addType;
|
|
750
767
|
let url = layerData.url;
|
|
751
768
|
type = type || "";
|
|
752
769
|
type = type.toLowerCase();
|
|
@@ -782,15 +799,9 @@ class LayerManager {
|
|
|
782
799
|
name: name,
|
|
783
800
|
url: url
|
|
784
801
|
}));
|
|
785
|
-
layerData.guid = layer.guid;
|
|
802
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
786
803
|
layerData.visible = true;
|
|
787
804
|
layerData.serverType = "imagerylayer";
|
|
788
|
-
|
|
789
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
790
|
-
layerData.visible = false;
|
|
791
|
-
layer.show = false;
|
|
792
|
-
}
|
|
793
|
-
|
|
794
805
|
break;
|
|
795
806
|
|
|
796
807
|
case 'obterrain':
|
|
@@ -800,18 +811,13 @@ class LayerManager {
|
|
|
800
811
|
url: url
|
|
801
812
|
});
|
|
802
813
|
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
803
|
-
layerData.guid = layer.guid;
|
|
814
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
804
815
|
layerData.visible = true;
|
|
805
|
-
layerData.serverType = "terrainprovider";
|
|
816
|
+
layerData.serverType = "terrainprovider";
|
|
817
|
+
this._viewer.terrainProvider = layer;
|
|
806
818
|
|
|
807
819
|
this._terrainProviders.push(layer);
|
|
808
820
|
|
|
809
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
810
|
-
layerData.visible = false;
|
|
811
|
-
} else {
|
|
812
|
-
this._viewer.terrainProvider = layer;
|
|
813
|
-
}
|
|
814
|
-
|
|
815
821
|
break;
|
|
816
822
|
|
|
817
823
|
case 'stkterrain':
|
|
@@ -822,20 +828,14 @@ class LayerManager {
|
|
|
822
828
|
requestVertexNormals: true,
|
|
823
829
|
requestWaterMask: false
|
|
824
830
|
});
|
|
825
|
-
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
831
|
+
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
832
|
+
this._viewer.terrainProvider = layer;
|
|
826
833
|
|
|
827
834
|
this._terrainProviders.push(layer);
|
|
828
835
|
|
|
829
|
-
layerData.guid = layer.guid;
|
|
836
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
830
837
|
layerData.visible = true;
|
|
831
838
|
layerData.serverType = "terrainprovider";
|
|
832
|
-
|
|
833
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
834
|
-
layerData.visible = false;
|
|
835
|
-
} else {
|
|
836
|
-
this._viewer.terrainProvider = layer;
|
|
837
|
-
}
|
|
838
|
-
|
|
839
839
|
break;
|
|
840
840
|
|
|
841
841
|
case "3dtiles":
|
|
@@ -843,87 +843,36 @@ class LayerManager {
|
|
|
843
843
|
name: name,
|
|
844
844
|
url: url
|
|
845
845
|
}));
|
|
846
|
-
layerData.guid = layer.guid;
|
|
846
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
847
847
|
layerData.visible = true;
|
|
848
848
|
layerData.serverType = "3dtiles";
|
|
849
|
-
|
|
850
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
851
|
-
layerData.visible = false;
|
|
852
|
-
layer.show = false;
|
|
853
|
-
}
|
|
854
|
-
|
|
855
849
|
break;
|
|
856
850
|
|
|
857
851
|
case "kqgis3dserver":
|
|
858
|
-
var hideLayer = this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1;
|
|
859
852
|
var that = this;
|
|
860
853
|
promise = this._viewer.addKq3dServerLayerGroupExt(url).then(group => {
|
|
861
854
|
var layers = group._addedLayers || group._layers;
|
|
862
855
|
|
|
863
|
-
if (layers) {
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
856
|
+
if (layers && layers.length > 0) {
|
|
857
|
+
layer = layers[0];
|
|
858
|
+
var serverType = "";
|
|
859
|
+
|
|
860
|
+
if (layer instanceof Cesium.Cesium3DTileset) {
|
|
861
|
+
serverType = "3dtiles";
|
|
862
|
+
} else if (layer instanceof Cesium.ImageryLayer) {
|
|
863
|
+
serverType = "imagerylayer";
|
|
864
|
+
} else if (layer instanceof Cesium.Kq3dFileTerrainProvider || layer instanceof Cesium.CesiumTerrainProvider) {
|
|
865
|
+
serverType = "terrainprovider";
|
|
866
|
+
|
|
867
|
+
that._terrainProviders.push(layer);
|
|
868
|
+
} else if (layer instanceof Cesium.Kq3dGeoJsonDataSource) {
|
|
869
|
+
serverType = "datasource";
|
|
869
870
|
}
|
|
870
871
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
serverType = "3dtiles";
|
|
876
|
-
} else if (layers[i] instanceof Cesium.ImageryLayer) {
|
|
877
|
-
serverType = "imagerylayer";
|
|
878
|
-
} else if (layers[i] instanceof Cesium.Kq3dFileTerrainProvider || layers[i] instanceof Cesium.CesiumTerrainProvider) {
|
|
879
|
-
serverType = "terrainprovider";
|
|
880
|
-
|
|
881
|
-
that._terrainProviders.push(layers[i]);
|
|
882
|
-
} else if (layers[i] instanceof Cesium.Kq3dGeoJsonDataSource) {
|
|
883
|
-
serverType = "datasource";
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
if (!layers[i].guid) layers[i].guid = Cesium.createGuid();
|
|
887
|
-
|
|
888
|
-
if (length > 1) {
|
|
889
|
-
var child = {
|
|
890
|
-
guid: layers[i].guid,
|
|
891
|
-
name: layers[i].name,
|
|
892
|
-
visible: true,
|
|
893
|
-
serverType: serverType
|
|
894
|
-
};
|
|
895
|
-
|
|
896
|
-
if (hideLayer) {
|
|
897
|
-
child.visible = false;
|
|
898
|
-
|
|
899
|
-
if (serverType === "terrainprovider") {
|
|
900
|
-
layers[i].readyPromise.then(() => {
|
|
901
|
-
that._viewer.terrainProvider = that._emptyTerrainProvider;
|
|
902
|
-
});
|
|
903
|
-
} else {
|
|
904
|
-
layers[i].show = false;
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
layerData.children.push(child);
|
|
909
|
-
} else {
|
|
910
|
-
layerData.guid = layers[i].guid;
|
|
911
|
-
layerData.visible = true;
|
|
912
|
-
layerData.serverType = serverType;
|
|
913
|
-
|
|
914
|
-
if (hideLayer) {
|
|
915
|
-
layerData.visible = false;
|
|
916
|
-
|
|
917
|
-
if (serverType === "terrainprovider") {
|
|
918
|
-
layers[i].readyPromise.then(() => {
|
|
919
|
-
that._viewer.terrainProvider = that._emptyTerrainProvider;
|
|
920
|
-
});
|
|
921
|
-
} else {
|
|
922
|
-
layers[i].show = false;
|
|
923
|
-
}
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
|
-
}
|
|
872
|
+
if (!layer.guid) layer.guid = Cesium.createGuid();
|
|
873
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
874
|
+
layerData.visible = true;
|
|
875
|
+
layerData.serverType = serverType;
|
|
927
876
|
}
|
|
928
877
|
});
|
|
929
878
|
break;
|
|
@@ -934,19 +883,12 @@ class LayerManager {
|
|
|
934
883
|
url: url,
|
|
935
884
|
layerName: layerData.layerName
|
|
936
885
|
}));
|
|
937
|
-
layerData.guid = layer.guid;
|
|
886
|
+
this._guidMapping[layerData.guid] = layer.guid;
|
|
938
887
|
layerData.visible = true;
|
|
939
888
|
layerData.serverType = "imagerylayer";
|
|
940
|
-
|
|
941
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
942
|
-
layerData.visible = false;
|
|
943
|
-
layer.show = false;
|
|
944
|
-
}
|
|
945
|
-
|
|
946
889
|
break;
|
|
947
890
|
|
|
948
891
|
case "kqgismapserver":
|
|
949
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
950
892
|
var layerInfo = layerData.sourceLayers.find(item => {
|
|
951
893
|
return item.id + "" == layerData.id + "";
|
|
952
894
|
});
|
|
@@ -970,11 +912,6 @@ class LayerManager {
|
|
|
970
912
|
|
|
971
913
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
972
914
|
layerData.serverType = "imagerylayer";
|
|
973
|
-
|
|
974
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(layerData.name) === -1) {
|
|
975
|
-
layerData.visible = false;
|
|
976
|
-
layer.show = false;
|
|
977
|
-
}
|
|
978
915
|
}
|
|
979
916
|
|
|
980
917
|
break;
|
|
@@ -984,18 +921,10 @@ class LayerManager {
|
|
|
984
921
|
name: name,
|
|
985
922
|
url: url,
|
|
986
923
|
layers: layerData.id + ""
|
|
987
|
-
}));
|
|
988
|
-
|
|
989
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
924
|
+
}));
|
|
990
925
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
991
926
|
layerData.visible = true;
|
|
992
927
|
layerData.serverType = "imagerylayer";
|
|
993
|
-
|
|
994
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
995
|
-
layerData.visible = false;
|
|
996
|
-
layer.show = false;
|
|
997
|
-
}
|
|
998
|
-
|
|
999
928
|
break;
|
|
1000
929
|
|
|
1001
930
|
case "wms":
|
|
@@ -1021,16 +950,10 @@ class LayerManager {
|
|
|
1021
950
|
}
|
|
1022
951
|
}
|
|
1023
952
|
|
|
1024
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
1025
953
|
this._guidMapping[layerData.guid] = layers[0].guid;
|
|
1026
954
|
layerData.name = name || layers[0].name;
|
|
1027
955
|
layerData.visible = true;
|
|
1028
956
|
layerData.serverType = "imagerylayer";
|
|
1029
|
-
|
|
1030
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(layerData.name) === -1) {
|
|
1031
|
-
layerData.visible = false;
|
|
1032
|
-
layers[0].show = false;
|
|
1033
|
-
}
|
|
1034
957
|
}
|
|
1035
958
|
});
|
|
1036
959
|
break;
|
|
@@ -1058,16 +981,10 @@ class LayerManager {
|
|
|
1058
981
|
}
|
|
1059
982
|
}
|
|
1060
983
|
|
|
1061
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.id;
|
|
1062
984
|
this._guidMapping[layerData.guid] = layers[0].guid;
|
|
1063
985
|
layerData.name = name || layers[0].name;
|
|
1064
986
|
layerData.visible = true;
|
|
1065
987
|
layerData.serverType = "imagerylayer";
|
|
1066
|
-
|
|
1067
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(layerData.name) === -1) {
|
|
1068
|
-
layerData.visible = false;
|
|
1069
|
-
layers[0].show = false;
|
|
1070
|
-
}
|
|
1071
988
|
}
|
|
1072
989
|
});
|
|
1073
990
|
break;
|
|
@@ -1095,14 +1012,9 @@ class LayerManager {
|
|
|
1095
1012
|
this._viewer.dataSources.add(ds);
|
|
1096
1013
|
|
|
1097
1014
|
ds.autoAvoid(this._viewer);
|
|
1098
|
-
layerData.guid = ds.guid;
|
|
1015
|
+
this._guidMapping[layerData.guid] = ds.guid;
|
|
1099
1016
|
layerData.visible = true;
|
|
1100
1017
|
layerData.serverType = "datasource";
|
|
1101
|
-
|
|
1102
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1103
|
-
layerData.visible = false;
|
|
1104
|
-
ds.show = false;
|
|
1105
|
-
}
|
|
1106
1018
|
});
|
|
1107
1019
|
break;
|
|
1108
1020
|
|
|
@@ -1115,14 +1027,9 @@ class LayerManager {
|
|
|
1115
1027
|
promise = ds.load(url).then(ds => {
|
|
1116
1028
|
this._viewer.dataSources.add(ds);
|
|
1117
1029
|
|
|
1118
|
-
layerData.guid = ds.guid;
|
|
1030
|
+
this._guidMapping[layerData.guid] = ds.guid;
|
|
1119
1031
|
layerData.visible = true;
|
|
1120
1032
|
layerData.serverType = "datasource";
|
|
1121
|
-
|
|
1122
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1123
|
-
layerData.visible = false;
|
|
1124
|
-
ds.show = false;
|
|
1125
|
-
}
|
|
1126
1033
|
});
|
|
1127
1034
|
break;
|
|
1128
1035
|
|
|
@@ -1131,14 +1038,9 @@ class LayerManager {
|
|
|
1131
1038
|
promise = ds.load(url).then(ds => {
|
|
1132
1039
|
this._viewer.dataSources.add(ds);
|
|
1133
1040
|
|
|
1134
|
-
layerData.guid = ds.guid;
|
|
1041
|
+
this._guidMapping[layerData.guid] = ds.guid;
|
|
1135
1042
|
layerData.visible = true;
|
|
1136
1043
|
layerData.serverType = "datasource";
|
|
1137
|
-
|
|
1138
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1139
|
-
layerData.visible = false;
|
|
1140
|
-
ds.show = false;
|
|
1141
|
-
}
|
|
1142
1044
|
});
|
|
1143
1045
|
break;
|
|
1144
1046
|
|
|
@@ -1146,72 +1048,40 @@ class LayerManager {
|
|
|
1146
1048
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dTiandituImageryProvider({
|
|
1147
1049
|
name: name,
|
|
1148
1050
|
mapStyle: layerData.layerType + "_c"
|
|
1149
|
-
}));
|
|
1150
|
-
|
|
1151
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1051
|
+
}));
|
|
1152
1052
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1153
1053
|
layerData.visible = true;
|
|
1154
1054
|
layerData.serverType = "imagerylayer";
|
|
1155
|
-
|
|
1156
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1157
|
-
layerData.visible = false;
|
|
1158
|
-
layer.show = false;
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
1055
|
break;
|
|
1162
1056
|
|
|
1163
1057
|
case "baidu":
|
|
1164
1058
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dBaiduMapsImageryProvider({
|
|
1165
1059
|
name: name,
|
|
1166
1060
|
mapStyle: layerData.layerType
|
|
1167
|
-
}));
|
|
1168
|
-
|
|
1169
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1061
|
+
}));
|
|
1170
1062
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1171
1063
|
layerData.visible = true;
|
|
1172
1064
|
layerData.serverType = "imagerylayer";
|
|
1173
|
-
|
|
1174
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1175
|
-
layerData.visible = false;
|
|
1176
|
-
layer.show = false;
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
1065
|
break;
|
|
1180
1066
|
|
|
1181
1067
|
case "gaode":
|
|
1182
1068
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dAMapsImageryProvider({
|
|
1183
1069
|
name: name,
|
|
1184
1070
|
mapStyle: layerData.layerType
|
|
1185
|
-
}));
|
|
1186
|
-
|
|
1187
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1071
|
+
}));
|
|
1188
1072
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1189
1073
|
layerData.visible = true;
|
|
1190
1074
|
layerData.serverType = "imagerylayer";
|
|
1191
|
-
|
|
1192
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1193
|
-
layerData.visible = false;
|
|
1194
|
-
layer.show = false;
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
1075
|
break;
|
|
1198
1076
|
|
|
1199
1077
|
case "tencent":
|
|
1200
1078
|
layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dQQMapsImageryProvider({
|
|
1201
1079
|
name: name,
|
|
1202
1080
|
mapStyle: layerData.layerType
|
|
1203
|
-
}));
|
|
1204
|
-
|
|
1205
|
-
layerData.guid = layerData.sourceName + "@@@" + layerData.layerType;
|
|
1081
|
+
}));
|
|
1206
1082
|
this._guidMapping[layerData.guid] = layer.guid;
|
|
1207
1083
|
layerData.visible = true;
|
|
1208
1084
|
layerData.serverType = "imagerylayer";
|
|
1209
|
-
|
|
1210
|
-
if (this._scenceShowLayers && this._scenceShowLayers.indexOf(name) === -1) {
|
|
1211
|
-
layerData.visible = false;
|
|
1212
|
-
layer.show = false;
|
|
1213
|
-
}
|
|
1214
|
-
|
|
1215
1085
|
break;
|
|
1216
1086
|
|
|
1217
1087
|
default:
|
|
@@ -1372,6 +1242,33 @@ class LayerManager {
|
|
|
1372
1242
|
}
|
|
1373
1243
|
|
|
1374
1244
|
this.recordImageryLayerOriginIndex();
|
|
1245
|
+
} else if (this._layerListData[i].sourceType) {
|
|
1246
|
+
var promise = this.addLayerData(this._layerListData[i]);
|
|
1247
|
+
|
|
1248
|
+
if (promise) {
|
|
1249
|
+
promise.then(() => {
|
|
1250
|
+
adjustLayerIndex(this._layerListData[i]);
|
|
1251
|
+
});
|
|
1252
|
+
} else {
|
|
1253
|
+
adjustLayerIndex(this._layerListData[i]);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
var that = this;
|
|
1257
|
+
|
|
1258
|
+
function adjustLayerIndex(layerData) {
|
|
1259
|
+
if (layerData.serverType === "imagerylayer") {
|
|
1260
|
+
var addIndex = that.getImageryLayerAddIndex(layerData.guid);
|
|
1261
|
+
layer = that.getLayerByGuid(layerData.guid, layerData.serverType);
|
|
1262
|
+
|
|
1263
|
+
if (layer) {
|
|
1264
|
+
var count = layer._layerIndex - addIndex;
|
|
1265
|
+
|
|
1266
|
+
for (var i = 0; i < count; i++) {
|
|
1267
|
+
that._viewer.imageryLayers.lower(layer);
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1375
1272
|
}
|
|
1376
1273
|
}
|
|
1377
1274
|
}
|
|
@@ -1591,7 +1488,7 @@ class LayerManager {
|
|
|
1591
1488
|
|
|
1592
1489
|
for (let i = 0; i < layers_checked.length; i++) {
|
|
1593
1490
|
if (layers_checked[i].combined) {
|
|
1594
|
-
getChildren(layers_checked[i]
|
|
1491
|
+
getChildren(layers_checked[i]);
|
|
1595
1492
|
} else {
|
|
1596
1493
|
layerData.push(layers_checked[i]);
|
|
1597
1494
|
}
|
|
@@ -1599,12 +1496,12 @@ class LayerManager {
|
|
|
1599
1496
|
|
|
1600
1497
|
return layerData;
|
|
1601
1498
|
|
|
1602
|
-
function getChildren(
|
|
1499
|
+
function getChildren(parent) {
|
|
1603
1500
|
for (let z = 0; z < layers_old.length; z++) {
|
|
1604
|
-
if (layers_old[z].parentLayerId ===
|
|
1501
|
+
if (layers_old[z].parentLayerId === parent.id && layers_old[z].sourceName === parent.sourceName) {
|
|
1605
1502
|
// 分组节点
|
|
1606
1503
|
if (layers_old[z].groupLayer) {
|
|
1607
|
-
getChildren(layers_old[z]
|
|
1504
|
+
getChildren(layers_old[z]);
|
|
1608
1505
|
} else {
|
|
1609
1506
|
layerData.push(layers_old[z]);
|
|
1610
1507
|
}
|