Toggle navigation
earth 实时攻击
By
子***昏
2018-10-18 09:02:26
脚本
16
21
作品使用的第三方脚本
http://echarts.baidu.com/resource/echarts-gl-latest/dist/echarts-gl.min.js,/dep/echarts/map/js/world.js
数据管理
上传数据
支持小于 5M 任意格式(csv, xlsx, json, xml, ...)的数据文件
上传后可以通过生成的文件链接异步获取托管的数据。
历史数据
0 条
无历史数据
代码修改记录
信息提示
保存作品
对当前截图不满意?你还可以
上传本地截图
重新截图
作品名称
作品描述
标签
geo
grid
legend
markLine
markPoint
bar
effectScatter
line
lines
map
timeline
title
toolbox
tooltip
visualMap
作品默认版本
最新
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
20:11:45
图表已生成
整理代码
刷新
代码
/* 图中相关城市经纬度,根据你的需求添加数据 关于国家的经纬度,可以用首都的经纬度或者其他城市的经纬度 */ var geoCoordMap = { '南宁': [108.479, 23.1152], '广州': [113.5107, 23.2196], '重庆': [107.7539, 30.1904], '芬兰': [24.909912, 60.169095], '美国': [-100.696295, 33.679979], '日本': [139.710164, 35.706962], '韩国': [126.979208, 37.53875], '瑞士': [7.445147, 46.956241], '东南亚': [117.53244, 5.300343], '澳大利亚': [135.193845, -25.304039], '德国': [13.402393, 52.518569], '英国': [-0.126608, 51.208425], '加拿大': [-102.646409, 59.994255] }; /* 记录下起点城市和终点城市的名称,以及权重 数组第一位为终点城市,数组第二位为起点城市,以及该城市的权重,就是图上圆圈的大小 */ var CQData = [ [{ name: '重庆' }, { name: "英国", value: 70 }] ]; var GZData = [ [{ name: '广州' }, { name: "日本", value: 30 }], ]; var NNData = [ [{ name: '南宁' }, { name: "加拿大", value: 80 }], [{ name: '南宁' }, { name: "美国", value: 100 }], [{ name: '南宁' }, { name: "澳大利亚", value: 95 }], [{ name: '南宁' }, { name: "瑞士", value: 50 }] ]; var convertData = function(data) { var res = []; for (var i = 0; i < data.length; i++) { var dataItem = data[i]; var fromCoord = geoCoordMap[dataItem[1].name]; var toCoord = geoCoordMap[dataItem[0].name]; if (fromCoord && toCoord) { res.push([fromCoord, toCoord]) } } console.log(res) return res; } var series = []; var dser = []; [ ['重庆', CQData], ['广州', GZData], ['南宁', NNData] ].forEach(function(item, i) { dser.push({ type: 'effectScatter', coordinateSystem: 'geo', zlevel: 3, rippleEffect: { brushType: 'stroke' }, label: { fontSize: 24, show: true, position: 'right', formatter: '{b}' }, itemStyle: { normal: { color: '#f5f802' } }, data: item[1].map(function(dataItem) { return { name: dataItem[1].name, value: geoCoordMap[dataItem[1].name], symbolSize: dataItem[1].value / 4 }; }) }, { type: 'effectScatter', coordinateSystem: 'geo', zlevel: 3, rippleEffect: { brushType: 'stroke' }, label: { fontSize: 18, normal: { show: true, position: 'left', formatter: '{b}' } }, itemStyle: { normal: { color: '#ff0000' } }, data: [{ name: item[0], value: geoCoordMap[item[0]], symbolSize: parseInt(Math.random() * 20 + 10), label: { normal: { position: 'right' } } }] }) series.push({ type: 'lines3D', effect: { show: true, period: 3, //速度 trailLength: 0.1 //尾部阴影 }, lineStyle: { //航线的视图效果 color: '#9ae5fc', width: 1, opacity: 0.6 }, data: convertData(item[1]) // 特效的起始、终点位置,一个二维数组,相当于coords: convertData(item[1]) }) }); var canvas = document.createElement('canvas'); var Chart = echarts.init(canvas, null, { width: 3800, height: 2800 }); // 地球的皮肤 Chart.setOption({ backgroundColor: 'rgba(3,28,72,0)', title: { show: true }, geo: { type: 'map', map: 'world', left: 0, top: 0, right: 0, bottom: 0, boundingCoords: [ [-180, 90], [180, -90] ], zoom: 0, roam: false, itemStyle: { borderColor: '#000d2d', normal: { areaColor: '#2455ad', borderColor: '#000c2d' }, emphasis: { areaColor: '#357cf8' } }, label: { fontSize: 24 } }, series: dser }); option = { backgroundColor: 'rgba(0,0,0,0)', //canvas的背景颜色 globe: { baseTexture: Chart, top: 'middle', left: 'center', displacementScale: 0, environment: 'none', shading: 'color', viewControl: { distance: 240, autoRotate: true } }, roam: true, series: series }; myChart.setOption(option)