{"version":3,"file":"dep-5235163c.mjs","sources":["../../src/submap-container/index.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n  name: 'TlbsSubmapContainer',\n  \n})\n</script>\n<template>\n  <div\n    ref=\"subContainer\"\n    class=\"tlbs-submap-container\"\n  >\n    <slot />\n  </div>\n</template>\n\n<script setup lang=\"ts\"  name=\"TlbsSubmapContainer\">\nimport { ref, inject } from 'vue';\nimport { throttleWithFrame } from '../utils/index';\nconst subContainer = ref();\ninterface Props {\n  isShow?: boolean,\n  mapId: string,\n  position: LatLng,\n  offset: OffsetOption,\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n  isShow: true,\n});\nwatch(props, () => {\n  onMapChanged();\n});\nconst mapInstance: LooseObject | null = inject('mapInstance') || null;\n\nconst onMapChanged = () => {\n  if (!mapInstance?.value) {\n    return;\n  }\n  const { lat, lng } = props.position;\n  // 经纬度坐标转容器像素坐标\n  const pixel = mapInstance.value.projectToContainer(!lat || !lng\n    ? mapInstance.value.unprojectFromContainer(new TMap.Point(0, 0))\n    : new TMap.LatLng(\n      lat,\n      lng,\n    ));\n  // 使dom中心点对齐经纬度坐标点\n  if (props.isShow) {\n    subContainer.value.style.display = 'block';\n    const left = `${pixel.getX() - subContainer.value.clientWidth / 2 + props.offset.x}px`;\n    const top = `${pixel.getY() - subContainer.value.clientHeight / 2 + props.offset.y}px`;\n    subContainer.value.style.transform = `translate(${left}, ${top})`;\n  } else {\n    subContainer.value.style.display = 'none';\n  }\n};\nwatchEffect(() => {\n  if (mapInstance?.value) {\n    const _listener = throttleWithFrame(onMapChanged); // 随动画帧节流\n    // 初始时先执行一遍\n    _listener();\n    // mapInstance 变化时更改位置\n    mapInstance.value?.on('move', _listener);\n    mapInstance.value?.on('resize', _listener);\n    mapInstance.value?.on('offset_changed', _listener);\n  }\n});\n\nonUnmounted(() => {\n  mapInstance?.value?.off('move', onMapChanged);\n  mapInstance?.value?.off('resize', onMapChanged);\n  mapInstance?.value?.off('offset_changed', onMapChanged);\n});\n</script>\n"],"names":["__default__","defineComponent","name","_defineComponent","_objectSpread","props","isShow","type","Boolean","required","default","mapId","String","position","offset","setup","__props","subContainer","value","style","display","left","pixel","getX","clientWidth","x","top","getY","clientHeight","y","transform","watchEffect","mapInstance","_listener","throttleWithFrame","onMapChanged","on","onUnmounted","off","_ctx","_cache","_openBlock","_createElementBlock","ref_key","ref","class","_renderSlot","$slots"],"mappings":"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"}