{"version":3,"file":"useWMTSLayer.mjs","sources":["../../../src/base-map/useLayerManager/useWMTSLayer.ts"],"sourcesContent":["import { Ref, WatchStopHandle } from 'vue';\n\nexport default function useWMTSLayer(mapInstance: LooseObject, layerInfo: Ref<MapLayer<WMTSLayerConfig>>) {\n  if (!layerInfo.value || !layerInfo.value.config) return;\n  const { url, service, zIndex, maxZoom, layer, tileMatrixSet } = layerInfo.value.config;\n  let unwatchList: WatchStopHandle[] | null = [];\n  let wmtsLayer = new TMap.WMTSLayer({\n    url,\n    map: mapInstance,\n    service,\n    zIndex,\n    maxZoom,\n    params: {\n      layer,\n      tileMatrixSet,\n    },\n  });\n\n  unwatchList.push(watchEffect(() => {\n    wmtsLayer?.setMap(null);\n    wmtsLayer?.destroy();\n    wmtsLayer = new TMap.WMTSLayer({\n      url,\n      map: mapInstance,\n      service,\n      zIndex,\n      maxZoom,\n      params: {\n        layer,\n        tileMatrixSet,\n      },\n    });\n  }));\n\n  wmtsLayer.unmount = (): void => {\n    wmtsLayer?.setMap(null);\n    wmtsLayer?.destroy();\n    unwatchList?.forEach(unwatch => unwatch());\n    unwatchList = null;\n  };\n\n  return wmtsLayer;\n}\n"],"names":["useWMTSLayer","mapInstance","layerInfo","value","config","url","service","zIndex","maxZoom","layer","tileMatrixSet","unwatchList","wmtsLayer","TMap","WMTSLayer","map","params","push","watchEffect","setMap","destroy","unmount","forEach","unwatch"],"mappings":";;AAAA,SAAAA,YAAA,CAAAC,WAAA,EAAAC,SAAA,EAAA;EACA,IAAA,CAAAA,SAAA,CAAAC,KAAA,IAAA,CAAAD,SAAA,CAAAC,KAAA,CAAAC,MAAA,EACA,OAAA;EACA,IAAA;IAAAC,GAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,KAAA;AAAAC,IAAAA,aAAAA;AAAA,GAAA,GAAAR,SAAA,CAAAC,KAAA,CAAAC,MAAA,CAAA;EACA,IAAAO,WAAA,GAAA,EAAA,CAAA;AACA,EAAA,IAAAC,SAAA,GAAA,IAAAC,IAAA,CAAAC,SAAA,CAAA;IACAT,GADA;AAEAU,IAAAA,GAAA,EAAAd,WAFA;IAGAK,OAHA;IAIAC,MAJA;IAKAC,OALA;AAMAQ,IAAAA,MAAA,EAAA;MACAP,KADA;AAEAC,MAAAA,aAAAA;AAFA,KAAA;AANA,GAAA,CAAA,CAAA;AAWAC,EAAAA,WAAA,CAAAM,IAAA,CAAAC,WAAA,CAAA,MAAA;AAAA,IAAA,IAAA,UAAA,EAAA,WAAA,CAAA;;AACA,IAAA,CAAA,UAAA,GAAAN,SAAA,MAAA,IAAA,IAAAO,UAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAAA,CAAAA,MAAA,CAAA,IAAA,CAAA,CAAA;IACA,CAAAP,WAAAA,GAAAA,SAAA,MAAA,IAAA,IAAA,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAAQ,OAAA,EAAA,CAAA;AACAR,IAAAA,SAAA,GAAA,IAAAC,IAAA,CAAAC,SAAA,CAAA;MACAT,GADA;AAEAU,MAAAA,GAAA,EAAAd,WAFA;MAGAK,OAHA;MAIAC,MAJA;MAKAC,OALA;AAMAQ,MAAAA,MAAA,EAAA;QACAP,KADA;AAEAC,QAAAA,aAAAA;AAFA,OAAA;AANA,KAAA,CAAA,CAAA;AAWA,GAdA,CAAA,CAAA,CAAA;;EAeAE,SAAA,CAAAS,OAAA,GAAA,MAAA;AAAA,IAAA,IAAA,WAAA,EAAA,WAAA,EAAA,YAAA,CAAA;;AACA,IAAA,CAAA,WAAA,GAAAT,SAAA,MAAA,IAAA,IAAAO,WAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAAA,CAAAA,MAAA,CAAA,IAAA,CAAA,CAAA;IACA,CAAAP,WAAAA,GAAAA,SAAA,MAAA,IAAA,IAAA,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAAQ,OAAA,EAAA,CAAA;IACA,CAAAT,YAAAA,GAAAA,WAAA,UAAA,IAAAW,YAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAAA,OAAA,CAAAC,OAAA,IAAAA,OAAA,EAAA,CAAA,CAAA;AACAZ,IAAAA,WAAA,GAAA,IAAA,CAAA;GAJA,CAAA;;AAMA,EAAA,OAAAC,SAAA,CAAA;AACA;;;;"}