@@ -196,8 +196,8 @@ export class WebMap extends mapboxgl.Evented {
196196 sources : { } ,
197197 layers : [ ]
198198 } ,
199- minzoom,
200- maxzoom,
199+ minZoom : minzoom ,
200+ maxZoom : maxzoom ,
201201 bearing,
202202 pitch,
203203 localIdeographFontFamily : fontFamilys || ''
@@ -372,8 +372,8 @@ export class WebMap extends mapboxgl.Evented {
372372 _getLayerInfosFromCatalogs ( catalogs , layers ) {
373373 const results = [ ] ;
374374 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 } ) ) {
377377 results . push ( catalogs [ i ] ) ;
378378 }
379379 if ( catalogType === 'group' && children && children . length > 0 ) {
@@ -434,8 +434,20 @@ export class WebMap extends mapboxgl.Evented {
434434 const allLayersOnMap = this . _getLayersOnMap ( ) ;
435435 const { catalogs = [ ] , datas = [ ] } = this . _mapResourceInfo ;
436436 const originLayers = this . _getLayerInfosFromCatalogs ( catalogs , this . _mapInfo . layers ) ;
437- const layers = allLayersOnMap . map ( ( layer ) => {
437+ const layers = allLayersOnMap . reduce ( ( layersList , layer ) => {
438438 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+ }
439451 const matchLayer = originLayers . find ( ( item ) => item . id === matchOriginLayer . originId ) || { } ;
440452 const { title = layer . id , visualization, layersContent, msDatasetId } = matchLayer ;
441453 let dataType = '' ;
@@ -459,7 +471,7 @@ export class WebMap extends mapboxgl.Evented {
459471 type : sourceOnMap && sourceOnMap . type ,
460472 sourceLayer : layer . sourceLayer
461473 } ,
462- renderLayers : this . _getRenderLayers ( layersContent , layer . id ) ,
474+ renderLayers : this . _getRenderLayers ( this . _renameLayersContent ( layersContent ) , layer . id ) ,
463475 dataSource : {
464476 serverId : dataId ,
465477 type : dataType
@@ -483,11 +495,22 @@ export class WebMap extends mapboxgl.Evented {
483495 }
484496 }
485497 }
486- return overlayLayers ;
487- } ) ;
498+ layersList . push ( overlayLayers ) ;
499+ return layersList ;
500+ } , [ ] ) ;
488501 return layers ;
489502 }
490503
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+
491514 _generateLayerCatalog ( ) {
492515 const layerIdsFromCatalog = this . _layerCatalogsRenameMapList . reduce ( ( ids , item ) => {
493516 const list = this . _collectChildrenKey ( [ item ] , 'id' ) ;
@@ -542,7 +565,7 @@ export class WebMap extends mapboxgl.Evented {
542565 _collectChildrenKey ( catalogs , key , list = [ ] ) {
543566 for ( const data of catalogs ) {
544567 if ( data . type === 'group' ) {
545- this . _collectChildrenKey ( data . children , list ) ;
568+ this . _collectChildrenKey ( data . children , key , list ) ;
546569 continue ;
547570 }
548571 list . push ( data [ key ] ) ;
@@ -1121,9 +1144,6 @@ export class WebMap extends mapboxgl.Evented {
11211144 mapInfo . layers = layers . filter ( ( layer ) => {
11221145 return ! filterLayerIds . includes ( layer . id ) ;
11231146 } ) ;
1124- // metadata.layerCatalog = metadata.layerCatalog.filter((catalog) => {
1125- // return !filterLayerIds.includes(catalog.id);
1126- // });
11271147 return mapInfo ;
11281148 }
11291149}
0 commit comments