wjs593

**准备工作:**
1.首先使用vue-cli的脚手架生成vue项目。

2.然后使用npm安装echarts
npm install echarts -S

3.安装完后再mian.js中挂载到vue的实例上使用,当然你也可以哪里需要在再哪里引入
引入:
import echarts from \'echarts\' // e-charts
挂载:
Vue.prototype.$echarts = echarts

**开始使用**
这里我是直接写在当前文件夹中,并没有封装在公共组件中,下一篇在接着讲怎么把echarts封装成组件
1.需要把视图装着的容器 <div id="main style="width: 100%;height:800px;"></div>

2.把echarts的逻辑代码写在methods:{}中,然后在调用这个方法
mounted () {
this.mapChart()
},
3.方法编写:直接上代码

methods: {
mapChart () {
var myMapChart = this.$echarts.init(document.getElementById(\'main\'))
// 34个省、市、自治区的名字拼音映射数组
var provinces = {
// 23个省
台湾: \'taiwan\',
河北: \'hebei\',
山西: \'shanxi\',
辽宁: \'liaoning\',
吉林: \'jilin\',
黑龙江: \'heilongjiang\',
江苏: \'jiangsu\',
浙江: \'zhejiang\',
安徽: \'anhui\',
福建: \'fujian\',
江西: \'jiangxi\',
山东: \'shandong\',
河南: \'henan\',
湖北: \'hubei\',
湖南: \'hunan\',
广东: \'guangdong\',
海南: \'hainan\',
四川: \'sichuan\',
贵州: \'guizhou\',
云南: \'yunnan\',
陕西: \'shanxi1\',
甘肃: \'gansu\',
青海: \'qinghai\',
// 5个自治区
新疆: \'xinjiang\',
广西: \'guangxi\',
内蒙古: \'neimenggu\',
宁夏: \'ningxia\',
西藏: \'xizang\',
// 4个直辖市
北京: \'beijing\',
天津: \'tianjin\',
上海: \'shanghai\',
重庆: \'chongqing\',
// 2个特别行政区
香港: \'xianggang\',
澳门: \'aomen\'
}
var cityMap = {
北京市: \'110100\',
天津市: \'120100\',
上海市: \'310100\',
重庆市: \'500100\',
崇明县: \'310200\',
湖北省直辖县市: \'429000\',
铜仁市: \'522200\',
毕节市: \'522400\',
石家庄市: \'130100\',
唐山市: \'130200\',
秦皇岛市: \'130300\',
邯郸市: \'130400\',
邢台市: \'130500\',
保定市: \'130600\',
张家口市: \'130700\',
承德市: \'130800\',
沧州市: \'130900\',
廊坊市: \'131000\',
衡水市: \'131100\',
太原市: \'140100\',
大同市: \'140200\',
阳泉市: \'140300\',
长治市: \'140400\',
晋城市: \'140500\',
朔州市: \'140600\',
晋中市: \'140700\',
运城市: \'140800\',
忻州市: \'140900\',
临汾市: \'141000\',
吕梁市: \'141100\',
呼和浩特市: \'150100\',
包头市: \'150200\',
乌海市: \'150300\',
赤峰市: \'150400\',
通辽市: \'150500\',
鄂尔多斯市: \'150600\',
呼伦贝尔市: \'150700\',
巴彦淖尔市: \'150800\',
乌兰察布市: \'150900\',
兴安盟: \'152200\',
锡林郭勒盟: \'152500\',
阿拉善盟: \'152900\',
沈阳市: \'210100\',
大连市: \'210200\',
鞍山市: \'210300\',
抚顺市: \'210400\',
本溪市: \'210500\',
丹东市: \'210600\',
锦州市: \'210700\',
营口市: \'210800\',
阜新市: \'210900\',
辽阳市: \'211000\',
盘锦市: \'211100\',
铁岭市: \'211200\',
朝阳市: \'211300\',
葫芦岛市: \'211400\',
长春市: \'220100\',
吉林市: \'220200\',
四平市: \'220300\',
辽源市: \'220400\',
通化市: \'220500\',
白山市: \'220600\',
松原市: \'220700\',
白城市: \'220800\',
延边朝鲜族自治州: \'222400\',
哈尔滨市: \'230100\',
齐齐哈尔市: \'230200\',
鸡西市: \'230300\',
鹤岗市: \'230400\',
双鸭山市: \'230500\',
大庆市: \'230600\',
伊春市: \'230700\',
佳木斯市: \'230800\',
七台河市: \'230900\',
牡丹江市: \'231000\',
黑河市: \'231100\',
绥化市: \'231200\',
大兴安岭地区: \'232700\',
南京市: \'320100\',
无锡市: \'320200\',
徐州市: \'320300\',
常州市: \'320400\',
苏州市: \'320500\',
南通市: \'320600\',
连云港市: \'320700\',
淮安市: \'320800\',
盐城市: \'320900\',
扬州市: \'321000\',
镇江市: \'321100\',
泰州市: \'321200\',
宿迁市: \'321300\',
杭州市: \'330100\',
宁波市: \'330200\',
温州市: \'330300\',
嘉兴市: \'330400\',
湖州市: \'330500\',
绍兴市: \'330600\',
金华市: \'330700\',
衢州市: \'330800\',
舟山市: \'330900\',
台州市: \'331000\',
丽水市: \'331100\',
合肥市: \'340100\',
芜湖市: \'340200\',
蚌埠市: \'340300\',
淮南市: \'340400\',
马鞍山市: \'340500\',
淮北市: \'340600\',
铜陵市: \'340700\',
安庆市: \'340800\',
黄山市: \'341000\',
滁州市: \'341100\',
阜阳市: \'341200\',
宿州市: \'341300\',
六安市: \'341500\',
亳州市: \'341600\',
池州市: \'341700\',
宣城市: \'341800\',
福州市: \'350100\',
厦门市: \'350200\',
莆田市: \'350300\',
三明市: \'350400\',
泉州市: \'350500\',
漳州市: \'350600\',
南平市: \'350700\',
龙岩市: \'350800\',
宁德市: \'350900\',
南昌市: \'360100\',
景德镇市: \'360200\',
萍乡市: \'360300\',
九江市: \'360400\',
新余市: \'360500\',
鹰潭市: \'360600\',
赣州市: \'360700\',
吉安市: \'360800\',
宜春市: \'360900\',
抚州市: \'361000\',
上饶市: \'361100\',
济南市: \'370100\',
青岛市: \'370200\',
淄博市: \'370300\',
枣庄市: \'370400\',
东营市: \'370500\',
烟台市: \'370600\',
潍坊市: \'370700\',
济宁市: \'370800\',
泰安市: \'370900\',
威海市: \'371000\',
日照市: \'371100\',
莱芜市: \'371200\',
临沂市: \'371300\',
德州市: \'371400\',
聊城市: \'371500\',
滨州市: \'371600\',
菏泽市: \'371700\',
郑州市: \'410100\',
开封市: \'410200\',
洛阳市: \'410300\',
平顶山市: \'410400\',
安阳市: \'410500\',
鹤壁市: \'410600\',
新乡市: \'410700\',
焦作市: \'410800\',
濮阳市: \'410900\',
许昌市: \'411000\',
漯河市: \'411100\',
三门峡市: \'411200\',
南阳市: \'411300\',
商丘市: \'411400\',
信阳市: \'411500\',
周口市: \'411600\',
驻马店市: \'411700\',
省直辖县级行政区划: \'469000\',
武汉市: \'420100\',
黄石市: \'420200\',
十堰市: \'420300\',
宜昌市: \'420500\',
襄阳市: \'420600\',
鄂州市: \'420700\',
荆门市: \'420800\',
孝感市: \'420900\',
荆州市: \'421000\',
黄冈市: \'421100\',
咸宁市: \'421200\',
随州市: \'421300\',
恩施土家族苗族自治州: \'422800\',
长沙市: \'430100\',
株洲市: \'430200\',
湘潭市: \'430300\',
衡阳市: \'430400\',
邵阳市: \'430500\',
岳阳市: \'430600\',
常德市: \'430700\',
张家界市: \'430800\',
益阳市: \'430900\',
郴州市: \'431000\',
永州市: \'431100\',
怀化市: \'431200\',
娄底市: \'431300\',
湘西土家族苗族自治州: \'433100\',
广州市: \'440100\',
韶关市: \'440200\',
深圳市: \'440300\',
珠海市: \'440400\',
汕头市: \'440500\',
佛山市: \'440600\',
江门市: \'440700\',
湛江市: \'440800\',
茂名市: \'440900\',
肇庆市: \'441200\',
惠州市: \'441300\',
梅州市: \'441400\',
汕尾市: \'441500\',
河源市: \'441600\',
阳江市: \'441700\',
清远市: \'441800\',
东莞市: \'441900\',
中山市: \'442000\',
潮州市: \'445100\',
揭阳市: \'445200\',
云浮市: \'445300\',
南宁市: \'450100\',
柳州市: \'450200\',
桂林市: \'450300\',
梧州市: \'450400\',
北海市: \'450500\',
防城港市: \'450600\',
钦州市: \'450700\',
贵港市: \'450800\',
玉林市: \'450900\',
百色市: \'451000\',
贺州市: \'451100\',
河池市: \'451200\',
来宾市: \'451300\',
崇左市: \'451400\',
海口市: \'460100\',
三亚市: \'460200\',
三沙市: \'460300\',
成都市: \'510100\',
自贡市: \'510300\',
攀枝花市: \'510400\',
泸州市: \'510500\',
德阳市: \'510600\',
绵阳市: \'510700\',
广元市: \'510800\',
遂宁市: \'510900\',
内江市: \'511000\',
乐山市: \'511100\',
南充市: \'511300\',
眉山市: \'511400\',
宜宾市: \'511500\',
广安市: \'511600\',
达州市: \'511700\',
雅安市: \'511800\',
巴中市: \'511900\',
资阳市: \'512000\',
阿坝藏族羌族自治州: \'513200\',
甘孜藏族自治州: \'513300\',
凉山彝族自治州: \'513400\',
贵阳市: \'520100\',
六盘水市: \'520200\',
遵义市: \'520300\',
安顺市: \'520400\',
黔西南布依族苗族自治州: \'522300\',
黔东南苗族侗族自治州: \'522600\',
黔南布依族苗族自治州: \'522700\',
昆明市: \'530100\',
曲靖市: \'530300\',
玉溪市: \'530400\',
保山市: \'530500\',
昭通市: \'530600\',
丽江市: \'530700\',
普洱市: \'530800\',
临沧市: \'530900\',
楚雄彝族自治州: \'532300\',
红河哈尼族彝族自治州: \'532500\',
文山壮族苗族自治州: \'532600\',
西双版纳傣族自治州: \'532800\',
大理白族自治州: \'532900\',
德宏傣族景颇族自治州: \'533100\',
怒江傈僳族自治州: \'533300\',
迪庆藏族自治州: \'533400\',
拉萨市: \'540100\',
昌都地区: \'542100\',
山南地区: \'542200\',
日喀则地区: \'542300\',
那曲地区: \'542400\',
阿里地区: \'542500\',
林芝地区: \'542600\',
西安市: \'610100\',
铜川市: \'610200\',
宝鸡市: \'610300\',
咸阳市: \'610400\',
渭南市: \'610500\',
延安市: \'610600\',
汉中市: \'610700\',
榆林市: \'610800\',
安康市: \'610900\',
商洛市: \'611000\',
兰州市: \'620100\',
嘉峪关市: \'620200\',
金昌市: \'620300\',
白银市: \'620400\',
天水市: \'620500\',
武威市: \'620600\',
张掖市: \'620700\',
平凉市: \'620800\',
酒泉市: \'620900\',
庆阳市: \'621000\',
定西市: \'621100\',
陇南市: \'621200\',
临夏回族自治州: \'622900\',
甘南藏族自治州: \'623000\',
西宁市: \'630100\',
海东地区: \'632100\',
海北藏族自治州: \'632200\',
黄南藏族自治州: \'632300\',
海南藏族自治州: \'632500\',
果洛藏族自治州: \'632600\',
玉树藏族自治州: \'632700\',
海西蒙古族藏族自治州: \'632800\',
银川市: \'640100\',
石嘴山市: \'640200\',
吴忠市: \'640300\',
固原市: \'640400\',
中卫市: \'640500\',
乌鲁木齐市: \'650100\',
克拉玛依市: \'650200\',
吐鲁番地区: \'652100\',
哈密地区: \'652200\',
昌吉回族自治州: \'652300\',
博尔塔拉蒙古自治州: \'652700\',
巴音郭楞蒙古自治州: \'652800\',
阿克苏地区: \'652900\',
克孜勒苏柯尔克孜自治州: \'653000\',
喀什地区: \'653100\',
和田地区: \'653200\',
伊犁哈萨克自治州: \'654000\',
塔城地区: \'654200\',
阿勒泰地区: \'654300\',
自治区直辖县级行政区划: \'659000\',
台湾省: \'710000\',
香港特别行政区: \'810100\',
澳门特别行政区: \'820000\'
}

// 直辖市和特别行政区-只有二级地图,没有三级地图
var special = [\'北京\', \'天津\', \'上海\', \'重庆\', \'香港\', \'澳门\']
var mapdata = []
var _that = this
// 这是组件开始初始化时需要拉去的数据--中国地图的数据
$.getJSON(\'static/map/china.json\', function (data) {
let d = []
for (var i = 0; i < data.features.length; i++) {
d.push({
name: data.features[i].properties.name
})
}

mapdata = d
// 注册地图
_that.$echarts.registerMap(\'china\', data)
// 绘制地图
renderMap(\'china\', d)
})
myMapChart.on(\'click\', function (params) {
if (params.name in provinces) {
// 如果点击的是34个省、市、自治区,绘制选中地区的二级地图
$.getJSON(
\'static/map/province/\' + provinces[params.name] + \'.json\',
function (data) {
_that.$echarts.registerMap(params.name, data)
var d = []
for (var i = 0; i < data.features.length; i++) {
d.push({
name: data.features[i].properties.name
})
}
renderMap(params.name, d)
}
)
} else if (params.seriesName in provinces) {
// 如果是【直辖市/特别行政区】只有二级下钻
if (special.indexOf(params.seriesName) >= 0) {
renderMap(\'china\', mapdata)
} else {
// 显示县级地图
$.getJSON(
\'static/map/city/\' + cityMap[params.name] + \'.json\',
function (data) {
_that.$echarts.registerMap(params.name, data)
var d = []
for (var i = 0; i < data.features.length; i++) {
d.push({
name: data.features[i].properties.name
})
}
renderMap(params.name, d)
}
)
}
} else {
// 点击县级时是否返回
renderMap(\'china\', mapdata)
}
})
// 初始化绘制全国地图配置
var option = {
backgroundColor: \'#404a59\',
title: {
text: \'Echarts3 中国地图下钻至县级\',
subtext: \'三级下钻\',
left: \'center\',
textStyle: {
color: \'#fff\',
fontSize: 16,
fontWeight: \'normal\',
fontFamily: \'Microsoft YaHei\'
},
subtextStyle: {
color: \'#ccc\',
fontSize: 13,
fontWeight: \'normal\',
fontFamily: \'Microsoft YaHei\'
}
},
tooltip: {
trigger: \'item\',
formatter: \'{b}\'
},
toolbox: {
show: true,
orient: \'vertical\',
left: \'right\',
top: \'center\',
feature: {
dataView: { readOnly: false },
restore: {},
saveAsImage: {}
},
iconStyle: {
normal: {
color: \'#fff\'
}
}
},
animationDuration: 1000,
animationEasing: \'cubicOut\',
animationDurationUpdate: 1000
}

function renderMap (map, data) {
// 初始化绘制全国地图配置
console.log(map)
option.title.subtext = map
option.series = [
{
name: map,
type: \'map\',
mapType: map,
roam: false,
data: data,
// data: convertedData[0],
nameMap: {
china: \'中国\'
},
label: {
normal: {
show: true,
textStyle: {
color: \'#999\',
fontSize: 13
}
},
emphasis: {
show: true,
textStyle: {
color: \'#fff\',
fontSize: 13
}
}
},
itemStyle: {
normal: {
areaColor: \'#323c48\',
borderColor: \'dodgerblue\'
},
emphasis: {
areaColor: \'darkorange\'
}
}
}
]

// 渲染地图
myMapChart.setOption(option)
}
}
}
View Code

 

分类:

技术点:

相关文章: