Echarts实现中国地图完整示例及js文件
有问题大家可以留言或私信我
公司是有一个产品,销量遍布全国。
近期要求制作一个***中国地图来显示所有省份的销量***,要有一个***滚动显示每个省的销量***。
话不多说先上效果图
图违规了,效果我描述一下吧
1.中国地图大图
2.鼠标悬停显示每个省的数据和省名称
3.数据越大颜色越深
4.左边是滚动的省份及数据
代码:
下面展示一些 内联代码片
。
//
// An highlighted block
<%@ page import="tea.entity.Http" %>
<%@ page import="java.util.*" %>
<%@page contentType="text/html; charset=UTF-8" %>
<%
Http h = new Http(request, response);
Random random = new Random();
String cityName = "北京,天津,河北,山西,内蒙古,辽宁,吉林,黑龙江,上海,江苏,浙江,安徽,福建,江西,山东,河南,湖北,湖南,广东,广西,海南,重庆,四川,贵州,云南,西藏,陕西,甘肃,青海,宁夏,新疆";
String[] split1 = cityName.split(",");
%>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>中国同辐粒子销量统计</title>
<link rel="stylesheet" href="/tea/yl/tj/css/bootstrap.css">
<link rel="stylesheet" href="/tea/yl/tj/css/base.css">
<link rel="stylesheet" href="/tea/yl/tj/css/style.css">
<style>
.t_btn {
margin-top: 20px;
}
.t_btn li {
display: inline-block;
margin: 0 0px 20px 20px;
}
.t_btn button,
.t_a {
display: inline-block;
padding: 10px 5px;
width: 80px;
border-style: solid;
border-width: 0;
cursor: pointer;
font-family: inherit;
font-weight: bold;
line-height: normal;
margin: 0 0 0.5em 0;
position: relative;
text-decoration: none;
text-align: center;
display: inline-block;
font-size: 1em;
background-color: #2C58A6;
border-color: #0263ff;
color: white;
box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset !important;
margin-right: 0.5em;
border-radius: 4px;
}
.t_height {
line-height: 80px;
position: absolute;
right: 28px;
top: 0;
}
</style>
</head>
<body onload="time()">
<div class="header">
<div class="bg_header">
<div class="header_nav fl t_title">
<h1 class="gradient-title">中国同辐股份有限公司销量统计</h1>
</div>
</div>
<div class="header_nav fl">
</div>
<div class="header_myself fr t_height">
</div>
</div>
<div class="data_content">
<div class="data_main">
<div class="main_left fl" style="margin-top: -2px;">
<div class="left_1 t_btn1" style="height: 452px;margin-top:20px;">
<div class="group-profile shadow-box-bd">
<h3><span class="words" id="group-intro-name">中国股份有限公司 </span></h3>
<div class="tablebox ">
<table id="tableId" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th>地区</th>
<th>销量</th>
</tr>
</thead>
<tbody>
<%
for (int i = 0; i <split1.length ; i++) {
%>
<tr>
<td>
<a><%=split1[i]%></a>
</td>
<td>
<span class="project-status-2"><%=random.nextInt(10000)%></span>
</td>
</tr>
<%}%>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="container" style="height: 80%"></div>
</div>
</div>
<div style="text-align:center;">
</div>
</body>
<script src="/tea/yl/tj/js/jquery-1.7.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js"></script>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=jdlTvGgd7XbePz88gGY5dgoE"></script>
<script>
// 参数1 tableID,参数2 div高度,参数3 速度,参数4 tbody中tr几条以上滚动
tableScroll('tableId', 360, 60, 4)
var MyMarhq;
function tableScroll(tableid, hei, speed, len) {
clearTimeout(MyMarhq);
$('#' + tableid).parent().find('.tableid_').remove()
$('#' + tableid).parent().prepend(
'<table class="tableid_"><thead>' + $('#' + tableid + ' thead').html() + '</thead></table>'
).css({
'position': 'relative',
'overflow': 'hidden',
'height': hei + 'px'
})
$(".tableid_").find('th').each(function (i) {
$(this).css('width', $('#' + tableid).find('th:eq(' + i + ')').width());
});
$(".tableid_").css({
'position': 'absolute',
'top': 0,
'left': 0,
'z-index': 9
})
$('#' + tableid).css({
'position': 'absolute',
'top': 0,
'left': 0,
'z-index': 1
})
if ($('#' + tableid).find('tbody tr').length > len) {
$('#' + tableid).find('tbody').html($('#' + tableid).find('tbody').html() + $('#' + tableid).find('tbody').html());
$(".tableid_").css('top', 0);
$('#' + tableid).css('top', 0);
var tblTop = 0;
var outerHeight = $('#' + tableid).find('tbody').find("tr").outerHeight();
function Marqueehq() {
if (tblTop <= -outerHeight * $('#' + tableid).find('tbody').find("tr").length) {
tblTop = 0;
} else {
tblTop -= 1;
}
$('#' + tableid).css('margin-top', tblTop + 'px');
clearTimeout(MyMarhq);
MyMarhq = setTimeout(function () {
Marqueehq()
}, speed);
}
MyMarhq = setTimeout(Marqueehq, speed);
$('#' + tableid).find('tbody').hover(function () {
clearTimeout(MyMarhq);
}, function () {
clearTimeout(MyMarhq);
if ($('#' + tableid).find('tbody tr').length > len) {
MyMarhq = setTimeout(Marqueehq, speed);
}
})
}
}
var dom = document.getElementById("container");
var myChart = echarts.init(dom);
var app = {
};
option = null;
option = {
title: {
text: '',
subtext: '',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left',
data: ['iphone']
},
visualMap: {
min: 0,
max: 2500,
left: 'left',
top: 'bottom',
text: ['高', '低'], // 文本,默认为数值文本
calculable: true
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
mark: {
show: true},
dataView: {
show: true, readOnly: false},
restore: {
show: true},
saveAsImage: {
show: true}
}
},
series: [
{
name: '图钉销量',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: false
},
emphasis: {
show: true
}
},
data: [
{
name: '北京', value: <%=random.nextInt(10000)%>},
{
name: '天津', value: <%=random.nextInt(10000)%>},
{
name: '河北', value: <%=random.nextInt(10000)%>},
{
name: '山西', value: <%=random.nextInt(10000)%>},
{
name: '内蒙古', value: <%=random.nextInt(10000)%>},
{
name: '辽宁', value: <%=random.nextInt(10000)%>},
{
name: '吉林', value: <%=random.nextInt(10000)%>},
{
name: '黑龙江', value: <%=random.nextInt(10000)%>},
{
name: '上海', value: <%=random.nextInt(10000)%>},
{
name: '江苏', value: <%=random.nextInt(10000)%>},
{
name: '浙江', value: <%=random.nextInt(10000)%>},
{
name: '安徽', value: <%=random.nextInt(10000)%>},
{
name: '福建', value: <%=random.nextInt(10000)%>},
{
name: '江西', value: <%=random.nextInt(10000)%>},
{
name: '山东', value: <%=random.nextInt(10000)%>},
{
name: '河南', value: <%=random.nextInt(10000)%>},
{
name: '湖北', value: <%=random.nextInt(10000)%>},
{
name: '湖南', value: <%=random.nextInt(10000)%>},
{
name: '广东', value: <%=random.nextInt(10000)%>},
{
name: '广西', value: <%=random.nextInt(10000)%>},
{
name: '海南', value: <%=random.nextInt(10000)%>},
{
name: '重庆', value: <%=random.nextInt(10000)%>},
{
name: '四川', value: <%=random.nextInt(10000)%>},
{
name: '贵州', value: <%=random.nextInt(10000)%>},
{
name: '云南', value: <%=random.nextInt(10000)%>},
{
name: '西藏', value: <%=random.nextInt(10000)%>},
{
name: '陕西', value: <%=random.nextInt(10000)%>},
{
name: '甘肃', value: <%=random.nextInt(10000)%>},
{
name: '青海', value: <%=random.nextInt(10000)%>},
{
name: '宁夏', value: <%=random.nextInt(10000)%>},
{
name: '新疆', value: <%=random.nextInt(10000)%>}
]
}
]
};
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
</script>
</html>