map 地图绑定点击事件

function drawMap(v = optionDataList) {
  loading.value = true
  echarts.registerMap('china', mapData)
  if (!myMapCharts) myMapCharts = echarts.init(chart.value)
  myMapCharts.clear()
  option.series[0].data = v
  myMapCharts.setOption({ ...option })
  loading.value = false
  if (isFirstIn) {
    myMapCharts.on('click', function(pa) {
      if (!pa.data) {
        return
      }
      let a = JSON.parse(JSON.stringify(optionDataList))
      if (pa.data.itemStyle.areaColor == '#FAAD14') {
        emitter.emit('clickTableCell', {
          obj: pa,
          type: '取消'
        })
        a.forEach(item => {
          if (item.name == pa.name) {
            item.itemStyle = lastColor
          }
        })
      } else {
        emitter.emit('clickTableCell', {
          obj: pa,
          type: '选中'
        })
        a.forEach(item => {
          if (item.name == pa.name) {
            lastColor = JSON.parse(JSON.stringify(item.itemStyle))
            item.itemStyle = {
              areaColor: '#FAAD14'
            }
          }
        })
      }
      drawMap(a)
    })
    window.addEventListener('resize', resizeFun)
    isFirstIn = false
  }
}

  

posted @ 2023-04-17 22:14  何歡  阅读(121)  评论(0)    收藏  举报