今天做项目有那么一个需求,就是使用echarts画地图,要根据账号的信息来展示不同省份的地图,(这里画单个地图我就不多说了);
问题:按照引入单个地图文件去画地图也是可以的,但是打包后的体积比较大,页面加载很慢。所以只能寻求其他方法
1.究其原因页面加载慢,主要是地图文件载入比较慢,实际用到的地图可能就2.3个,所以,这边单独在服务器上放了个echarts的插件包(需要后端配置下能访问到)
2.能在浏览器直接打开
3.如果没有处理跨域的,可以在node中配置下代理服务器
4.根据返回值str=“apis/china.json”
axios.get(str)
.then(response=> {
**echarts.registerMap(this.city,response.data)** //这里 导入地图
let myChart = echarts.init(document.getElementById('screenMapBox'));
myChart.setOption(this.option);
window.addEventListener("resize", myChart.resize);
// 监控缩放
myChart.on('georoam',function(params){
that.zoom=myChart.getOption().series[0].zoom;
})
})
.catch(function (error) {
console.log(error);
});
5.效果