问题:

1.假设示例中【1号】是个按钮,我该如何捕获这个按钮的点击事件,弹出一个窗口?

示例链接:功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

参考示例中,实现按钮单击在map.ts里eventTarget抛出事件到vue中监听,监听事件postRender,但是改为click后,querySelector就变为未定义了。

 解决办法:

1.

graphic.on(mars3d.EventType.add, function (event) {
    const container = event.graphic.container // popup对应的DOM

    const btnStatus1 = container.querySelector("#btn-status1")
    if (btnStatus1) {
      btnStatus1.addEventListener("click", (e) => {
        e.stopPropagation()
        globalMsg("您单击了1号水泵")
      })
    }

    const btnStatus2 = container.querySelector("#btn-status2")
    if (btnStatus2) {
      btnStatus2.addEventListener("click", (e) => {
        e.stopPropagation()
        globalMsg("您单击了2号水泵")
      })
    }
  })
  graphicLayer.addGraphic(graphic)

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐