Skip to content

弹窗-跟随

代码实例

typescript
<script setup lang="ts">
import { onMounted, onBeforeUnmount, onBeforeMount, ref, nextTick } from 'vue'
onBeforeMount(() => {
  hideBar()
})
const LarkExplorer = window.LarkExplorer
let map: any
onMounted(() => {
  LarkExplorer.ready({
    baseUrl: './dist/resources/',
  }).then(initMap)
})
let pos: any
function initMap() {
  // 默认天地图影像地图
  const baseImagery = LarkExplorer.BaseLayer.DefaultTdtImg
  map = new LarkExplorer.Map('map', baseImagery)
  console.log(map)
  pos = LarkExplorer.Coordinate.PosFromXYZ(119.5, 27, 10)
  const layer = map.Layers.Add.addBillboard(pos, {
    image: new URL('../assets/images/point.png', import.meta.url).href,
    onGround: false,
  })
  map.Navigation.flyToItem(layer)
}
const showPopup = ref(false)

// 弹窗回调对象
let domRender: any

// 开启弹窗
const start = () => {
  showPopup.value = true
  nextTick(() => {
    const popDiv = document.getElementById('popup')
    const options = {
      offset: { x: 0, y: 0 },
      maxHeight: 1000000,
    }
    domRender = map.Render.PostRender.domFollow(popDiv, pos, options)
  })
}
// 关闭弹窗
const stop = () => {
  domRender && domRender()
  showPopup.value = false
}
</script>

运行效果 更多示例