{"version":3,"file":"dep-2b57a17a.mjs","sources":["../../src/jue-map/useLayerManager/index.ts"],"sourcesContent":["import { Ref } from 'vue';\nimport useMarkerLayer from './useMarkerLayer';\n// import usePolylineLayer from './usePolylineLayer';\n// import usePolygonLayer from './usePolygonLayer';\n// import useHeatLayer from './useHeatLayer';\n// import useModelLayer from './useModelLayer';\n// import useLabelLayer from './useLabelLayer';\nimport useHDRoadModelLayer from './useHDRoadModelLayer';\n// import useRadiationLayer from './useRadiationLayer';\nimport useTrackLayer from './useTrackLayer';\n// import useTrafficSignalLayer from './useTrafficSignalLayer';\n\nconst LayerTypeHandlerMap = {\n  marker: useMarkerLayer,\n  // polyline: usePolylineLayer,\n  // polygon: usePolygonLayer,\n  // heat: useHeatLayer,\n  // model: useModelLayer,\n  HDRoadModel: useHDRoadModelLayer,\n  // radiation: useRadiationLayer,\n  track: useTrackLayer,\n  // trafficSignal: useTrafficSignalLayer,\n};\n\n\nlet layerInstanceList: LooseObject[] = [];\nexport default function useLayerManager(mapInstance: LooseObject | null, layerList: Ref<MapLayer[]>): {\n  clearAllLayers?: () => void\n} {\n  if (!mapInstance) return {};\n\n  layerList.value.forEach((layer: MapLayer, index: number) => {\n    const { type } = layer;\n    const layerInstance = LayerTypeHandlerMap[type]?.(mapInstance, toRef(layerList.value, index));\n\n    // watch(() => layerList.value[index], (newLayer) => {\n    //   layerInstance?.destroy();\n    //   layerInstance = null;\n    //   if (newLayer) {\n    //     layerInstance = LayerTypeHandlerMap[type](mapInstance, newLayer);\n    //   }\n    // });\n    layerInstanceList.push(layerInstance);\n  });\n\n  const clearAllLayers = (): void => {\n    layerInstanceList.forEach((instance) => {\n      instance?.unmount();\n    });\n    layerInstanceList = [];\n  };\n\n  return {\n    clearAllLayers,\n  };\n}\n"],"names":["LayerTypeHandlerMap","marker","useMarkerLayer","HDRoadModel","useHDRoadModelLayer","track","useTrackLayer","layerInstanceList","useLayerManager","mapInstance","layerList","value","forEach","layer","index","type","layerInstance","toRef","push","clearAllLayers","instance","unmount"],"mappings":";;;;;AAGA,IAAAA,mBAAA,GAAA;AACAC,EAAAA,MAAA,EAAAC,cADA;AAEAC,EAAAA,WAAA,EAAAC,mBAFA;AAGAC,EAAAA,KAAA,EAAAC,aAAAA;AAHA,CAAA,CAAA;AAKA,IAAAC,iBAAA,GAAA,EAAA,CAAA;AACA,SAAAC,eAAA,CAAAC,WAAA,EAAAC,SAAA,EAAA;AACA,EAAA,IAAA,CAAAD,WAAA,EACA,OAAA,EAAA,CAAA;EACAC,SAAA,CAAAC,KAAA,CAAAC,OAAA,CAAA,CAAAC,KAAA,EAAAC,KAAA,KAAA;AAAA,IAAA,IAAA,qBAAA,CAAA;;IACA,IAAA;AAAAC,MAAAA,IAAAA;AAAA,KAAA,GAAAF,KAAA,CAAA;IACA,IAAAG,aAAA,4BAAAhB,mBAAA,CAAAe,IAAA,CAAA,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,2BAAAf,mBAAA,EAAAS,WAAA,EAAAQ,KAAA,CAAAP,SAAA,CAAAC,KAAA,EAAAG,KAAA,CAAA,CAAA,CAAA;IACAP,iBAAA,CAAAW,IAAA,CAAAF,aAAA,CAAA,CAAA;GAHA,CAAA,CAAA;;EAKA,IAAAG,cAAA,GAAA,MAAA;AACAZ,IAAAA,iBAAA,CAAAK,OAAA,CAAAQ,QAAA,IAAA;AACAA,MAAAA,QAAA,SAAA,IAAAA,QAAA,WAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAAAC,OAAA,EAAA,CAAA;KADA,CAAA,CAAA;AAGAd,IAAAA,iBAAA,GAAA,EAAA,CAAA;GAJA,CAAA;;EAMA,OAAA;AACAY,IAAAA,cAAAA;GADA,CAAA;AAGA;;;;"}