vue中使用echarts的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)
})
}
报错,项目中没有这个文件,就只是请求了一个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
请求大佬指点~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不用get请求了,直接
import
进来你把this 在drawMap这个函数中保存一下this为that在下边的this都改完that看看
我也是vue项目,今天遇到了同样的问题,我用的是get请求,其实出现问题的原因不是get请求或者是本地import的区别,而是而是要用请求到的数据res.data来绘制地图,而不是整个res,这样写就是对的this.$echarts.registerMap("china", res.data),尽量还是用get请求来获取数据,不然部署到线上会有问题的