echarts中国地图,点击其省显示其对应的市

.vue文件

echarts——各个配置项详细说明总结

<template>
  <div>
    <div class="china-box">
      <div ref="china_map" style="height: 100%;width: 100%"></div>
    </div>
  </div>
</template>
<script>
  import echarts from "echarts";
  import 'echarts/map/js/china.js' // 核心文件
  require('echarts/theme/macarons') //
  import {provinces} from '../../../public/nameList'
  export default {
    data() {
      return {
      };
    },
    mounted() {
      this.$nextTick(_=>{
        this.chinaMaprsult()
      })
    },
    methods: {
      chinaMapHidden(chinaMap) {
        let that = this
        chinaMap.on('click',async function(params){
          if (params.name in provinces) {
            let s = await import(`echarts/map/js/province/${provinces[params.name]}`);
           if (s){
             that.chinaMaprsult(params.name)
           }
          }
        })
      },
      chinaMaprsult(name=null){
        let chinaMap = echarts.init(this.$refs.china_map)
        let options = {
          tooltip: { // 鼠标移到图里面的浮动提示框
            formatter:function (params) {
              return params.name
            }
          },
          visualMap: { // 左下角展示
            show: true,
            min: 0,
            max: 100,
            left: 10,
            bottom: 0,
            showLabel: true,
            textStyle: {
              color: '#000'
            },
            pieces: [{
              gt: 75,
              lte: 100,
              label: '111',
              color: '#f7358c',

            }, {
              gt: 50,
              lte: 75,
              label: '222',
              color: '#fb9632',

            }, {
              gt: 25,
              lte: 50,
              label: '3333',
              color: '#08b2ff',
            }, {
              gte: 0,
              lte: 25,
              label: '444',
              color: '#4d2ed2'
            }
            ]
          },
          // dataRange: {
          //
          // },
          geo: {
            map: name ? name : "china", // 核心
            roam: true,
            label: { // 页面初始化加载的文字
              normal: {
                show: true,
                textStyle: {
                  color: "#000", // 页面初始化的地图文字颜色
                  fontSize:10// // 页面初始化的地图文字大小
                },
              },
            },
            itemStyle: { //设置样式
              normal: {
                borderWidth: .5, //区域边框宽度
                borderColor: 'rgba(119, 156, 255, 1)'
              },
              emphasis: { // 移入背景颜色
                areaColor: '#ff00ff',
                show: true,
                textStyle: {
                  color: '#000',
                  fontSize: "12px"
                }
              },
            },
          },
          series: [
            {
              type: "map",
              geoIndex: 0,
              data: [ // 地图数据
              ],
              label: {
                normal: {
                  show: true, //显示省份标签
                  textStyle:{color:"#696969"},//省份标签字体颜色
                },
                emphasis: {
                  show: true,
                  textStyle: {
                  }
                }
              },
            },
          ],
          }
        chinaMap.setOption(options)
        this.chinaMapHidden(chinaMap)
        }
    }
  }
</script>
<style lang="less">
  .china-box{
    width: 600px;
    height: 500px;
  }
</style>

nameList.js文件

export const provinces = {
  台湾: 'taiwan',
  河北: 'hebei',
  山西: 'shanxi',
  辽宁: 'liaoning',
  吉林: 'jilin',
  黑龙江: 'heilongjiang',
  江苏: 'jiangsu',
  浙江: 'zhejiang',
  安徽: 'anhui',
  福建: 'fujian',
  江西: 'jiangxi',
  山东: 'shandong',
  河南: 'henan',
  湖北: 'hubei',
  湖南: 'hunan',
  广东: 'guangdong',
  海南: 'hainan',
  四川: 'sichuan',
  贵州: 'guizhou',
  云南: 'yunnan',
  陕西: 'shanxi1',
  甘肃: 'gansu',
  青海: 'qinghai',
  新疆: 'xinjiang',
  广西: 'guangxi',
  内蒙古: 'neimenggu',
  宁夏: 'ningxia',
  西藏: 'xizang',
  北京: 'beijing',
  天津: 'tianjin',
  上海: 'shanghai',
  重庆: 'chongqing',
  香港: 'xianggang',
  澳门: 'aomen'
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 可以通过 ECharts3D 中的鼠标事件监听器来实现点击显示对应参数的功能。首先,需要在地图上添加点击事件监听器,可以通过以下代码实现: ``` myChart.on('click', function (params) { // 处理点击事件 }); ``` 在监听器函数中,可以获取点击事件的参数 `params`,包括所点击区域的名称、值等信息。可以根据需要从参数中获取相关的数据,然后将数据显示在页面上。 如果需要在地图显示对应参数,可以使用 ECharts3D 的数据驱动功能,将数据绑定到地图上的对应区域。例如,可以将每个区域的名称和值存储在一个数组中,然后将数组与地图数据绑定,实现点击区域后在页面上显示对应的参数值。 ### 回答2: ECharts3D是一个在网页中创建和展示3D图表的JavaScript库。它支持各种类型的3D图表,包括3D柱状图、3D折线图、3D饼图等等。在使用ECharts3D地图时,我们可以通过点击地图上的区域来显示对应的参数。 具体实现步骤如下: 1. 首先,我们需要加载ECharts3D库和所需地图的JSON文件。ECharts3D库提供了一个`echarts-gl.js`文件,我们需要在网页中引入该文件,以及所需地图的JSON文件。 2. 接下来,我们创建一个用于展示地图的div元素,并为其设置宽度和高度。 3. 然后,我们初始化ECharts3D实例,并将其绑定到div元素上。 4. 在地图上添加点击事件监听器。通过`chart.on('click', function(params)`来监听地图点击事件,当用户点击地图上的某个区域时,该函数会被调用。 5. 在点击事件处理函数中,我们可以通过`params.data`获取用户点击的区域的相关信息,例如名称、值等。然后,我们可以根据这些信息显示对应的参数。 6. 最后,我们可以使用JavaScript中的DOM操作,将参数显示在页面的某个位置上,例如一个div元素。 总之,通过以上步骤,我们可以实现ECharts3D地图点击显示对应的参数。用户可以通过点击地图上的区域,获取该区域的相关信息,并将其显示在页面上的某个位置上。这样可以方便地展示地图数据,并帮助用户了解各个区域的具体信息。 ### 回答3: Echarts3D是一款强大的数据可视化工具,可以通过点击地图上的区域来显示对应的参数。实现这个功能需要以下步骤: 1. 数据准备:首先需要准备好地图数据和对应的参数数据。地图数据可以是GeoJson格式的地理数据,参数数据可以是JSON格式的数据,包含地理区域的名称和对应的参数值。 2. Echarts配置:配置Echarts图表的基本参数,包括图表类型、坐标系类型等。在配置项中添加事件监听器,监听地图上的点击事件。 3. 点击事件处理:当地图上的区域被点击时,通过事件监听器触发相应的处理函数。在处理函数中,获取点击区域的名称,然后根据名称从参数数据中找到对应的参数值。 4. 显示参数:根据获取到的参数值,可以选择将参数值显示在图表的标题、轴标签、图例等位置,或者在图表的其他组件中展示。可以通过Echarts的API来更新相应的参数显示。 综上所述,使用Echarts3D地图点击事件显示对应的参数的步骤包括:数据准备、Echarts配置、点击事件处理和参数显示。通过这些步骤,可以实现在Echarts3D地图点击显示对应的参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值