创建dom,添加点击事件

 let htmlmodel = `
      <div  onclick='chickModelCom(${JSON.stringify(model)})'  style='cursor:pointer;pointer-events:auto;z-index: 99;font-size: 10px;color: #fff; display: inline-block; text-align: center;'>
      <div style='width:124px;height:30px;line-height: 30px; background-image: url(${back});background-repeat: no-repeat;background-size: 100% 100%; '>
      ${model.name} -:${model.speed}m/s
      </div>
      <div style='width: 20px; padding-top:20px; margin-left:49px; margin-top:12px; background-image: url(${modelPoint});background-repeat: no-repeat;'>
      </div>
      </div>
      `

 点击事件

 window['chickModelCom'] = (valueParam) => {
    chickModelCom(valueParam)
  }
  const chickModelCom = (valueParam) => {
    console.log('valueParam', valueParam)
    ChickModelData = valueParam
    showGate.value = true
  }

window['chickModelCom'] 是一个将函数赋给全局 window 对象的方式。这样可以让 chickModelCom 函数在全局范围内被调用。这个全局函数可以在浏览器的任何地方访问和执行,用于在不同的脚本或模块之间共享功能。 

 addHtml(lngLatHeight, html, offset) {
    let htmlOverlay = document.createElement('div')
    htmlOverlay.style.zIndex = 9999
    htmlOverlay.style.position = 'absolute'
    htmlOverlay.style.display = 'none'
    htmlOverlay.style.pointerEvents = 'none'

    htmlOverlay.innerHTML = html
    document.getElementById(this.cesiumID).appendChild(htmlOverlay)

    var scratch = new Cesium.Cartesian2()
    let the = this
    this.viewer.scene.preRender.addEventListener(function () {
      var position = Cesium.Cartesian3.fromDegrees(lngLatHeight[0], lngLatHeight[1], lngLatHeight[2])
      var canvasPosition = the.viewer.scene.cartesianToCanvasCoordinates(position, scratch)
      if (Cesium.defined(canvasPosition)) {
        let top = htmlOverlay.offsetHeight + offset.top
        let left = htmlOverlay.offsetWidth / 2 + offset.left
        htmlOverlay.style.top = canvasPosition.y - top + 'px'
        htmlOverlay.style.left = canvasPosition.x - left + 'px'
      } else {
      }
      if (htmlOverlay.style.display == 'none') {
        window.setTimeout(() => {
          htmlOverlay.style.display = 'block'
        }, 50)
      }
    })
    return htmlOverlay
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值