先看效果图:
1,获取相当于的json文件,推荐一个获取各个市县的json文件地址点击前往
将下载好的josn文件重命名,简短点.
一共就三个文件
第一个就是json文件,
第二个是myMap.js
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
})(this, function(exports, echarts) {
var log = function(msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
};
if (!echarts) {
log('ECharts is not Loaded');
return;
}
if (!echarts.registerMap) {
log('ECharts Map is not loaded');
return;
}
// 获取地图数据,这个json就刚刚下载的那个json文件
let json = require('./shenzhen.json');
// 注册地图,第一个参数就是最后一个文件里面相应的的参数
echarts.registerMap('广东深圳', json);
});
第三个文件,组件页面
<template>
<div id="myMap"></div>
</template>
import '@/util/myMap.js'; //引入注册地图的js
let myChartMap = null;//地图
export default {
data() {
return {
optionMap:{
geo: {
map: '广东深圳',
roam: true,
zoom: 1.2,
scaleLimit: { //缩放级别限制
min: 1,
// max: 12
},
aspectScale: 1.1, //地图的长宽比
itemStyle: {
borderWidth: 2,
borderColor: '#0090fe', //边框颜色
areaColor: '#003399', //地图区域颜色
shadowColor: '#182f68',
shadowOffsetX: 0,
shadowOffsetY: 15
},
label: {
color: '#fff',
fontWeight: 'bold',
show: true,
},
emphasis: {
itemStyle: {
show: 'true',
borderWidth: 4,
borderColor: '#b2163c', //边框颜色
areaColor: '#531f67', //鼠标移上去的颜色
},
label: {
color: '#fff',
fontWeight: 'bold',
show: true,
}
},
},
series: [{
type: 'scatter',
coordinateSystem: 'geo',
data:[],
symbolSize: '20',
symbol: 'circle',
itemStyle: { color: "orange"}
}],
}
}
},
methods:{
secaorange() {
myChartMap = echarts.init(document.getElementById('myMap'));
myChartMap.setOption(this.optionMap);
window.addEventListener("resize",()=> {
myChartMap.resize();
});
}
}
}
到这就可以成功引入地图了,下面进行其他需求
加点
函数里面改下就可以了,调接口获取[{}]格式的数据进行处理
secaorange() {
myChartMap = echarts.init(document.getElementById('myMap'));
organizationQueryWithPage().then(data=>{
var dataObj = {}
data.result.records.map(v=>{
dataObj = {
name:v.name,
value:[Number(v.longitude),Number(v.latitude),v.id],
}
this.optionMap.series[0].data.push(dataObj);
})
this.optionMap.series[0].data = JSON.parse(JSON.stringify(this.optionMap.series[0].data))
window.addEventListener("resize",()=> {
myChartMap.resize();
});
myChartMap.setOption(this.optionMap);
})
},
给点添加点击事件
添加一个click就可以了.
myChartMap.on('click', (data) => {
// console.log(data);
});
没了,结束了,是不是很简单呐,如有问题,欢迎留言。
如果此篇博文对您有帮助,还请动动小手点赞 收藏 ⭐留言 呐~,谢谢 ~ ~