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
请求各位大佬指点~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.