map 是使用json
方式注册的,在html
的页面中使用正常,但是使用vue
搭建的使用就报错了。
// .html 这是可以出来地图的
var chart = echarts.init(document.getElementById("map"))
$.getJSON(/*json 地址*/, function (data) {
//注册地图
echarts.registerMap("china", data);
//绘制地图
chart.setOption({
geo: {
map: 'china'
}
})
})
// .vue 这种报错了
drawMap () {
this.$ajax.get(/*json 地址*/).then(res => {
// 注册地图
this.$echarts.registerMap('china', res)
// 绘制地图
this.chart = this.$echarts.init(document.getElementById('map'))
this.chart.setOption({
geo: {
map: 'china'
}
})
}).catch(err => {
console.log(err)
})
}
报错:
TypeError: Cannot read property 'push' of undefined
at fixNanhai (nanhai.js:56)
at Object.load (geoJSONLoader.js:76)
at geoSourceManager.js:47
at Array.forEach (<anonymous>)
at each$1 (util.js:293)
at Object.load (geoSourceManager.js:46)
at Object.getFilledRegions (geoCreator.js:228)
at ExtendedClass.optionUpdated (GeoModel.js:49)
at ExtendedClass.<anonymous> (Global.js:240)
at Array.forEach (<anonymous>)
但是我项目中没有nanhai.js
这个文件,就只是请求了一个 json 而已,之前看到好像说 echarts4 内置了地图文件,难道这是内置的报错了吗?vue
和html
都是使用cdn
引入的echarts
<script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.js"></script>
json
文件使用的都是echarts 的 github 下的 china.json
请求各位大佬指点~
1
imherer 2019-08-26 14:52:20 +08:00
不要用 cdn 引入,yongnpm 然后 import 试试
我也在 vue 里用 echarts,不过没用过 map,都是一些图表,使用正常 |
3
wu67 2019-08-26 16:41:49 +08:00
你是不是 cdn 引入又没设置 webpack 的 externals 呀...
|