mars3D地图与vue组件交互(抛出接收事件)

本文介绍如何在Vue项目中实现Mars3D地图与Vue组件之间的事件交互,通过抛出和接收事件来实现数据同步,增强前端应用的交互性和用户体验。
摘要由CSDN通过智能技术生成

 

 
map.ts

// 事件对象
export const eventTarget: mars3d.BaseClass = new mars3d.BaseClass()
// 矢量数据图层
let graphicLayer: mars3d.layer.GraphicLayer


export const onMounted = (mapInstance: mars3d.Map) => {
  map = mapInstance // 记录map

  // 创建DIV数据图层
  graphicLayer = new mars3d.layer.GraphicLayer()
  map.addLayer(graphicLayer)
  // 绑定popup 根据attr.type值判断打开哪个弹窗
  graphicLayer.bindPopup(
    (event: any) => {
      const attr = event.graphic.attr || {}
      const dom = "<div>123</div>"
      return dom
    },
    { offsetX: 265, offsetY: 120 }
  )
  //矢量数据图层添加监听   mars3d.EventType.click:矢量数据被点击
  graphicLayer.on(mars3d.EventType.click, (e) => {
    // 添加popupOpen事件传递给src\widgets\zhcs\tax-status\economy\index.vue中,用来更改图表
    if (e.graphic?.options?.attr?.area) {
      // 当popup显示时("popupOpen") 事件对象发送(fire)事件
      eventTarget.fire("popupOpen", { key: e.grap
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值