<template> <div id="mapDiv"></div> </template> <script> import "echarts/map/js/china"; export default { name: "maps", data() { return { dataList: [], }; }, mounted() { this.getList(); }, methods: { getList() { this.$https({ method: "post", url: "tBoardStatistic/getBoardProvincePlayTotalList" }) .then((res) => { if (res.status == 200) { if (res.data.resultCode == 200) { this.dataList = res.data.data; } else { this.dataList = []; } } else { this.dataList = []; } this.init(); }) .catch((err) => { this.$message.error(err.message); this.init(); }); }, init() { let option = { tooltip: { triggerOn: "click", formatter: function (e, t, n) { return 0.5 == e.value ? e.name + ":播放量" : e.seriesName + "<br />" + e.name + ":" + e.value; }, }, visualMap: [ { dimension: 0, left: "8%", bottom: 20, itemWidth: 16, orient: "horizontal", text: ["播放量", "由低到高"], backgroundColor: "rgba(0,19,45,0.4)", padding: 16, textStyle: { color: "gba(255,255,255,1)", }, inRange: { color: [ "rgba(161,255,255,1)", "rgba(91,214,255,1)", "rgba(38,157,255,1)", "rgba(0,72,149,1)", ], }, }, ], geo: { map: "china", roam: !1, scaleLimit: { min: 1, max: 2, }, roam: true, //是否开启平游或缩放 scaleLimit: { //滚轮缩放的极限控制 min: 1, max: 2, }, zoom: 1.2, top: 51, label: { normal: { show: !0, fontSize: "12", color: "#fff", }, }, itemStyle: { normal: { borderColor: "rgba(0, 0, 0, 0.2)", }, emphasis: { areaColor: "#f2d5ad", shadowOffsetX: 0, shadowOffsetY: 0, borderWidth: 0, }, }, regions: [ { name: "南海诸岛", itemStyle: { // 隐藏地图 normal: { opacity: 0, // 为 0 时不绘制该图形 }, }, label: { show: false, // 隐藏文字 }, }, ], }, series: [ { name: "播放量", type: "map", geoIndex: 0, data:this.dataList, }, ], }; let echartsDiv = this.$echarts.init(document.getElementById("mapDiv")); echartsDiv.setOption(option); }, }, }; </script> <style lang=scss> #mapDiv { width: 100%; height: 100%; } </style>