echarts绘制中国地图 tooltip悬浮显示多数据且自动播放

echarts---中国地图

html文件

<div id="chinaMap">

引入echarts-map-china.js和echarts-auto-toopltip.js文件

(function(){
	chinaMapAnalysis();
})();
var timers = setInterval("chinaMapAnalysis()",2000*34); 
function chinaMapAnalysis(){
	var myChart = echarts.init(document.getElementById('chinaMap'));
	var mapName = 'china'
    var data = [
			{
				"name": "广东",
				"value": "32759689",
			},
			{
				"name": "北京",
				"value": "21488391",
			},
			{
				"name": "河南",
				"value": "17561573",
			},
			{
				"name": "四川",
				"value": "15594825",
			},
			{
				"name": "山东",
				"value": "14419506"
			},
			{
				"name": "河北",
				"value": "13909330"
			},
			{
				"name": "江苏",
				"value": "12921244"
			},
			{
				"name": "上海",
				"value": "12437994"
			},
			{
				"name": "浙江",
				"value": "11474216"
			},
			{
				"name": "湖南",
				"value": "10816725"
			},
			{
				"name": "广西",
				"value": "9700183"
			},
			{
				"name": "云南",
				"value": "9515082"
			},
			{
				"name": "湖北",
				"value": "8954643"
			},
			{
				"name": "陕西",
				"value": "7655068"
			},
			{
				"name": "贵州",
				"value": "7616656"
			},
			{
				"name": "江西",
				"value": "7378329"
			},
			{
				"name": "安徽",
				"value": "6405058"
			},
			{
				"name": "山西",
				"value": "6312334"
			},
			{
				"name": "辽宁",
				"value": "6232378"
			},
			{
				"name": "福建",
				"value": "6197020"
			},
			{
				"name": "重庆",
				"value": "5697082"
			},
			{
				"name": "黑龙江",
				"value": "5658513"
			},
			{
				"name": "内蒙古",
				"value": "4712741"
			},
			{
				"name": "甘肃",
				"value": "4580060"
			},
			{
				"name": "新疆",
				"value": "4525321",
			},
			{
				"name": "吉林",
				"value": "4266389"
			},
			{
				"name": "天津",
				"value": "2022157"
			},
			{
				"name": "海南",
				"value": "1936011"
			},
			{
				"name": "宁夏",
				"value": "1467879"
			},
			{
				"name": "青海",
				"value": "1443514"
			},
			{
				"name": "西藏",
				"value": "688144"
			},
			{
				"name": "台湾",
				"value": "89617"
			},
			{
				"name": "香港",
				"value": "62241"
			},
			{
				"name": "澳门",
				"value": "16193"
			}
		
    ];   
    var geoCoordMap = {};
    var toolTipData = [ 
					{name:"北京",value:[{name:"IP用户数","value":"21488391"},{name:"手机号码用户数",value:"5219938"}]},
					{name:"天津",value:[{name:"IP用户数",value:"2022157"},{name:"手机号码用户数",value:"1182236"}]},
					{name:"河北",value:[{name:"IP用户数",value:"13909330"},{name:"手机号码用户数",value:"7665212"}]},
					{name:"山西",value:[{name:"IP用户数",value: "6405058"},{name:"手机号码用户数",value: "3474896"}]},
					{name:"内蒙古",value:[{name:"IP用户数",value:"4712741"},{name:"手机号码用户数",value:"2757152"}]},
					{name:"辽宁",value:[{name:"IP用户数",value: "6405058"},{name:"手机号码用户数",value: "3804074"}]},
					{name:"吉林",value:[{name:"IP用户数",value:"4266389"},{name:"手机号码用户数",value: "2437681"}]},
					{name:"黑龙江",value:[{name:"IP用户数",value:"5658513"},{name:"手机号码用户数",value:"3153689"}]},
					{name:"上海",value:[{name:"IP用户数",value:"12437994"},{name:"手机号码用户数",value:"2012482"}]},
					{name:"江苏",value:[{name:"IP用户数",value:"12921244"},{name:"手机号码用户数",value:"7251352"}]},
					{name:"浙江",value:[{name:"IP用户数",value:"11474216"},{name:"手机号码用户数",value:"6117799"}]},
					{name:"安徽",value:[{name:"IP用户数",value: "6405058"},{name:"手机号码用户数",value: "5850896"}]},
					{name:"福建",value:[{name:"IP用户数",value:"6197020"},{name:"手机号码用户数",value:"3156429"}]},
					{name:"江西",value:[{name:"IP用户数",value:"7378329"},{name:"手机号码用户数",value:"4193087"}]},
					{name:"山东",value:[{name:"IP用户数",value: "14419506"},{name:"手机号码用户数",value:"8421346"}]},
					{name:"河南",value:[{name:"IP用户数",value:"17561573"},{name:"手机号码用户数",value:"10452286"}]},
					{name:"湖北",value:[{name:"IP用户数",value:"8954643"},{name:"手机号码用户数",value:"4804720"}]},
					{name:"湖南",value:[{name:"IP用户数",value:"10816725"},{name:"手机号码用户数",value:"6255680"}]},
					{name:"重庆",value:[{name:"IP用户数",value:"5697082"},{name:"手机号码用户数",value:"3184887"}]},
					{name:"四川",value:[{name:"IP用户数",value:"15594825"},{name:"手机号码用户数",value:"10677089"}]},
					{name:"贵州",value:[{name:"IP用户数",value:"7616656"},{name:"手机号码用户数",value:"5641874"}]},
					{name:"云南",value:[{name:"IP用户数",value:"9515082"},{name:"手机号码用户数",value:"6544837"}]},
					{name:"西藏",value:[{name:"IP用户数",value:"688144"},{name:"手机号码用户数",value: "618021"}]},
					{name:"陕西",value:[{name:"IP用户数",value:"7655068"},{name:"手机号码用户数",value:"4423516"}]},
					{name:"甘肃",value:[{name:"IP用户数",value:"4580060"},{name:"手机号码用户数",value:"3047801"}]},
					{name:"青海",value:[{name:"IP用户数",value:"1443514"},{name:"手机号码用户数",value:"780602"}]},
					{name:"宁夏",value:[{name:"IP用户数",value: "1467879"},{name:"手机号码用户数",value:"933411"}]},
					{name:"新疆",value:[{name:"IP用户数",value:"4525321"},{name:"手机号码用户数",value:"2975154"}]},
					{name:"广东",value:[{name:"IP用户数",value: "32759689"},{name:"手机号码用户数",value:"14322757"}]},
					{name:"广西",value:[{name:"IP用户数",value:"9700183"},{name:"手机号码用户数",value:"5049149"}]},
					{name:"海南",value:[{name:"IP用户数",value: "1936011"},{name:"手机号码用户数",value:"1162584"}]},
					{name:"台湾",value:[{name:"IP用户数",value: "89617"}]},
					{name:"澳门",value:[{name:"IP用户数",value:"16193"}]},
					{name:"香港",value:[{name:"IP用户数",value: "62241"}]}
	];

/*获取地图数据*/
	var convertData = function(data) {
	var res = [];
	for (var i = 0; i < data.length; i++) {
		var geoCoord = geoCoordMap[data[i].name];
		if (geoCoord) {
			res.push({
				name: data[i].name,
				value: geoCoord.concat(data[i].value),
			});
		}
	}
	return res;
	};
	option = {
	tooltip: {
		trigger: 'item',
		formatter: function(params) {
			if (typeof(params.value)[2] == "undefined") {
				var toolTiphtml = ''
				for(var i = 0;i<toolTipData.length;i++){
					if(params.name==toolTipData[i].name){
						toolTiphtml += toolTipData[i].name+':<br>'
						for(var j = 0;j<toolTipData[i].value.length;j++){
							toolTiphtml+=toolTipData[i].value[j].name+':'+toolTipData[i].value[j].value+"<br>"
						}
					}
				}
				return toolTiphtml;
			} else {
				var toolTiphtml = ''
				for(var i = 0;i<toolTipData.length;i++){
					if(params.name==toolTipData[i].name){
						toolTiphtml += toolTipData[i].name+':<br>'
						for(var j = 0;j<toolTipData[i].value.length;j++){
							toolTiphtml+=toolTipData[i].value[j].name+':'+toolTipData[i].value[j].value+"<br>"
						}
					}
				}
				return toolTiphtml;
			}
		}
	},
	visualMap: { //地图左侧配置
				show : true,
				x: 'left',
				y: 'bottom',
				
				color: ['#e12425', '#e19106', '#6acf00','#a3e10a', '#CCC'],
				splitList: [ 
					{start: 12000000},
					{start: 9000000, end: 12000000},{start: 6000000, end: 9000000},
					{start: 3000000, end: 6000000},{start: 0, end: 3000000},
				],
				textStyle:{
					color:"#999",
					fontWeight:"bold",
					fontSize:14
				}
			},
	series: [
		{
			type: 'map',
			map: mapName,
			zoom:1.2,
			label: {
				normal: {
					show: true
				},
				emphasis: {
					show: false,
					textStyle: {
						color: '#fff'
					}
				}
			},
			roam: true,
			itemStyle: {
				normal: {
					areaColor: '#031525',
					borderColor: '#3B5077',
				},
				emphasis: {
					areaColor: '#2B91B7'
				}
			},
			animation: false,
			data: data
		},
		{
			name: 'Top 5',
			type: 'effectScatter',
			coordinateSystem: 'geo',
			data: convertData(data.sort(function(a, b) {
				return b.value - a.value;
			}).slice(0, 5)),
			symbolSize: function(val) {
				return val[2] / 10;
			},
			showEffectOn: 'render',
			rippleEffect: {
				brushType: 'stroke'
			},
			hoverAnimation: true,
			label: {
				normal: {
					formatter: '{b}',
					position: 'right',
					show: true
				}
			},
			itemStyle: {
				normal: {
					color: 'yellow',
					shadowBlur: 10,
					shadowColor: 'yellow'
				}
			},
			zlevel: 1
		},

	]
	};
	myChart.setOption(option);	
	tools.loopShowTooltip(myChart,option,{loopSeries:true});//tooptip自动轮播
}

猜你喜欢

转载自blog.csdn.net/weixin_42679187/article/details/87913006