实例模板
下载模板:地铁矢量图.7z
应用:大屏项目二次开发
模板路径:应用空间-地铁矢量图(hte_2021_06_29153439180)
1、预览效果
2、实现原理
基于乐创者报表(lczReport)中单元格的自定义控件功能+echarts实现。
3、配置步骤
3.1、引入echartsjs
3.2、报表模板中设置自定义控件
3.3、配置脚本
具体可参考 地铁图.html
由于该方法需要的数据过多,因此案例中只使用和展现了一条线路的数据
背景图片:(因为背景图片需要用http的方式去获取图片,所以例子中放进了我本地nginx服务中)background.png
ER.widget.extend(this, {
type: 'echarts',
init: function (datas, element, echarts) {
myChart = echarts.init(element);
var pic = "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFaADAAQAAAABAAAAFQAAAAAIGxIOAAAC+0lEQVQ4Ea2VW0gUYRTH/zN705SWXTMNL+S6rYaSWaBJCFEaeKVMg6AMQSUIBB8SgiCCnnxIsQyCHiK0wlICjSANlgofAikjydtauUJaLd613XVn+s6037CT+SB5YJk5l/9vZs53vm8FbGDFLVMZkFAuQ86XZTlRAKJkwCMIwqQAoRcinvTUxQ/+S85qtXaiZSbZL/kaGahMm1nvsQd0GURjw9O6GFdoVgMtaXIXBCA/ZAXmNe8Kpt4+xszHF1iaHoVveRbGCAsiYx2IST+O+KwK6E3biDWvg3Cmuz7hOQerUAJKArrZG+q+vevBUNdV+JZ+8rp1V2PkDqSVXcOuzGKwNw6IMko4WIHSJ/sC3gGmNI/3tWL0WeM6yEYBR1ED7HkXKT1v1JkOUitE8qiH7GKmN/wbaDAIOF1qRXurDScLLVSuMaonHTNzkAOBVlkKSO+ph87ruZpPTrGHoeOOHemp4ThWMQxn/6IGyB1qxZErr5Ueizpxv0hjQ0lalNAeWi06vOxIxb694bjb/kMDjK7MQsbgZZh2WxUu6UivGOOx/sr55NAqh1p9bSziYg1KqLt3Tk2ZjzqQ1FIOky0KKZ3V0FvClRzXE0+kwaYojQ23hDgj8nLN3GWrC+j1QFiSFXvazgM6ZSkQ5tj5xw/RE09k9VGkpjnkdq/ZhkMHIriLtlvJSIwzweueg6vmgRpfHnBj4sIjxed64rHPh4eiNNjcymvGMDz+S3H9azJOVY9h4qsX8poEOSDxMiw4x5QHUYDriSfSXqYg7RRus3MBFJ4dgYuBai99Qd+rBZ6CpSBNuffPLGL6plONcz3x9HQ4sOZm09bzjL5Riz5P+mDP+aD6dLM914boqmysfprG+Ln78HtW1DzpyYgn0mlDDu1lmreNzFqazoA5cFW1Y+jwDayOfFdLSUd6xYI8FDW7OwubJuXMytusJcKmf6QjPXEIrMwGHV/sfp4OB9rLmzGqJx3pgxzWgqBt+SkVCt7S85SDt/zk52C6/s9/1G/cd3jEF7dGCgAAAABJRU5ErkJggg=="
var data = [{
id: 0,
name: '浦沿',
x: 530,
y: 530,
value: [],
// label:{offset : [-30, 0]},
category: 0
}, {
id: 1,
name: '杨家墩',
x: 510,
y: 510,
value: [],
// label:{offset : [-30, 0]},
category: 0
}, {
id: 2,
name: '中医药大学',
x: 500,
y: 500,
value: [],
// label:{offset : [-30, 0]},
category: 0
}, {
id: 3,
name: '联庄',
x: 490,
y: 490,
value: [],
// label:{offset : [-30, 0]},
category: 0
}, {
id: 4,
name: '联庄-水澄桥1',
x: 470,
y: 470,
value: [],
symbolSize: 0,
label: {
show: false
},
category: 0
}, {
id: 5,
name: '联庄-水澄桥2',
x: 470,
y: 460,
value: [],
symbolSize: 0,
label: {
show: false
},
category: 0
}, {
id: 6,
name: '水澄桥',
x: 480,
y: 450,
value: [],
// label:{show : false},
category: 0
}, {
id: 7,
name: '复兴路',
x: 490,
y: 440,
value: [],
// label:{show : false},
category: 0
}, {
id: 8,
name: '南星桥',
x: 500,
y: 430,
symbol: pic,
symbolSize: 12,
value: [],
// label:{show : false},
category: 0
}, {
id: 9,
name: '甬江路',
x: 510,
y: 420,
value: [],
// label:{show : false},
category: 0
}, {
id: 10,
name: '近江',
x: 520,
y: 410,
symbol: pic,
symbolSize: 12,
value: [],
// label:{show : false},
category: 0
}, {
id: 11,
name: '城星路',
x: 540,
y: 390,
value: [],
// label:{show : false},
category: 0
}, {
id: 12,
name: '市民中心',
x: 550,
y: 380,
value: [],
// label:{show : false},
category: 0
}, {
id: 13,
name: '江锦路',
x: 570,
y: 360,
value: [],
// label:{show : false},
category: 0
}, {
id: 14,
name: '钱江路',
x: 570,
y: 350,
value: [],
symbol: pic,
symbolSize: 12,
// label:{show : false},
category: 0
}, {
id: 15,
name: '钱江路-景芳1',
x: 558,
y: 339,
value: [],
symbolSize: 0,
label: {
show: false
},
category: 0
}, {
id: 16,
name: '钱江路-景芳2',
x: 550.5,
y: 330.5,
value: [],
symbolSize: 0,
label: {
show: false
},
category: 0
}, {
id: 17,
name: '景芳',
x: 550,
y: 320,
value: [],
// label:{show : false},
category: 0
}, {
id: 18,
name: '新塘',
x: 550,
y: 290,
value: [],
// label:{show : false},
category: 0
}, {
id: 19,
name: '新风',
x: 550,
y: 244,
value: [],
// label:{show : false},
category: 0
}, {
id: 20,
name: '火车东站',
x: 570,
y: 232,
symbol: pic,
symbolSize: 12,
value: [],
// label:{show : false},
category: 0
}, {
id: 21,
name: '彭埠',
x: 590,
y: 220,
value: [],
// label:{show : false},
category: 0
}]
var links = [{
source: 0,
target: 1
}, {
source: 1,
target: 2
}, {
source: 2,
target: 3
}, {
source: 3,
target: 4
}, {
source: 4,
target: 5,
lineStyle: {
curveness: 0.4
}
}, {
source: 5,
target: 6
}, {
source: 6,
target: 7,
}, {
source: 7,
target: 8
}, {
source: 8,
target: 9
}, {
source: 9,
target: 10
}, {
source: 10,
target: 11
}, {
source: 11,
target: 12
}, {
source: 12,
target: 13
}, {
source: 13,
target: 14
}, {
source: 14,
target: 15
}, {
source: 15,
target: 16,
}, {
source: 16,
target: 17
}, {
source: 17,
target: 18
}, {
source: 18,
target: 19
}, {
source: 19,
target: 20
}, {
source: 20,
target: 21
}]
var categories = [{
"name": "4号线"
},
{
"name": "2号线"
},
{
"name": "1号线"
},
{
"name": "5号线"
},
{
"name": "16号线"
},
];
for (let i = 0; i < data.length; i++) {
const element = data[i];
element.value[0] = element.x
element.value[1] = -element.y
}
// 指定图表的配置项和数据
// var img = new Image();
// img.src = 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2447258259,3926215804&fm=26&gp=0.jpg'
var option = {
color: ['rgb(108,197,90)', 'rgb(243,110,33)', 'rgb(238,61,86)', 'rgb(0,175,200)', 'rgb(255,170,82)'],
// grid:{
// backgroundColor: {
// type: 'pattern',
// repeat: 'repeat',
// image: img // 赋值
// // color:'red'
// },
// show:true
// },
graphic: [{
type: 'image', // 图形元素类型
id: 'logo', // 更新或删除图形元素时指定更新哪个图形元素,如果不需要用可以忽略。
left: '0', // 根据父元素进行定位 (居中)
top: '0', // 根据父元素进行定位 (0%), 如果bottom的值是 0,也可以删除该bottom属性值。
// z: 0, // 层叠
bounding: 'raw', // 决定此图形元素在定位时,对自身的包围盒计算方式
style: {
image: 'http://localhost:8090/static/background.png', // 这里一定要注意、注意,必须是https开头的图片路径地址
width: 900,
height: 600
},
draggable: false
}],
legend: {
show: true,
icon: "line",
data: categories
},
xAxis: {
show: false,
min: 0,
max: 900,
// type: "value",
//开启x轴坐标
axisPointer: {
show: false
},
},
yAxis: {
show: false,
min: -600,
max: 0,
// type: "value",
//开启y轴坐标
axisPointer: {
show: false
},
},
dataZoom: [{
type: 'inside',
xAxisIndex: [0],
start: 0,
end: 100
}, {
type: 'inside',
yAxisIndex: [0],
start: 0,
end: 100
}],
series: [{
name: '地铁',
type: 'graph',
layout: 'none',
roam: true,
draggable: false,
zlevel: 5,
coordinateSystem: "cartesian2d",
//focusNodeAdjacency: true,
symbol: "emptyCircle",
symbolSize: 4,
lineStyle: {
width: 3,
color: 'source',
opacity: 1
},
label: {
show: false,
position: "top",
color: "#333"
},
data: data,
links: links,
categories: categories
},
{
type: 'effectScatter',
coordinateSystem: "cartesian2d",
// symbol: "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAABtCAYAAABz2IkZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNkQ4NjBBRjFGNzExRTk5OUM4RjQyNURGMDk2RDlDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNkQ4NjBCRjFGNzExRTk5OUM4RjQyNURGMDk2RDlDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTM2RDg2MDhGMUY3MTFFOTk5QzhGNDI1REYwOTZEOUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTM2RDg2MDlGMUY3MTFFOTk5QzhGNDI1REYwOTZEOUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6i5RaaAAAURklEQVR42uxda6xc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",
symbolSize: 4,
rippleEffect: {
brushType: 'stroke',
scale: 20
},
zlevel: 4,
itemStyle: {
color: 'red',
shadowColor: "IndianRed",
shadowBlur: 20
},
data: [{
name: "火车东站",
value: [570, -232, 47.36]
},
{
name: "湘湖",
value: [600, -500, 36.56]
},
{
name: "湘湖",
value: [460, -300, 30.89]
},
],
effectType: "ripple",
hoverAnimation: true
}
],
textStyle: {
fontFamily: "宋体"
}
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// myChart.on('graphroam',function(params){
// var option = myChart.getOption();//获得option对象
// console.log("graphroam_zoom:"+option.series[0].zoom);
// console.log("graphroam_center:"+option.series[0].center);
// //chart.setOption(option);//设置option
// });
myChart.on('datazoom', function (params) {
console.log(params); //里面存有代表滑动条的起始的数字
var element = myChart.getOption()
console.log(myChart.getOption())
var setoption = {
graphic: [{
id: 'logo'
}]
};
var wid = element.graphic[0].elements[0].style.width;
var hei = element.graphic[0].elements[0].style.height;
for (var i = 0; i < params.batch.length; i++) {
var dataZoomId = params.batch[i].dataZoomId;
var arrrr = dataZoomId.split(dataZoomId.substr(0, 1));
console.log(arrrr);
var zoomx = 1 / ((params.batch[i].end - params.batch[i].start) / 100);
if (arrrr[2] == '0') {
setoption.graphic[0].scaleX = zoomx;
setoption.graphic[0].left = 0 - (wid * zoomx * params.batch[i].start / 100);
} else if (arrrr[2] == '1') {
setoption.graphic[0].scaleY = zoomx;
setoption.graphic[0].top = 0 - (hei * zoomx * (100 - params.batch[i].end) / 100);
}
}
console.log(setoption);
myChart.setOption(setoption);
})
}
})
作者:倪 创建时间:2024-07-30 15:08
最后编辑:倪 更新时间:2025-04-22 15:31
最后编辑:倪 更新时间:2025-04-22 15:31
