@@ -196,8 +196,8 @@ export class WebMap extends mapboxgl.Evented {
196
196
sources : { } ,
197
197
layers : [ ]
198
198
} ,
199
- minzoom,
200
- maxzoom,
199
+ minZoom : minzoom ,
200
+ maxZoom : maxzoom ,
201
201
bearing,
202
202
pitch,
203
203
localIdeographFontFamily : fontFamilys || ''
@@ -372,8 +372,8 @@ export class WebMap extends mapboxgl.Evented {
372
372
_getLayerInfosFromCatalogs ( catalogs , layers ) {
373
373
const results = [ ] ;
374
374
for ( let i = 0 ; i < catalogs . length ; i ++ ) {
375
- const { catalogType, children, visible , id } = catalogs [ i ] ;
376
- if ( catalogType === 'layer' && visible && layers . find ( ( layer ) => { return layer . id === id } ) ) {
375
+ const { catalogType, children, id } = catalogs [ i ] ;
376
+ if ( catalogType === 'layer' && layers . find ( ( layer ) => { return layer . id === id } ) ) {
377
377
results . push ( catalogs [ i ] ) ;
378
378
}
379
379
if ( catalogType === 'group' && children && children . length > 0 ) {
@@ -434,8 +434,20 @@ export class WebMap extends mapboxgl.Evented {
434
434
const allLayersOnMap = this . _getLayersOnMap ( ) ;
435
435
const { catalogs = [ ] , datas = [ ] } = this . _mapResourceInfo ;
436
436
const originLayers = this . _getLayerInfosFromCatalogs ( catalogs , this . _mapInfo . layers ) ;
437
- const layers = allLayersOnMap . map ( ( layer ) => {
437
+ const layers = allLayersOnMap . reduce ( ( layersList , layer ) => {
438
438
const matchOriginLayer = this . _layerIdRenameMapList . find ( ( item ) => item . renderId === layer . id ) || { } ;
439
+ const containLayer = originLayers . find (
440
+ ( item ) => {
441
+ if ( item . layersContent && item . id !== layer . id ) {
442
+ const nextLayersContent = this . _renameLayersContent ( item . layersContent ) ;
443
+ return nextLayersContent . includes ( layer . id ) ;
444
+ }
445
+ return false ;
446
+ }
447
+ ) ;
448
+ if ( matchOriginLayer . originId && containLayer ) {
449
+ return layersList ;
450
+ }
439
451
const matchLayer = originLayers . find ( ( item ) => item . id === matchOriginLayer . originId ) || { } ;
440
452
const { title = layer . id , visualization, layersContent, msDatasetId } = matchLayer ;
441
453
let dataType = '' ;
@@ -459,7 +471,7 @@ export class WebMap extends mapboxgl.Evented {
459
471
type : sourceOnMap && sourceOnMap . type ,
460
472
sourceLayer : layer . sourceLayer
461
473
} ,
462
- renderLayers : this . _getRenderLayers ( layersContent , layer . id ) ,
474
+ renderLayers : this . _getRenderLayers ( this . _renameLayersContent ( layersContent ) , layer . id ) ,
463
475
dataSource : {
464
476
serverId : dataId ,
465
477
type : dataType
@@ -483,11 +495,22 @@ export class WebMap extends mapboxgl.Evented {
483
495
}
484
496
}
485
497
}
486
- return overlayLayers ;
487
- } ) ;
498
+ layersList . push ( overlayLayers ) ;
499
+ return layersList ;
500
+ } , [ ] ) ;
488
501
return layers ;
489
502
}
490
503
504
+ _renameLayersContent ( layersContent ) {
505
+ if ( ! layersContent ) {
506
+ return layersContent ;
507
+ }
508
+ return layersContent . map ( id => {
509
+ const matchItem = this . _layerIdRenameMapList . find ( item => item . originId === id ) ;
510
+ return matchItem . renderId ;
511
+ } ) ;
512
+ }
513
+
491
514
_generateLayerCatalog ( ) {
492
515
const layerIdsFromCatalog = this . _layerCatalogsRenameMapList . reduce ( ( ids , item ) => {
493
516
const list = this . _collectChildrenKey ( [ item ] , 'id' ) ;
@@ -542,7 +565,7 @@ export class WebMap extends mapboxgl.Evented {
542
565
_collectChildrenKey ( catalogs , key , list = [ ] ) {
543
566
for ( const data of catalogs ) {
544
567
if ( data . type === 'group' ) {
545
- this . _collectChildrenKey ( data . children , list ) ;
568
+ this . _collectChildrenKey ( data . children , key , list ) ;
546
569
continue ;
547
570
}
548
571
list . push ( data [ key ] ) ;
@@ -1121,9 +1144,6 @@ export class WebMap extends mapboxgl.Evented {
1121
1144
mapInfo . layers = layers . filter ( ( layer ) => {
1122
1145
return ! filterLayerIds . includes ( layer . id ) ;
1123
1146
} ) ;
1124
- // metadata.layerCatalog = metadata.layerCatalog.filter((catalog) => {
1125
- // return !filterLayerIds.includes(catalog.id);
1126
- // });
1127
1147
return mapInfo ;
1128
1148
}
1129
1149
}
0 commit comments