vue项目中使用echarts map报错Cannot read property 'push' of undefined nanhai.js

在vue中绘制地图需要加载一个本地china.json文件,我用的是get请求的方法加载的,而不是直接import,因为我怕import请求到的部署到线上的时候会有问题。如下是get请求方法:

复制代码
this.$http.get(zhongguo).then(res => {
        console.log(res);
        this.$echarts.registerMap("china", res); //注册地图
        console.log("223442");
        var myChart = this.$echarts.extendsMap("mapChart", { //绘制地图
          bgColor: "", // 画布背景色
          mapName: "china", // 地图名
          text: "by:wxw",
          goDown: true, // 是否下钻
          // 下钻回调
          callback: function(name, option, instance) {
            console.log(name, option, instance);
          },
          // 数据展示
          data: areaProjects
        });
      });
复制代码

在请求到数据后我直接用res来绘制地图,结果报错

 

 我就纳闷,根本没有这个文件啊,但其实这个js文件就在我们安装的echarts包里面

报错行打断点:regions: undefined

 

 

我看到有人说别用get请求方法,直接import就不会报错,嗯?为什么会这样?我打印了一下res

 

 这么多没用的数据,我们绘制地图只需要res.data,而不能是整个res,修改后就可以了展示地图了

复制代码
this.$http.get(zhongguo).then(res => {
        console.log(res);
        this.$echarts.registerMap("china", res.data); //注册地图
        console.log("223442");
        var myChart = this.$echarts.extendsMap("mapChart", { //绘制地图
          bgColor: "", // 画布背景色
          mapName: "china", // 地图名
          text: "by:wxw",
          goDown: true, // 是否下钻
          // 下钻回调
          callback: function(name, option, instance) {
            console.log(name, option, instance);
          },
          // 数据展示
          data: areaProjects
        });
      });
复制代码

就这个问题折腾了我两天时间,今天早上忽然开窍,真想给自己一个大嘴巴子

 

 

posted @   leahtao  阅读(2936)  评论(9编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示