1. 程式人生 > 程式設計 >vue中echarts引入中國地圖的案例

vue中echarts引入中國地圖的案例

如下所示:

vue中echarts引入中國地圖的案例

<div id="myChartChina" :style="{width: '100%',height: '500px'}"></div>
 
 mounted() {
    this.drawLine();
  },drawLine(){
    // 基於準備好的dom,初始化echarts例項
    var myChartContainer = document.getElementById('myChartChina');    
    var resizeMyChartContainer = function(){
     myChartContainer.style.width=(document.body.offsetWidth/2)+'px'//頁面一半的大小
    } 
     resizeMyChartContainer();
    var myChartChina = this.$echarts.init(myChartContainer); 

    function randomData() { 
        return Math.round(Math.random()*500); 
      } 
    // 繪製圖表
    var optionMap = { 
       tooltip: {},legend: {
              orient: 'vertical',left: 'left',data:['']
            },visualMap: {
              min: 0,max: 1500,left: '10%',top: 'bottom',text: ['高','低'],calculable : true,color:['#0b50b9','#c3e2f4']
            },selectedMode: 'single',series : [             
              {
               name: '',type: 'map',mapType: 'china',itemStyle: {
                  normal:{
                    borderColor: 'rgba(0,0.2)'
                  },emphasis:{
                    shadowOffsetX: 0,shadowOffsetY: 0,shadowBlur: 20,borderWidth: 0,shadowColor: 'rgba(0,0.5)'
                  }
                },showLegendSymbol: true,label: {
                  normal: {
                    show: true
                  },emphasis: {
                    show: true
                  }
                },data:[        
                   {name: '北京',value: randomData() },{name: '天津',{name: '上海',{name: '重慶',{name: '河北',{name: '河南',{name: '雲南',{name: '遼寧',{name: '黑龍江',{name: '湖南',{name: '安徽',{name: '山東',{name: '新疆',{name: '江蘇',{name: '浙江',{name: '江西',{name: '湖北',{name: '廣西',{name: '甘肅',{name: '山西',{name: '內蒙古',{name: '陝西',{name: '吉林',{name: '福建',{name: '貴州',{name: '廣東',{name: '青海',{name: '西藏',{name: '四川',{name: '寧夏',{name: '海南',{name: '臺灣',{name: '香港',{name: '澳門',value: randomData() }
                ]
              }
            ]
        }
   
    myChartChina.setOption(optionMap);
    window.onresize=function(){
      resizeMyChartContainer();
      myChartChina.resize();
    }
   }

主要注意的一點在main.js裡面:

除了引入echarts之外

// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts

// 還要特別引入china.json,這樣中國地圖才會出現,不然只會出現右下角的南海諸島
import china from 'echarts/map/json/china.json'
echarts.registerMap('china',china)

補充知識:VUE中給template元件加背景

我就廢話不多說了,大家還是直接看程式碼吧~

<template>
 <div class="index_background" >
 </div>
</template>
<style>
.index_background{ background: url('~@/../static/images/login-bg.png') center top no-repeat;}
</style>

以上這篇vue中echarts引入中國地圖的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。