Toggle navigation
服务网点
By
kinganpo
2017-09-06 14:22:05
脚本
16
21
作品使用的第三方脚本
http://echarts.baidu.com/dist/echarts.min.js,http://echarts.baidu.com/asset/map/js/china.js,http://echarts.baidu.com/asset/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
图表已生成
整理代码
刷新
代码
/** * Created by wangjb on 2017/09/08. */ //主要城市经纬度坐标 var geoCoordMap = { '上海': [121.4648, 31.2891], '成都': [103.9526, 30.7617], '济南': [117.1582, 36.8701], '深圳': [114.5435, 22.5439], '郑州': [113.4668, 34.6234], '东莞': [113.8953,22.901], '东营': [118.7073,37.5513], '中山': [113.4229,22.478], '临汾': [111.4783,36.1615], '临沂': [118.3118,35.2936], '丹东': [124.541,40.4242], '丽水': [119.5642,28.1854], '乌鲁木齐': [87.9236,43.5883], '佛山': [112.8955,23.1097], '保定': [115.0488,39.0948], '兰州': [103.5901,36.3043], '包头': [110.3467,41.4899], '北京': [116.4551,40.2539], '北海': [109.314,21.6211], '南京': [118.8062,31.9208], '南宁': [108.479,23.1152], '南昌': [116.0046,28.6633], '南通': [121.1023,32.1625], '厦门': [118.1689,24.6478], '台州': [121.1353,28.6688], '合肥': [117.29,32.0581], '呼和浩特': [111.4124,40.4901], '咸阳': [108.4131,34.8706], '哈尔滨': [127.9688,45.368], '唐山': [118.4766,39.6826], '嘉兴': [120.9155,30.6354], '大同': [113.7854,39.8035], '大连': [122.2229,39.4409], '天津': [117.4219,39.4189], '太原': [112.3352,37.9413], '威海': [121.9482,37.1393], '宁波': [121.5967,29.6466], '宝鸡': [107.1826,34.3433], '宿迁': [118.5535,33.7775], '常州': [119.4543,31.5582], '广州': [113.5107,23.2196], '廊坊': [116.521,39.0509], '延安': [109.1052,36.4252], '张家口': [115.1477,40.8527], '徐州': [117.5208,34.3268], '德州': [116.6858,37.2107], '惠州': [114.6204,23.1647], '扬州': [119.4653,32.8162], '承德': [117.5757,41.4075], '拉萨': [91.1865,30.1465], '无锡': [120.3442,31.5527], '日照': [119.2786,35.5023], '昆明': [102.9199,25.4663], '杭州': [119.5313,29.8773], '枣庄': [117.323,34.8926], '柳州': [109.3799,24.9774], '株洲': [113.5327,27.0319], '武汉': [114.3896,30.6628], '汕头': [117.1692,23.3405], '江门': [112.6318,22.1484], '沈阳': [123.1238,42.1216], '沧州': [116.8286,38.2104], '河源': [114.917,23.9722], '泉州': [118.3228,25.1147], '泰安': [117.0264,36.0516], '泰州': [120.0586,32.5525], '济宁': [116.8286,35.3375], '海口': [110.3893,19.8516], '淄博': [118.0371,36.6064], '淮安': [118.927,33.4039], '清远': [112.9175,24.3292], '温州': [120.498,27.8119], '渭南': [109.7864,35.0299], '湖州': [119.8608,30.7782], '湘潭': [112.5439,27.7075], '滨州': [117.8174,37.4963], '潍坊': [119.0918,36.524], '烟台': [120.7397,37.5128], '玉溪': [101.9312,23.8898], '珠海': [113.7305,22.1155], '盐城': [120.2234,33.5577], '盘锦': [121.9482,41.0449], '石家庄': [114.4995,38.1006], '福州': [119.4543,25.9222], '秦皇岛': [119.2126,40.0232], '绍兴': [120.564,29.7565], '聊城': [115.9167,36.4032], '肇庆': [112.1265,23.5822], '舟山': [122.2559,30.2234], '苏州': [120.6519,31.3989], '莱芜': [117.6526,36.2714], '菏泽': [115.6201,35.2057], '营口': [122.4316,40.4297], '葫芦岛': [120.1575,40.578], '衡水': [115.8838,37.7161], '衢州': [118.6853,28.8666], '西宁': [101.4038,36.8207], '西安': [109.1162,34.2004], '贵阳': [106.6992,26.7682], '连云港': [119.1248,34.552], '邢台': [114.8071,37.2821], '邯郸': [114.4775,36.535], '鄂尔多斯': [108.9734,39.2487], '重庆': [107.7539,30.1904], '金华': [120.0037,29.1028], '铜川': [109.0393,35.1947], '银川': [106.3586,38.1775], '镇江': [119.4763,31.9702], '长春': [125.8154,44.2584], '长沙': [113.0823,28.2568], '长治': [112.8625,36.4746], '阳泉': [113.4778,38.0951], '青岛': [120.4651,36.3373], '韶关': [113.7964,24.7028] }; var mapData = [ { fromName: '上海',toName: '成都',contact: ['成都','028-66320448', 'fqcd@fuqijrfw.com', '四川省成都市高新区益州大道333号东方希望中心7楼702室']}, { fromName: '上海',toName: '深圳',contact: ['深圳','0755-88604346', 'fqsz@fuqijrfw.com', '深圳市福田区福华三路168号荣超国际商会中心615室']}, { fromName: '上海',toName: '郑州',contact: ['郑州','0371-65651668', 'fqzz@fuqijrfw.com','郑州市中州大道鑫苑路阳光大厦4楼406室']}, { fromName: '上海',toName: '济南',contact: ['济南','0531-69929392', 'fqjn@fuqijrfw.com','山东省济南市市中区经四路万达广场写字楼B座20楼2011室']} ]; var convertData = function(data) { var res = []; for (var i = 0; i < data.length; i++) { var dataItem = data[i]; var fromName = dataItem.fromName; var toName = dataItem.toName; var fromCoord = geoCoordMap[fromName]; var toCoord = geoCoordMap[toName]; if (fromCoord && toCoord) { res.push({fromName: fromName,toName: toName,coords: [fromCoord, toCoord]}); } } return res; }; var title = { text: '服 务 网 点', //主标题 subtext: '', //副标题 x: 'center', // 水平安放位置,默认为左对齐,可选为: y: 'top', // 垂直安放位置,默认为全图顶端,可选为: textAlign: null, // 水平对齐方式,默认根据x设置自动调整 backgroundColor: 'rgba(0,0,0,0)', borderColor: '#ccc', // 标题边框颜色 borderWidth: 0, // 标题边框线宽,单位px,默认为0(无边框) padding: 20, // 标题内边距,单位px,默认各方向内边距为5, itemGap: 10, // 主副标题纵向间隔,单位px,默认为10, textStyle: { color: '#00f', // 主标题文字颜色 fontSize: 28, fontWeight: 'bolder', fontFamily: 'Microsoft YaHei', textBorderColor: 'black', textBorderWidth: 2, textShadowColor: 'white', textShadowBlur: 5, textShadowOffsetX: 3, textShadowOffsetY: 3, }, subtextStyle: { color: '#111' // 副标题文字颜色 } }; var tooltip = { formatter: function(obj) { //提示框浮层内容格式器 //console.info(obj); if(!obj.data)return null; var contact = obj.data.contact; if(contact){ var name = contact[0] + "
"; var tel = "电话:" + contact[1] + "
"; var email = "邮箱:" + contact[2] + "
"; var addr = "地址:" + contact[3] + "
"; return name + tel + email + addr ; } }, trigger: 'item', // 触发类型 showDelay: 20, // 显示延迟,单位ms hideDelay: 500, // 隐藏延迟,单位ms transitionDuration: 1.5, // 提示框浮层的移动动画过渡时间,单位s backgroundColor: 'rgba(0,0,0,0.5)', // 提示框浮层的背景颜色 borderColor: '#333', // 提示框浮层的边框颜色 borderRadius: 5, // 提示框浮层的边框圆角,单位px borderWidth: 1, // 提示框浮层的边框宽度,单位px padding: 5, // 提示框浮层内边距,单位px,默认各方向内边距为5, position: //提示框浮层的位置,默认不设置时位置会跟随鼠标的位置。 function (point, params, dom, rect, size) { return [point[0], point[1]]; }, enterable: true, //鼠标是否可进入提示框浮层中 confine:true, //是否将 tooltip 框限制在图表的区域内 extraCssText: 'box-shadow:10px 10px rgba(33, 33, 33, 0.3);', //额外附加到浮层的 css 样式 textStyle: { //提示框浮层的文本样式 color: '#fff', fontSize: 15, fontWeight: 'bolder', fontFamily: 'Microsoft YaHei', textBorderColor: 'black', textBorderWidth: 2, textShadowColor: 'white', textShadowBlur: 5, textShadowOffsetX: 3, textShadowOffsetY: 3, } } var series = []; //箭头轨迹 series.push({ type: 'lines', //带有起点和终点信息的线图 zlevel: 1, //Canvas 分层,值大在上面 effect: { //特效配置 show: false, period: 2, //动画时间s delay:200, //延迟时间ms trailLength: 0.2, //尾迹长度 symbol: 'arrow', //标记类型:箭头 symbolSize: 5, //标记大小 }, lineStyle: { //线图样式 normal: { width: 2, //线图宽度 opacity: 0, //图形透明度 curveness: 0.2, //边的曲度 color: '#f00' //线的颜色 } }, data: convertData(mapData) }); //外办城市 series.push({ type: 'effectScatter', //涟漪特效 coordinateSystem: 'geo', //使用地理坐标系 zlevel: 2, symbol: 'circle', //标记类型:圆 symbolSize: 0, animation:true, //是否开启动画 rippleEffect: { //涟漪特效相关配置 period: 4, //动画的时间 brushType: 'stroke', //波纹的绘制方式 scale: 4 //动画中波纹的最大缩放比例 }, label: { normal: { show: false, offset: [-20, -10], //文字偏移,横向和纵向 formatter: '{b}', //标签内容格式化 } }, itemStyle: { normal: { color: '#00f' } }, data: mapData.map(function(dataItem) { //拼装数据数组 return { name: dataItem.toName, value: geoCoordMap[dataItem.toName], contact: dataItem.contact }; }), }); //总部 series.push({ type: 'effectScatter', coordinateSystem: 'geo', zlevel: 2, symbol: 'circle', symbolSize: 0, rippleEffect: { period: 2, brushType: 'stroke', scale: 4 }, label: { normal: { show: false, position: 'right', //标签的位置 formatter: ' {b} \n(总部)', fontSize: 13, fontWeight: 'bolder', fontFamily: 'Microsoft YaHei', textBorderColor: 'black', //文本描边颜色 textBorderWidth: 2, //文本描边宽度 textShadowColor: 'black', //文本阴影颜色 textShadowBlur: 5, //文本阴影长度 textShadowOffsetX: 1, //文本阴影横向偏移 textShadowOffsetY: 1, //文本阴影纵向偏移 }, }, itemStyle: { normal: { color: 'yellow', } }, data: [{ name: '上海', value: geoCoordMap['上海'], contact: ["上海","00-086-7208", "fqsh@fuqijrfw.com", "上海市浦东新区龙阳路2277号22楼"] }], } ); var itemStyle = { normal: { areaColor: 'rgb(255,165,140)', }, emphasis: { areaColor: 'rgb(255,125,100)', borderWidth:1, shadowColor: 'rgba(33, 33, 33, 0.5)', shadowBlur: 200, shadowOffsetX:-5, shadowOffsetY:5 } } //外办省份 series.push({ type: 'map', mapType: 'china', center: [103, 36], zoom:1, roam: false, label: { emphasis: { show: false } }, itemStyle: { normal: { areaColor: 'rgb(255,165,140)', }, emphasis: { areaColor: 'rgb(255,165,140)', } }, data:[ {name: '上海',selected:false,itemStyle:itemStyle,contact:['上海','400-086-7208','fqsh@fuqijrfw.com','上海市浦东新区龙阳路2277号22楼']}, {name: '广东',selected:false,itemStyle:itemStyle,contact:['深圳','0755-88604346','fqsz@fuqijrfw.com','深圳市福田区福华三路168号荣超国际商会中心615室']}, {name: '四川',selected:false,itemStyle:itemStyle,contact:['成都','028-66320448','fqcd@fuqijrfw.com','四川省成都市高新区益州大道333号东方希望中心7楼702室']}, {name: '河南',selected:false,itemStyle:itemStyle,contact:['郑州','0371-65651668','fqzz@fuqijrfw.com','郑州市中州大道鑫苑路阳光大厦4楼406室']}, {name: '山东',selected:false,itemStyle:itemStyle,contact:['济南','0531-69929392','fqjn@fuqijrfw.com','山东省济南市市中区经四路万达广场写字楼B座20楼2011室']} ], }); var china_option = { title: title, tooltip: tooltip, geo: { //地理坐标系组件 map: 'china', //地图类型 roam: false, //是否开启鼠标缩放和平移漫游 zoom:1, //当前视角的缩放比例 center: [103, 36], //当前视角的中心点,用经纬度表示 itemStyle: { normal: { areaColor: 'rgb(255,165,140)', }, emphasis: { areaColor: 'rgb(255,165,140)', } } }, series: series }; var world_option = { title: title, geo: { map: 'world', label: { emphasis: { show: false } }, roam: false, center:[0,0], zoom:0.5, itemStyle: { normal: { color: 'rgb(238,238,238)', }, emphasis: { color: 'rgb(238,238,238)', } }, regions: [{ name: 'China', selected:true, itemStyle: { normal: { areaColor: 'rgb(255,165,140)', }, emphasis: { areaColor: 'rgb(255,165,140)', } } }] } }; $("#chart-panel").css("user-select","text"); var map_chart = echarts.init(document.getElementById('chart-panel')); var option = map_chart.getOption(); if(option){ option.series[0].effect.show= false; map_chart.setOption(option,true); } map_chart.setOption(world_option,true) zoom(0.5,0,0); function zoom(rate,x,y){ map_chart.setOption({geo: {zoom:rate,center:[x,y]}}) } var interval = setInterval(function(){ var scale = map_chart.getOption().geo[0].zoom; var center = map_chart.getOption().geo[0].center; if(scale >= 2.5){ clearInterval(interval); map_chart.setOption(china_option,true); map_chart.resize(); var option = map_chart.getOption(); setTimeout(function () {//总部 option.series[2].label.normal.show= true; option.series[2].symbolSize = 15; map_chart.setOption(option,true); }, 500); setTimeout(function () {//外办城市 option.series[1].label.normal.show= true; option.series[1].symbolSize = 10; map_chart.setOption(option,true); }, 2000); setTimeout(function () {//箭头 option.series[0].effect.show= true; map_chart.setOption(option,true); }, 1000); setTimeout(function () {//外办省份 option.series[3].data.map(function(dataItem) { dataItem.selected=true; }); map_chart.setOption(option,true); }, 2500); return; } zoom(scale + 0.1,center[0]+5.15,center[1]+1.8); },100);