{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/ZnMap/hooks/index.ts"],"sourcesContent":["import { reactive, ref, unref, computed } from 'vue'\nimport _lodash from 'lodash'\nimport { type BMapItemType } from '../components/BMapItems/interface'\n\nexport const useZnMap = () => {\n  let instance: any = null\n  let map: any = null //百度地图\n  const znMapInstance = ref(null)\n  const register = (m, i) => {\n    console.log('register', m, i)\n    map = m\n    instance = i\n    znMapInstance.value = new ZnMapInstance(m, i)\n  }\n  const getMap = () => {\n    return map\n  }\n  const getInstance = () => {\n    return instance\n  }\n\n  const getZnMapInstance = () => {\n    return znMapInstance.value\n  }\n\n  const overlayList = computed(() => {\n    return znMapInstance.value?.state?.overlayList ?? []\n  })\n  return {\n    getMap,\n    getInstance,\n    register,\n    getZnMapInstance,\n    znMapInstance,\n    overlayList\n  }\n}\n\nexport class ZnMapInstance {\n  /** 百度地图 */\n  map: any\n  /** Bmap实例 */\n  instance: any\n  /** BMap */\n  bmap: any\n  state: any = reactive({\n    overlayList: []\n  })\n\n  constructor(map: any, instance: any, bmap?: any) {\n    this.map = map\n    this.instance = instance\n    this.bmap = bmap\n  }\n\n  /**\n   * @description: 添加覆盖物，可传List,可传官方例子中的属性https://yue1123.github.io/vue3-baidu-map-gl/    可以在对象中增加\"tag\"属性，增加后可以使用removeByTag方法删除\n   */\n  add(item: BMapItemType | Array<BMapItemType>) {\n    if (_lodash.isArray(item)) {\n      this.state.overlayList.push(...item)\n    } else {\n      this.state.overlayList.push(item)\n    }\n  }\n  /**\n   * @description: 去除覆盖物\n   */\n  remove(item: BMapItemType | Array<BMapItemType>) {\n    if (_lodash.isArray(item)) {\n      item.forEach((_item) => {\n        _lodash.remove(this.state.overlayList, (_) => _lodash.isEqual(_, _item))\n      })\n    } else {\n      _lodash.remove(this.state.overlayList, (_) => _lodash.isEqual(_, item))\n    }\n  }\n\n  /**\n   * @description: 根据tag删除覆盖物\n   */\n  removeByTag(tag: string) {\n    _lodash.remove(this.state.overlayList, (_) => _.tag === tag)\n  }\n\n  clear() {\n    this.state.overlayList = []\n  }\n}\n"],"names":[],"mappings":"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"}