5 changed files with 198 additions and 3 deletions
@ -0,0 +1,52 @@ |
|||
var option = { |
|||
series: [ |
|||
{ |
|||
type: 'map3D', |
|||
name: '山西', |
|||
selectedMode: 'single', //地图高亮单选
|
|||
boxDepth: 90, //地图倾斜度
|
|||
regionHeight: 8, //地图高度
|
|||
map: '山西', |
|||
viewControl: { |
|||
distance: 150, //地图视角 控制初始大小
|
|||
rotateSensitivity: 0, //禁止旋转
|
|||
zoomSensitivity: 0, //禁止缩放
|
|||
}, |
|||
label: { |
|||
show: true, //是否显示市
|
|||
textStyle: { |
|||
color: '#0a1640', //文字颜色
|
|||
fontSize: 12, //文字大小
|
|||
backgroundColor: 'rgba(0,0,0,0)', //透明度0清空文字背景
|
|||
}, |
|||
}, |
|||
itemStyle: { |
|||
color: '#81d0f1', //地图颜色
|
|||
borderWidth: 0.5, //分界线wdith
|
|||
borderColor: '#459bca', //分界线颜色
|
|||
}, |
|||
emphasis: { |
|||
label: { |
|||
show: true, //是否显示高亮
|
|||
textStyle: { |
|||
color: '#fff', //高亮文字颜色
|
|||
}, |
|||
}, |
|||
itemStyle: { |
|||
color: '#0489d6', //地图高亮颜色
|
|||
}, |
|||
}, |
|||
//高亮市区 echarts bug 不生效
|
|||
regions: [ |
|||
{ |
|||
name: '运城市', |
|||
itemStyle: { |
|||
areaColor: '#f00', |
|||
}, |
|||
}, |
|||
], |
|||
}, |
|||
], |
|||
}; |
|||
|
|||
export default option; |
@ -0,0 +1,137 @@ |
|||
<template> |
|||
<div :style="{ width: 'width', height: 'height' }" class="chart-box"> |
|||
<div id="myEchart" ref="myEchart" style="width: 100%;height:100%;"></div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import option from './Map.js'; |
|||
|
|||
export default { |
|||
name: 'Map', |
|||
data() { |
|||
return { |
|||
width: '', |
|||
height: '', |
|||
}; |
|||
}, |
|||
mounted() { |
|||
console.log('地图'); |
|||
this.drawLine(); |
|||
let wh = window.innerWidth; |
|||
let hg = window.innerHeight; |
|||
this.width = wh + 'px'; |
|||
this.height = hg + 'px'; |
|||
console.log(this.height); |
|||
window.onresize = () => { |
|||
return (() => { |
|||
wh = window.innerWidth; |
|||
hg = window.innerHeight; |
|||
this.width = wh + 'px'; |
|||
this.height = hg + 'px'; |
|||
})(); |
|||
}; |
|||
}, |
|||
beforeDestroy() { |
|||
if (!this.myChart) { |
|||
return; |
|||
} |
|||
this.myChart.dispose(); |
|||
this.myChart = null; |
|||
}, |
|||
methods: { |
|||
drawLine() { |
|||
// 基于准备好的dom,初始化echarts实例 |
|||
let myChart = this.$echarts.init(document.getElementById('myEchart')); |
|||
// 绘制图表 |
|||
myChart.setOption(option); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="stylus" scoped> |
|||
/* 懒加载图标动画 */ |
|||
.demo-spin-icon-load { |
|||
animation: ani-demo-spin 1s linear infinite; |
|||
} |
|||
|
|||
@keyframes ani-demo-spin { |
|||
from { |
|||
transform: rotate(0deg); |
|||
} |
|||
|
|||
50% { |
|||
transform: rotate(180deg); |
|||
} |
|||
|
|||
to { |
|||
transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
/* 弹窗样式 */ |
|||
.layer { |
|||
position: absolute; |
|||
left: 400px; |
|||
top: 300px; |
|||
z-index: 100; |
|||
width: 360px; |
|||
height: 280px; |
|||
background: rgba(10, 22, 64, 0.9); |
|||
border-radius: 5px; |
|||
border: 1px solid #122253; |
|||
transform: translate(-100%, -100%); |
|||
|
|||
.content { |
|||
width: 100%; |
|||
height: 100%; |
|||
position: relative; |
|||
text-align: center; |
|||
|
|||
p { |
|||
font-size: 20px; |
|||
color: #fff; |
|||
line-height: 50px; |
|||
} |
|||
|
|||
.col-item { |
|||
height: 41px; |
|||
margin-top: 20px; |
|||
border-right: 1px solid #172353; |
|||
|
|||
.num { |
|||
color: #ebf8ff; |
|||
font-size: 18px; |
|||
} |
|||
|
|||
.text { |
|||
color: #507ebc; |
|||
font-size: 12px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.content::after { |
|||
content: ''; |
|||
width: 120px; |
|||
height: 2px; |
|||
background: #FFCCFF; |
|||
position: absolute; |
|||
right: -120px; |
|||
top: 50%; |
|||
transform: translateY(-50%); |
|||
} |
|||
|
|||
.content::before { |
|||
content: ''; |
|||
width: 2px; |
|||
height: 80px; |
|||
background: #FFB800; |
|||
position: absolute; |
|||
right: -134px; |
|||
top: 136px; |
|||
transform: rotateZ(-20deg); |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue