<template>
<div>
<div id="china_map_box">
<div id="china_map" style="height: 600px; width: 700px;"></div>
</div>
</div>
</template>
<script>
import echarts from \'echarts\'
import \'echarts/map/js/china.js\'
export default {
name: \'MapComponent\',
mixins: [],
props: {
value: {
type: String,
default: \'\'
}
},
components: {},
data () {
return {
// echart 配制option
options: {
tooltip: {
triggerOn: \'mousemove\', // mousemove、click
padding: 8,
borderWidth: 1,
borderColor: \'#409eff\',
backgroundColor: \'rgba(255,255,255,0.7)\',
textStyle: {
color: \'#000000\',
fontSize: 12
},
formatter: function (e, t, n) {
let data = e.data
// 模拟数据
data.specialImportant = Math.random() * 1000 | 0
data.import = Math.random() * 1000 | 0
data.compare = Math.random() * 1000 | 0
data.common = Math.random() * 1000 | 0
data.specail = Math.random() * 1000 | 0
let context = `
<div>
<p><b style="font-size:15px;">${data.name}</b>(2020年第一季度)</p>
<p class="tooltip_style"><span class="tooltip_left">事件总数</span><span class="tooltip_right">${data.value}</span></p>
<p class="tooltip_style"><span class="tooltip_left">特别重大事件</span><span class="tooltip_right">${data.specialImportant}</span></p>
<p class="tooltip_style"><span class="tooltip_left">重大事件</span><span class="tooltip_right">${data.import}</span></p>
<p class="tooltip_style"><span class="tooltip_left">较大事件</span><span class="tooltip_right">${data.compare}</span></p>
<p class="tooltip_style"><span class="tooltip_left">一般事件</span><span class="tooltip_right">${data.common}</span></p>
<p class="tooltip_style"><span class="tooltip_left">特写事件</span><span class="tooltip_right">${data.specail}</span></p>
</div>
`
return context
}
},
visualMap: {
show: true,
left: 26,
bottom: 40,
showLabel: true,
pieces: [
{
gte: 1000,
label: \'>= 1000\',
color: \'#1C8DFF\'
},
{
gte: 500,
lt: 999,
label: \'500 - 999\',
color: \'#51A8FF\'
},
{
gte: 100,
lt: 499,
label: \'100 - 499\',
color: \'#82C0FF\'
},
{
gte: 10,
lt: 99,
label: \'10 - 99\',
color: \'#AAD5ee\'
},
{
lt: 10,
label: \'<10\',
color: \'#AAD5FF\'
}
]
},
geo: {
map: \'china\',
scaleLimit: {
min: 1,
max: 2
},
zoom: 1,
top: 30,
label: {
normal: {
show: true,
fontSize: \'12\',
color: \'rgba(0,0,0,0.7)\'
}
},
itemStyle: {
normal: {
// shadowBlur: 50,
// shadowColor: \'rgba(0, 0, 0, 0.2)\',
borderColor: \'rgba(255, 255, 255, 0.2)\'
// borderColor: \'#ffffff\'
},
emphasis: {
areaColor: \'#f2d5ad\',
shadowOffsetX: 0,
shadowOffsetY: 0,
borderWidth: 0
}
}
},
series: [
{
name: \'突发事件\',
type: \'map\',
geoIndex: 0,
data: []
}
]
},
// echart data
dataList: [
{
name: \'南海诸岛\',
value: 100,
eventTotal: 100,
specialImportant: 10,
import: 10,
compare: 10,
common: 40,
specail: 20
},
{
name: \'北京\',
value: 540
},
{
name: \'天津\',
value: 130
},
{
name: \'上海\',
value: 400
},
{
name: \'重庆\',
value: 750
},
{
name: \'河北\',
value: 130
},
{
name: \'河南\',
value: 830
},
{
name: \'云南\',
value: 110
},
{
name: \'辽宁\',
value: 19
},
{
name: \'黑龙江\',
value: 150
},
{
name: \'湖南\',
value: 690
},
{
name: \'安徽\',
value: 60
},
{
name: \'山东\',
value: 39
},
{
name: \'新疆\',
value: 4
},
{
name: \'江苏\',
value: 31
},
{
name: \'浙江\',
value: 104
},
{
name: \'江西\',
value: 36
},
{
name: \'湖北\',
value: 52
},
{
name: \'广西\',
value: 33
},
{
name: \'甘肃\',
value: 7
},
{
name: \'山西\',
value: 5
},
{
name: \'内蒙古\',
value: 778
},
{
name: \'陕西\',
value: 22
},
{
name: \'吉林\',
value: 4
},
{
name: \'福建\',
value: 18
},
{
name: \'贵州\',
value: 5
},
{
name: \'广东\',
value: 98
},
{
name: \'青海\',
value: 1
},
{
name: \'西藏\',
value: 0
},
{
name: \'四川\',
value: 44
},
{
name: \'宁夏\',
value: 4
},
{
name: \'海南\',
value: 22
},
{
name: \'台湾\',
value: 3
},
{
name: \'香港\',
value: 5
},
{
name: \'澳门\',
value: 555
}
],
innerValue: \'\'
}
},
watch: {
value (val) {
this.innerValue = val
}
},
computed: {},
methods: {
// 初始化中国地图
initEchartMap () {
let mapDiv = document.getElementById(\'china_map\')
let myChart = echarts.init(mapDiv)
myChart.setOption(this.options)
},
// 修改echart配制
setEchartOption () {
this.options.series[0][\'data\'] = this.dataList
}
// onChange (item) {
// this.(\'input\', item ? item.value : undefined)
// },
},
filters: {},
created () {
this.setEchartOption()
},
activated () { },
mounted () {
this.$nextTick(() => {
this.initEchartMap()
})
},
beforeUpdate () { },
beforeDestroy () { }
}
</script>
<style lang="less">
#china_map .tooltip_style {
line-height: 1.7;
overflow: hidden;
}
#china_map .tooltip_left {
float: left;
}
#china_map .tooltip_right {
float: right;
}
</style>
相关文章:
- 16、vue引入echarts,划中国地图 2022-02-03
- vue+echarts全国疫情地图 2021-11-24
- [ECharts] - ECharts使用中国地图 2021-10-26
- vue用echarts实现中国地图和世界地图 2021-06-30
- ECharts之中国地图 2021-10-19
- 使用echarts简单制作中国地图,echarts中国地图 2021-12-10
- echarts中的中国地图 2021-08-25
- vue + echarts 实现中国地图 展示城市 2021-11-25