<template>
<div style="100%;height:100%;">
<div><span @click="chinaFn">中国</span><span>{{cityName}}</span></div>
<div style="700px;height:800px;" ref="chinaMap"></div>
</div>
</template>
<script>
import 'echarts/map/js/china.js'
import 'echarts/map/js/province/anhui.js'
import 'echarts/map/js/province/aomen.js'
import 'echarts/map/js/province/beijing.js'
import 'echarts/map/js/province/chongqing.js'
import 'echarts/map/js/province/fujian.js'
import 'echarts/map/js/province/gansu.js'
import 'echarts/map/js/province/guangdong.js'
import 'echarts/map/js/province/guangxi.js'
import 'echarts/map/js/province/guizhou.js'
import 'echarts/map/js/province/hainan.js'
import 'echarts/map/js/province/hebei.js'
import 'echarts/map/js/province/heilongjiang.js'
import 'echarts/map/js/province/henan.js'
import 'echarts/map/js/province/jiangsu.js'
import 'echarts/map/js/province/jiangxi.js'
import 'echarts/map/js/province/jilin.js'
import 'echarts/map/js/province/liaoning.js'
import 'echarts/map/js/province/neimenggu.js'
import 'echarts/map/js/province/ningxia.js'
import 'echarts/map/js/province/qinghai.js'
import 'echarts/map/js/province/shandong.js'
import 'echarts/map/js/province/shanghai.js'
import 'echarts/map/js/province/shanxi.js'
import 'echarts/map/js/province/sichuan.js'
import 'echarts/map/js/province/taiwan.js'
import 'echarts/map/js/province/tianjin.js'
import 'echarts/map/js/province/xianggang.js'
import 'echarts/map/js/province/xizang.js'
import 'echarts/map/js/province/xinjiang.js'
import 'echarts/map/js/province/yunnan.js'
import 'echarts/map/js/province/zhejiang.js'
export default {
data(){
return {
myChart4:null,
city: 'china',
cityName: ''
}
},
methods: {
chinaFn(){
this.cityName = ""
this.inptMap()
},
// 省级地图
cityMap(cityName){
let chinaOption = this.optionMap(cityName)
this.myChart4 = this.$echarts.init(this.$refs.chinaMap);
this.myChart4.setOption(chinaOption);
},
optionMap(city){
console.log(city);
// 根据参数city获取数据,赋值给data
var data = [
{name: '江西', value:10},
{name: '浙江', value:10},
];
var option = {
tooltip: {
trigger: 'item',
formatter: '{b}{c}',
},
series: [{
name: '中国',
type: 'map',
mapType: city,
selectedMode: false,//single 表示单选;multiple表示多选 默认flase不选
itemStyle: {
normal: {
borderWidth: 2,
borderColor: '#fff',
background: '#f00',
areaColor: '#186AB6',
color: '#fff',
label: {
show: true,
textStyle: {
color: '#fff'
}
}
},
emphasis: { // 也是选中样式
borderWidth: 2,
borderColor: '#fff',
areaColor: '#238DEC',
label: {
show: true,
textStyle: {
color: '#fff'
}
}
}
},
//此为加载的数据
data: data
}]
};
return option
},
// 初始化
inptMap(){
let that = this
let chinaOption = this.optionMap('china')
this.myChart4 = this.$echarts.init(this.$refs.chinaMap);
this.myChart4.setOption(chinaOption);
this.myChart4.on('click',params=>{
event.stopPropagation();
that.cityMap(params.name)
this.cityName = params.name
})
}
},
mounted() {
this.inptMap()
},
}
</script>
<style>
span{
padding: 0 20px;
}
</style>

