{"version":3,"file":"useTilesLayer.mjs","sources":["../../../src/base-map/useLayerManager/useTilesLayer.ts"],"sourcesContent":["import { Ref, WatchStopHandle } from 'vue';\n\nexport default function useTilesLayer(mapInstance: LooseObject, layerInfo: Ref<MapLayer<TilesLayerConfig>>) {\n  if (!layerInfo.value || !layerInfo.value.config) return;\n  const { url, minZoom, maxZoom, commonSpace, maximumScreenSpaceError, castShadow } = layerInfo.value.config;\n  let unwatchList: WatchStopHandle[] | null = [];\n\n  let tileset3d = new TMap.model.Tileset3D({\n    url,\n    map: mapInstance,\n    minZoom,\n    maxZoom,\n    commonSpace,\n    loadOptions: {\n      maximumScreenSpaceError, // 越小精度越高\n    },\n    renderOptions: {\n      castShadow, // 关闭阴影\n    },\n  });\n\n  unwatchList.push(watchEffect(() => {\n    tileset3d?.destroy();\n    tileset3d = new TMap.model.Tileset3D({\n      url,\n      map: mapInstance,\n      minZoom,\n      maxZoom,\n    });\n  }));\n\n  tileset3d.unmount = (): void => {\n    tileset3d?.destroy();\n    unwatchList?.forEach(unwatch => unwatch());\n    unwatchList = null;\n  };\n\n  return tileset3d;\n}\n"],"names":["useTilesLayer","mapInstance","layerInfo","value","config","url","minZoom","maxZoom","commonSpace","maximumScreenSpaceError","castShadow","unwatchList","tileset3d","TMap","model","Tileset3D","map","loadOptions","renderOptions","push","watchEffect","destroy","unmount","forEach","unwatch"],"mappings":";;AAAA,SAAAA,aAAA,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,OAAA;IAAAC,WAAA;IAAAC,uBAAA;AAAAC,IAAAA,UAAAA;AAAA,GAAA,GAAAR,SAAA,CAAAC,KAAA,CAAAC,MAAA,CAAA;EACA,IAAAO,WAAA,GAAA,EAAA,CAAA;EACA,IAAAC,SAAA,GAAA,IAAAC,IAAA,CAAAC,KAAA,CAAAC,SAAA,CAAA;IACAV,GADA;AAEAW,IAAAA,GAAA,EAAAf,WAFA;IAGAK,OAHA;IAIAC,OAJA;IAKAC,WALA;AAMAS,IAAAA,WAAA,EAAA;AACAR,MAAAA,uBAAAA;KAPA;AASAS,IAAAA,aAAA,EAAA;AACAR,MAAAA,UAAAA;AADA,KAAA;AATA,GAAA,CAAA,CAAA;AAaAC,EAAAA,WAAA,CAAAQ,IAAA,CAAAC,WAAA,CAAA,MAAA;AAAA,IAAA,IAAA,UAAA,CAAA;;IACA,CAAAR,UAAAA,GAAAA,SAAA,MAAA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAAS,OAAA,EAAA,CAAA;AACAT,IAAAA,SAAA,GAAA,IAAAC,IAAA,CAAAC,KAAA,CAAAC,SAAA,CAAA;MACAV,GADA;AAEAW,MAAAA,GAAA,EAAAf,WAFA;MAGAK,OAHA;AAIAC,MAAAA,OAAAA;AAJA,KAAA,CAAA,CAAA;AAMA,GARA,CAAA,CAAA,CAAA;;EASAK,SAAA,CAAAU,OAAA,GAAA,MAAA;AAAA,IAAA,IAAA,WAAA,EAAA,YAAA,CAAA;;IACA,CAAAV,WAAAA,GAAAA,SAAA,MAAA,IAAA,IAAA,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAAS,OAAA,EAAA,CAAA;IACA,CAAAV,YAAAA,GAAAA,WAAA,UAAA,IAAAY,YAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAAA,OAAA,CAAAC,OAAA,IAAAA,OAAA,EAAA,CAAA,CAAA;AACAb,IAAAA,WAAA,GAAA,IAAA,CAAA;GAHA,CAAA;;AAKA,EAAA,OAAAC,SAAA,CAAA;AACA;;;;"}