({ layers, sources, map, options })
| 1445 | } |
| 1446 | |
| 1447 | async function restoreL7Layers({ layers, sources, map, options }) { |
| 1448 | const result = []; |
| 1449 | for (const currentLayer of layers) { |
| 1450 | try { |
| 1451 | const originSource = sources[currentLayer.source]; |
| 1452 | const rules = { |
| 1453 | [SelectStyleTypes.animatePoint]: transformCircleLayerToSceneLayer, |
| 1454 | [SelectStyleTypes.radarPoint]: transformWebmapRadarLayerToSceneLayer, |
| 1455 | [SelectStyleTypes.od]: transformWebmapODLayerToSceneLayer, |
| 1456 | [SelectStyleTypes.column]: transfromPointExtrusionLayerToSceneLayer, |
| 1457 | [SelectStyleTypes.line]: transformWebmapLineLayerToSceneLayer, |
| 1458 | [SelectStyleTypes.bar]: transformWebmapChartLineLayerToSceneLayer, |
| 1459 | [SelectStyleTypes.pie]: transformWebmapChartPieLayerToSceneLayer, |
| 1460 | [SelectStyleTypes.heatGrid]: transformWebmapHeatLayerToSceneLayer, |
| 1461 | [SelectStyleTypes.heat3DGrid]: transformWebmapHeatExtrusionLayerToSceneLayer, |
| 1462 | [SelectStyleTypes.heat3D]: transformWebmapHeatExtrusionBasicLayerToSceneLayer |
| 1463 | }; |
| 1464 | const source = await WebMapSourceToL7Source(originSource, currentLayer['source-layer'], options); |
| 1465 | const selectedType = getSelectType(currentLayer); |
| 1466 | result.push( |
| 1467 | (rules[selectedType] && rules[selectedType](currentLayer, source, map)) || |
| 1468 | transformWebmapTextLayerToSceneLayer(currentLayer, source, (currentLayer || {}).visible, map) |
| 1469 | ); |
| 1470 | } catch (error) { |
| 1471 | console.error(error); |
| 1472 | options.emitterEvent('layercreatefailed', { error, map, layer: currentLayer }); |
| 1473 | } |
| 1474 | } |
| 1475 | return result; |
| 1476 | } |
| 1477 | |
| 1478 | /** |
| 1479 | * 获取scene |
no test coverage detected