一个 地图的 小例子 :
1、创建文件夹 导入 echarts.js、echarts-map.js、esl.js 这三个 js 包
2、创建 jsp 以下是 代码 注视在 代码上
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!--Step:1 Import a module loader, such as esl.js or require.js-->
<!--Step:1 引入一个模块加载器,如esl.js或者require.js-->
<script src="js/esl.js"></script>
</head>
<body>
<!--Step:2 Prepare a dom for ECharts which (must) has size (width & hight)-->
<!--Step:2 为ECharts准备一个具备大小(宽高)的Dom-->
<div id="mainMap" style="width:1100px;height:790px;border:1px solid #ccc;padding:10px;"></div>
<script type="text/javascript">
// Step:3 conifg ECharts's path, link to echarts.js from current page.
// Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径
require.config({
paths:{
echarts:'./js/echarts',
'echarts/chart/bar' : './js/echarts-map',
'echarts/chart/line': './js/echarts-map',
'echarts/chart/map' : './js/echarts-map'
}
});
// Step:4 require echarts and use it in the callback.
// Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
require(
[
'echarts',
'echarts/chart/bar',
'echarts/chart/line',
'echarts/chart/map'
],
function(ec) {
// --- 地图 ---
var ecConfig = require('echarts/config');
var zrEvent = require('zrender/tool/event');
var data = [ // 这里的 data 是显示的 地图 data是个数组
{name: '北京',id:'100',value: Math.round(Math.random()*1000),tooltip:{trigger: 'item',formatter:'<div style="float:left;"><img width="70" height="70" src="../../../../../travel_website/images/travel_02.jpg" ></div><div style="float:left;margin-left:5px;color:#666;font-size:12px;font-weight:bold;">景点:故宫、颐和园<br/>美食:烤鸭<br/>特产:北京果脯<br/>艺术:京剧</div>',backgroundColor:'rgba(255,255,255,0.7)'}}
];
option = { //在option 中 定义 这个 地图 所 需要的 属性
tooltip : {
trigger: 'item'
},
dataRange: {
min: 0,
max: 2500,
text:['高','低'], // 文本,默认为数值文本
calculable : true,
color:['#b1dbcb','#67be8d']
},
series : [ //series 也是一个 数组 具体功能看 文档API
{
name: 'iphone3',
type: 'map',
mapType: 'china',
itemStyle:{
normal:{label:{show:true}},
emphasis:{label:{show:true}}
},
data:data
},
{
name: '随机数据',
type: 'map',
mapType: 'china',
selectedMode : 'single',
itemStyle:{
normal:{label:{show:true}},
emphasis:{label:{show:true}}
},
data:[ //这里的data 又是一个数组
{name: 'china',value: Math.round(Math.random()*1000),tooltip:{trigger: 'item',formatter:''}}
]
}
]
};
var myChart = ec.init(document.getElementById('mainMap'));// 加载 这个 地图
myChart.setOption(option); //将 option 属性 set 到 地图里
<span style="white-space:pre"> </span>//一下是 获取 地图属性 的 方式
var myprovince;
var myprovince_id;
myChart.on(ecConfig.EVENT.MAP_SELECTED,function(param){ // 这里的 MAP_SELECTED 是一个事件 可能是 地图选中事件
var selected = param.selected; //这里是 将选中的时间 赋值给 selected 属性
var selectedProvince;
var name;
alert(option.series[0].data.length);
for (var i = 0, l = option.series[0].data.length; i < l; i++) {
name = option.series[0].data[i].name;
id = option.series[0].data[i].id;
option.series[0].data[i].selected = selected[name]; //将选中的名字 赋值 给 data中的 属性
if (selected[name]) {
selectedProvince = name; //还是 赋值
myprovince = name;
myprovince_id = id;
}
}
if(typeof(selectedProvince)=='undefined')
{
selectedProvince = myprovince;
}
alert(myprovince_id);
alert(selectedProvince);
//window.open("map2_test03.html",'province_page'); // 用这种方式进行跳转
});
}
);
</script>
</body>
</html>