地图信息窗口点击事件触发methods中的方法

核心代码
将methods里边的方法赋值给全局变量

// 将methods里边的方法赋值给全局变量
mounted() {
	window.mapCallback = this.mapCallback	
},
methods:{
	mapCallback(IMEI, type) {
	 	//业务处理     
	}
}

实现过程
1、点击弹出窗体

//初始化infoWindow
var infoWindow = new TMap.InfoWindow({
  map: this.mapEntity,
  position: new TMap.LatLng(39.984104, 116.307503),
  offset: { x: 0, y: -32 }, //设置信息窗相对position偏移像素,为了使其显示在Marker的上方
})
infoWindow.close() //初始关闭信息窗关闭
//监听标注点击事件
markerLayer.on('click', (evt) => {
  console.log(evt)
  //设置infoWindow
  infoWindow.open() //打开信息窗
  infoWindow.setPosition(evt.geometry.position) //设置信息窗位置
  // infoWindow.setContent(this.generateDiv(evt.geometry.imei, evt.geometry.studentName,evt.geometry.status,'',evt.geometry.time,evt.geometry.location)) //设置信息窗内容
  infoWindow.setContent(this.generateDiv(evt.geometry)) //设置信息窗内容
})
// 将methods里边的方法赋值给全局变量
window.mapCallback = this.mapCallback

2、生成窗体

// 返回信息窗体dom
generateDiv({ imei, deviceName, status, locationType, time, location, address }) {
      const load = `<div style="width: 100%;min-width:250px;height: 100%;padding: 10px;color: #555555;font-size: 14px;">
			  <div style="display: flex;">IMEI:${imei || '数据丢失'}</div>
			  <div style="display: flex;margin-top: 6px;">${deviceName || '设备名称'}:
				  <div style="background: #ef7272;color: #FFFFFF;line-height: 22px;height: 22px;text-align: center;width: 40px;border-radius: 2px;">
					${status == 1 ? '在线' : '离线'}
			  	</div>
			  </div>
		  	<div style="display: flex;justify-content: space-between;margin-top: 6px;"><span>${
          locationType || 'GPS'
        }定位</span><span>${time}</span></div>
			  <div style="display: flex;margin-top: 6px;height: 35px;font-weight: 700;">${address || '位置信息'}</div>
			  <div style="margin-top: 6px;color: #85a6fe;display: flex;justify-content: space-around;">
				  <span οnclick="mapCallback(${imei}, 1)">足迹回放</span>
				  <span οnclick="mapCallback(${imei}, 2)">告警信息</span>
				  <span οnclick="mapCallback(${imei}, 3)">指令查看</span>
			  </div>
		  </div>`
      return load
    },

3、定义触发的事件

// 点击事件
mapCallback(IMEI, type) {
 const pathList = ['/location/footprint', '/bizCardInvokeLog/getAlarmLogPage', '/bizCardEquipment/page']
 this.$router.push({
   path: pathList[type - 1],
   query: {
     imei: IMEI,
   }
 })
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值