在VUE里實現一個簡單的中國地圖


如何在vue里面實現一個簡單的中國地圖,並且實現一些簡單的個性化修改。

下面是最終實現的效果圖。透明的地圖加一個背景圖。

1、在你的項目里安裝echarts的依賴

npm install echarts -s

(使用淘寶鏡像安裝也行)

2、引入echarts

全局引入和局部引入根據自己的情況來定

全局引入:

在main.js里面加入,將其掛載的vue的原型上。

1 import echarts from 'echarts'
2 Vue.prototype.$echarts = echarts

局部引入:

直接在用到的地方引入即可 “ import echarts from 'echarts'  ”

3、重點:

地圖和echarts的其他圖表不太一樣,需要引入地圖資源(如果引入了地圖的js就會自動注冊,引的是json文件的話就需要手動注冊到echarts上),如果沒有引的話是顯示不出地圖的。而這個也有很多坑。

分享一下china.js的下載鏈接 。

鏈接:https://pan.baidu.com/s/1qYYyyjrBUUqZedE3irVnzw
提取碼:566n

用於不是用vue開發的小伙伴們用,用vue的話可以在node_modules/echarts/map/js/china.js找到這個文件。然后開始引入china.js。

1 import "../../node_modules/echarts/map/js/china.js" //正常運行
2 import "../china.js" //報錯

這點我還沒弄清楚,兩個一模一樣的文件,一個是我本地自己下載的,一個是安裝echarts的時候安在node_modules里面的。為什么本地下載的就會報錯,報china.js里面的this有錯。在沒有打包的情況下引入node_modules里面的是可以正常運行的,打了包過后的情況我還沒測試到,后續可以更新一下。

4、配置地圖

在基礎工作都做好后開始給我們的地圖寫配置,以達到我們想要的效果。

給地圖准備一個dom

<div id="map" style="width: 500px;height: 500px;"></div>

配置

 1 export default {
 2         name: "home",
 3         mounted() {
 4             this.map();
 5         },
 6         methods: {
 7             map() {
 8                 let map = echarts.init(document.getElementById('map'));
 9                 // 繪制圖表
10                 map.setOption({
11                     series: [{
12                         name: '數據',
13                         type: 'map',
14                         mapType: 'china',
15                         top:'5%',
16                         //roam: true, //是否需要縮放地圖
17                         label: {
18                             normal: {
19                                 show: false //省份名稱  
20                             },
21                             emphasis: {
22                                 show: false
23                             }
24                         },
25                         itemStyle: {
26                             normal: {
27                                  borderColor: 'rgba(0, 0, 0, 0.3)',//區域描邊顏色
28                                 color:'rgba(0, 0, 0,0)',//區域名字顏色,這里是透明
29                                 areaColor:'rgba(0, 0, 0,0)',//區域顏色 透明
30                             },
31                         },
32                         emphasis:{
33                             itemStyle: {
34                                 areaColor:'rgba(111, 151, 242,0.3)',//高亮區域的顏色
35                             },
36                         },
37                         data: [{
38                                 name: '北京',//默認顯示區域的名字
39                                 selected: true//高亮顯示
40                             },
41                             {
42                                 name: '天津',
43                                 selected: true
44                             },
45                             {
46                                 name: '上海',
47                                 selected: true
48                             },
49                             {
50                                 name: '重慶',
51                                 selected: true
52                             },
53                             {
54                                 name: '河北',
55                                 selected: true
56                             },
57                             {
58                                 name: '河南',
59                                 selected: true
60                             },
61                             {
62                                 name: '四川',
63                                 selected: true
64                             }
65                         ]
66                     }]
67 
68                 });
69             }
70         }
71     };

以上就是全部步驟的代碼,有些地方還不是很清楚,但到達想要的效果后再繼續研究。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM