{"version":3,"file":"useWMSLayer.mjs","sources":["../../../src/base-map/useLayerManager/useWMSLayer.ts"],"sourcesContent":["import { Ref, WatchStopHandle } from 'vue';\n\nexport default function useWMSLayer(mapInstance: LooseObject, layerInfo: Ref<MapLayer<WMSLayerConfig>>) {\n  if (!layerInfo.value || !layerInfo.value.config) return;\n  const { url, zIndex, maxZoom, layers, styles } = layerInfo.value.config;\n  let unwatchList: WatchStopHandle[] | null = [];\n\n  // 二期调整，对arcgis的wms发布做处理获取layers和styles\n  const layerNameList: number[] = [];\n  const styleList: string[] = [];\n  const params:({layers: string, styles?: string}) = { layers };\n  if (layers && layers.indexOf('$$$') !== -1) {\n    const layerList = layers.split('$$$');\n    layerList.forEach((item, index) => {\n      layerNameList.push(index);\n      styleList.push('default');\n    });\n    params.layers = layerNameList ? layerNameList.join(',') : layers;\n    params.styles = styles || styleList.length ? styleList.join(',') : 'default';\n  }\n\n  let wmsLayer = new TMap.WMSLayer({\n    url,\n    map: mapInstance,\n    zIndex,\n    maxZoom,\n    params,\n  });\n\n  unwatchList.push(watchEffect(() => {\n    wmsLayer?.setMap(null);\n    wmsLayer?.destroy();\n    wmsLayer = new TMap.WMSLayer({\n      url,\n      map: mapInstance,\n      zIndex,\n      maxZoom,\n      params,\n    });\n  }));\n\n  wmsLayer.unmount = (): void => {\n    wmsLayer?.setMap(null);\n    wmsLayer?.destroy();\n    unwatchList?.forEach(unwatch => unwatch());\n    unwatchList = null;\n  };\n\n  return wmsLayer;\n}\n"],"names":["useWMSLayer","mapInstance","layerInfo","value","config","url","zIndex","maxZoom","layers","styles","unwatchList","layerNameList","styleList","params","indexOf","layerList","split","forEach","item","index","push","join","length","wmsLayer","TMap","WMSLayer","map","watchEffect","setMap","destroy","unmount","unwatch"],"mappings":"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"}