echarts之点击外部区域控制地图高亮显示

 记录一下项目上遇到的比较复杂的问题,方便复习!

这里有三个点...

  1. 外部区域在触发点击事件时需要获取到省份

    这里必须获取到省份名称,如果获取不到省份就会影响下一步获取dataIndex的值(我没有找到怎么获取dataIndex的方法,只能用笨办法去找了)
  2. 用省份获取到对应的dataIndex

    根据chinaMap.getOption().geo[0].regions来获取对应的省份列表,然后遍历这个省份列表获取到对应的下标,这个下标就是dataIndex

  3. 使用dispatchAction事件来控制地图区域高亮

    最后就是用dispatchAction方法来控制地图区域高亮显示

      if (selectedArea.value) {    // 判断当前是否有区域在高亮,如果有就取消当前区域高亮

        chinaMap.dispatchAction({    // 取消高亮

          type: "downplay",

          seriesIndex: 0,

          dataIndex: selectedArea.value,

        });

      }

      chinaMap.dispatchAction({  // 高亮显示

        type: "highlight",

        seriesIndex: 0,

        dataIndex: dataIndex,

      });

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Echarts 中实现地图部分区域高亮显示,你可以使用 Echarts 提供的地图组件和相关配置项来实现。下面是一个简单的示例代码: 首先,确保你已经引入了 EchartsJavaScript 文件。然后,创建一个包含地图的容器,例如一个 `<div>` 元素,并为其设置一个固定的宽度和高度。 ```html <div id="map" style="width: 600px; height: 400px;"></div> ``` 接下来,使用 JavaScript 代码来初始化 Echarts 并配置地图的数据和样式。 ```javascript // 初始化 Echarts var myChart = echarts.init(document.getElementById('map')); // 地图数据配置 var option = { series: [{ type: 'map', map: 'china', // 使用中国地图 itemStyle: { normal: { // 设置默认状态下的地图区域样式 areaColor: '#ccc', borderColor: '#fff', borderWidth: 1 }, emphasis: { // 设置鼠标悬停时的高亮样式 areaColor: '#ff0000', borderColor: '#fff', borderWidth: 1 } }, data: [ {name: '北京', value: 100}, {name: '上海', value: 200}, {name: '广州', value: 300}, // 其他省份的数据... ] }] }; // 将配置项设置给 Echarts 实例 myChart.setOption(option); ``` 在上面的代码中,通过设置 `itemStyle` 中的 `normal` 和 `emphasis` 分别配置了默认状态和高亮状态下的地图区域样式。你可以根据自己的需求来调整这些样式。 最后,使用 `setOption` 方法将配置项设置给 Echarts 实例,即可在页面上显示出地图并实现区域高亮效果。 请注意,上面的示例中使用的是中国地图,你可以根据需要更换为其他地图数据。此外,你还可以根据自己的需求对其他 Echarts 地图配置项进行进一步的调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值