roujennie 2023-04-30 23:46 采纳率: 84%
浏览 25
已结题

echarts地图数据加载不显示

我想要在地图上显示data数据,但是显示不出来是为什么?包括鼠标移到省份上连提示框也没有


drawChinaMapChart() {
      let myChart = this.$echarts.init(document.getElementById('chinaMap'));
      let airData = [
            {name:'北京市',value:39.93},
            {name:'天津市',value:39.13},
            {name:'河北省',value:147},
            {name:'山西省',value:39},
            {name:'内蒙古自治区',value:58},
            {name:'辽宁省',value:50},
            {name:'吉林省',value:51},
            {name:'黑龙江省',value:114},
            {name:'上海市',value:31.23},
            {name:'江苏省',value:67},
            {name:'浙江省',value:84},
            {name:'安徽省',value:117},
            {name:'福建省',value:29},
            {name:'江西省',value:96},
            {name:'山东省',value:92},
            {name:'河南省',value:113},
            {name:'湖北省',value:273},
            {name:'湖南省',value:175},
            {name:'广东省',value:38},
            {name:'广西壮族自治区',value:59},
            {name:'海南省',value:54},
            {name:'重庆市',value:66},
            {name:'四川省',value:58},
            {name:'贵州省',value:71},
            {name:'云南省',value:25},
            {name:'西藏自治区',value:24},
            {name:'陕西省',value:61},
            {name:'甘肃省',value:99},
            {name:'青海省',value:57},
            {name:'宁夏回族自治区',value:52},
            {name:'新疆维吾尔自治区',value:84},
            {name:'台湾省',value:88},
            {name:'香港特别行政区',value:66},
            {name:'澳门特别行政区',value:77},
      ]
      echarts.registerMap('china', this.chinaMap);
      let option = {
        title: {
          text: '测试图',
        },
        // 地图配置
        geo: {
          nameMap: {
            China: '中国',
          },
          map: 'china',
          label: {
            emphasis: {
              show: false,
            },
            show:true
          },
          // 当前视角的缩放比例
          zoom: 1.2, // 2.3
          // left: -300,
          // top: 250,
          // scale 地图的长宽比
          aspectScale: 1,
          roam:true,
          itemStyle: {
            normal: {
              borderColor: '#21EAFD', // 区域边框颜色
              areaColor: 'rgba(255,255,255,0)', // 区域颜色
              borderWidth: 1, // 区域边框宽度
              shadowBlur: 5,
              shadowColor: 'rgba(107,91,237,.7)',
            },
            emphasis: {
              borderColor: '#FFD1A3',
              areaColor: 'rgba(102,105,240,.3)',
              borderWidth: 1,
              shadowBlur: 5,
              shadowColor: 'rgba(135,138,255,.5)',
            },
          },
        },
        tooltip: {
          trigger: 'item'
        },
        series: [{
          data: airData,
          type:'map',
        }],
      };
      myChart.setOption(option);

    },

img

  • 写回答

1条回答 默认 最新

  • Py小郑 Python领域潜力新星 2023-05-01 11:42
    关注

    您的代码中存在一些问题,可能会导致数据加载不显示。以下是建议的解决方法:

    1. 确保您已经正确引入 ECharts 库,并将其初始化为 myChart 对象。
    2. 确保您已经正确引入地图数据,并将其注册到 ECharts 中。在您的代码中,使用了 echarts.registerMap 函数来注册中国地图,但是没有看到您如何引入地图数据文件(如 china.js)或将其作为变量传递给 registerMap 函数。
    3. 检查数据的格式是否正确。在您的代码中,数据格式应该是一个数组,每个元素都包含 namevalue 两个属性。检查您的数据是否与此格式匹配。
    4. 确保您的提示框已正确配置。在您的代码中,提示框配置在 tooltip 对象中,但是它的属性没有被设置。您可以在 tooltip 对象中设置 trigger 属性,以指定触发提示框的方式,例如 'item',还可以设置 formatter 属性,以指定提示框显示的内容。例如,您可以设置 formatter: '{b}: {c}',表示提示框显示地区名称和对应的数值。
    5. 检查您的地图配置是否正确。在您的代码中,您可以设置地图的显示区域、缩放比例、标签样式等。检查您的配置是否正确。

    以下是一个修改后的代码示例,您可以参考它进行调试:

    drawChinaMapChart() {
      // 初始化 ECharts 对象
      let myChart = this.$echarts.init(document.getElementById('chinaMap'));
    
      // 引入地图数据,并注册到 ECharts 
      let mapData = require('echarts/map/json/china.json');
      echarts.registerMap('china', mapData);
    
      // 数据格式
      let airData = [
        {name: '北京市', value: 39.93},
        {name: '天津市', value: 39.13},
        // ...省略其它数据
      ];
    
      // ECharts 配置项
      let option = {
      title: {
        text: '测试图',
      },
      tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}',
      },
      geo: {
        nameMap: {
          China: '中国',
        },
        map: 'china',
        label: {
          emphasis: {
            show: false,
          },
          show: true,
        },
        zoom: 1.2,
        aspectScale: 1,
        roam: true,
        itemStyle: {
          normal: {
            borderColor: '#21EAFD',
            areaColor: 'rgba(255,255,255,0)',
            borderWidth: 1,
            shadowBlur: 5,
            shadowColor: 'rgba(107,91,237,.7)',
          },
          emphasis: {
            borderColor: '#FFD1A3',
            areaColor: 'rgba(102,105,240,.3)',
            borderWidth: 1,
            shadowBlur: 5,
            shadowColor: 'rgba(135,138,255,.5)',
          },
        },
      },
      series: [{
        name: '测试数据',
        type: 'map',
        geoIndex: 0,
        data: [{
          name: '中国',
          value: 100,
        }],
      }],
    };
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月9日
  • 已采纳回答 5月1日
  • 创建了问题 4月30日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题