echarts9.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>地图diy实例-WeAdmin Frame型后台管理系统-WeAdmin 1.0</title>
  6. <meta name="renderer" content="webkit|ie-comp|ie-stand">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <meta http-equiv="Cache-Control" content="no-siteapp" />
  10. <link rel="stylesheet" href="../../static/css/font.css">
  11. <link rel="stylesheet" href="../../static/css/weadmin.css">
  12. </head>
  13. <body>
  14. <div class="weadmin-body">
  15. <blockquote class="layui-elem-quote">
  16. 特别声明:ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。WeAdmin提示:如需使用或者详细更多案例可以访问官网<a href="http://echarts.baidu.com/" style="color:red">ECharts</a>。
  17. </blockquote>
  18. <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
  19. <div class="" style="width: 100%;overflow: hidden;height: 100%; background-color: #f0f0f0;">
  20. <div id="container" style="width:1200px;height: 600px;margin: 0 auto;"></div>
  21. </div>
  22. <blockquote class="layui-elem-quote">
  23. 注意:本案例的Echarts图表库由cdn引入,需要在线才能正常使用,若要离线使用,请至Echarts官网下载。
  24. </blockquote>
  25. </div>
  26. <script src="//cdn.bootcss.com/echarts/4.0.2/echarts.min.js"></script>
  27. <!--<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>-->
  28. <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
  29. <script type="text/javascript">
  30. var dom = document.getElementById("container");
  31. var myChart = echarts.init(dom);
  32. option = null;
  33. var pao1 = "../../static/images/mapico1.png";
  34. var pao2 = "../../static/images/mapico2.png";
  35. var pao3 = "../../static/images/mapico3.png";
  36. var pao4 = "../../static/images/mapico4.png";
  37. var geoCoordMap = {
  38. //"城市":[经度,纬度]
  39. //此处设置的位置决定气泡和name显示的位置
  40. "北京": [114.68, 40.66],
  41. "天津": [117.28, 39.88],
  42. "河北": [114.08, 38.68],
  43. "新疆": [86.68, 42.66],
  44. "江苏": [118.28, 34.06],
  45. "浙江": [119.28, 29.26],
  46. "湖北": [112.16, 31.96],
  47. "江西": [115.36, 28.68],
  48. "广东": [113.07, 24.27]
  49. };
  50. var convertData = function(data) {
  51. var res = [];
  52. for(var i = 0; i < data.length; i++) {
  53. var geoCoord = geoCoordMap[data[i].name];
  54. if(geoCoord) {
  55. res.push({
  56. name: data[i].name,
  57. value: geoCoord.concat(data[i].value),
  58. city: data[i].city,
  59. leixing: data[i].leixing,
  60. shixiao: data[i].shixiao,
  61. fanhuan: data[i].fanhuan
  62. });
  63. }
  64. }
  65. return res;
  66. };
  67. option = {
  68. backgroundColor: '#f0f0f0',
  69. tooltip: {
  70. trigger: 'item',
  71. triggerOn: 'mousemove',
  72. alwaysShowContent: true,
  73. backgroundColor: 'rgba(129,119,255,1)',
  74. borderColor: 'rgba(92,83,205,1)',
  75. borderWidth: '2',
  76. extraCssText: 'padding:10px;box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);',
  77. show: true,
  78. //formatter: '{a} <br/>{b}<br/> {c}'
  79. formatter: function(params) {
  80. var res;
  81. if(params.value > 0) {
  82. res = '注册地区:' + params.data.city + '<br/>';
  83. //res +='<img src="'+params.data.icon+'"/>';
  84. res += '注册类型:' + params.data.leixing + '<br/>';
  85. res += '注册时效:' + params.data.shixiao + '<br/>';
  86. res += '税收返还:' + params.data.fanhuan + '<span style="padding:2px 5px;margin-left:5px;background-color:#ff6600;border-radius:3px">最高</span><br/>';
  87. //res +=params.data.zixun;
  88. res += '<a href="https://www.youfa365.com/" style="color:#fff;padding:3px 20px; text-decoration:none;border:2px #fff solid;margin-top:10px;display:inline-block;border-radius:3px;" target="_blank">立即咨询</a>';
  89. } else {
  90. res = '';
  91. }
  92. return res;
  93. }
  94. },
  95. visualMap: [{
  96. seriesIndex: 0,
  97. min: 0,
  98. max: 4,
  99. calculable: false,
  100. show: false,
  101. // 表示 目标系列 的视觉样式。
  102. target: {
  103. inRange: {
  104. show: true,
  105. color: ['#b8b2ff', '#8177ff', '#6056e4', '#4b43ac']
  106. }
  107. }
  108. }],
  109. geo: {
  110. map: 'china',
  111. //为了鼠标滑过气泡时,同样显示tip
  112. tooltip: {
  113. trigger: 'item',
  114. triggerOn: 'mousemove',
  115. alwaysShowContent: true,
  116. backgroundColor: 'rgba(129,119,255,1)',
  117. borderColor: 'rgba(92,83,205,1)',
  118. borderWidth: '2',
  119. extraCssText: 'padding:10px;box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);',
  120. show: true,
  121. formatter: function(params) {
  122. var res;
  123. res = '注册地区:' + params.data.city + '<br/>';
  124. //res +='<img src="'+params.data.icon+'"/>';
  125. res += '注册类型:' + params.data.leixing + '<br/>';
  126. res += '注册时效:' + params.data.shixiao + '<br/>';
  127. res += '税收返还:' + params.data.fanhuan + '<span style="padding:2px 5px;margin-left:5px;background-color:#ff6600;border-radius:3px">最高</span><br/>';
  128. res += '<a href="https://www.youfa365.com/" style="color:#fff;padding:3px 20px; text-decoration:none;border:2px #fff solid;margin-top:10px;display:inline-block;border-radius:3px;" target="_blank">立即咨询</a>';
  129. return res;
  130. }
  131. },
  132. label: {
  133. normal: {
  134. show: false
  135. },
  136. emphasis: {
  137. show: true
  138. }
  139. }
  140. },
  141. series: [{
  142. type: 'map',
  143. mapType: 'china',
  144. label: {
  145. normal: {
  146. //重新设置显示位置,不再使用此处显示文字
  147. show: false,
  148. color: '#fff',
  149. fontSize: 12,
  150. formatter: function(params) {
  151. var res;
  152. if(params.value > 0) {
  153. res = params.data.city + '\n';
  154. } else {
  155. res = '';
  156. }
  157. return res;
  158. }
  159. },
  160. emphasis: {
  161. show: false,
  162. color: '#fff'
  163. }
  164. },
  165. itemStyle: {
  166. normal: {
  167. borderColor: 'rgba(255, 255, 255, 1)'
  168. },
  169. emphasis: {
  170. areaColor: null,
  171. shadowOffsetX: 0,
  172. shadowOffsetY: 0,
  173. shadowBlur: 20,
  174. borderWidth: 0,
  175. shadowColor: 'rgba(0, 0, 0, 0.5)'
  176. }
  177. },
  178. data: convertData([{
  179. name: '北京',
  180. city: '北京',
  181. value: 1,
  182. leixing: '公司注册(极速版)',
  183. shixiao: '30天',
  184. fanhuan: '演示数据'
  185. },
  186. {
  187. name: '天津',
  188. city: '天津',
  189. value: 2,
  190. leixing: '公司注册(极速版)',
  191. shixiao: '3天',
  192. fanhuan: '演示数据'
  193. },
  194. {
  195. name: '河北',
  196. city: '河北',
  197. value: 1,
  198. leixing: '公司注册(极速版)',
  199. shixiao: '30天',
  200. fanhuan: '演示数据'
  201. },
  202. {
  203. name: '新疆',
  204. city: '新疆',
  205. value: 1,
  206. leixing: '公司注册(极速版)',
  207. shixiao: '30天',
  208. fanhuan: '演示数据'
  209. },
  210. {
  211. name: '江苏',
  212. city: '江苏',
  213. value: 1,
  214. leixing: '公司注册(极速版)',
  215. shixiao: '30天',
  216. fanhuan: '演示数据'
  217. },
  218. {
  219. name: '浙江',
  220. city: '浙江',
  221. value: 2,
  222. leixing: '公司注册(极速版)',
  223. shixiao: '3天',
  224. fanhuan: '演示数据'
  225. },
  226. {
  227. name: '湖北',
  228. city: '武汉',
  229. value: 4,
  230. leixing: '公司注册(极速版)',
  231. shixiao: '1天',
  232. fanhuan: '演示数据'
  233. },
  234. {
  235. name: '江西',
  236. city: '江西',
  237. value: 3,
  238. leixing: '公司注册(极速版)',
  239. shixiao: '2天',
  240. fanhuan: '演示数据'
  241. },
  242. {
  243. name: '广东',
  244. city: '广东',
  245. value: 2,
  246. leixing: '公司注册(极速版)',
  247. shixiao: '3天',
  248. fanhuan: '演示数据'
  249. }
  250. ])
  251. },
  252. {
  253. name: 'Point', //30天注册
  254. type: 'scatter',
  255. coordinateSystem: 'geo',
  256. data: convertData([{
  257. name: '北京',
  258. city: '北京',
  259. value: 1,
  260. leixing: '公司注册(极速版)',
  261. shixiao: '3天',
  262. fanhuan: '演示数据'
  263. },
  264. {
  265. name: '河北',
  266. city: '河北',
  267. value: 1,
  268. leixing: '公司注册(极速版)',
  269. shixiao: '3天',
  270. fanhuan: '演示数据'
  271. },
  272. {
  273. name: '新疆',
  274. city: '新疆',
  275. value: 1,
  276. leixing: '公司注册(极速版)',
  277. shixiao: '3天',
  278. fanhuan: '演示数据'
  279. },
  280. {
  281. name: '江苏',
  282. city: '江苏',
  283. value: 1,
  284. leixing: '公司注册(极速版)',
  285. shixiao: '3天',
  286. fanhuan: '演示数据'
  287. },
  288. ]),
  289. symbol: 'image://' + pao4,
  290. zlevel: 0,
  291. symbolSize: 1,
  292. label: {
  293. normal: {
  294. show: true,
  295. color: '#fff',
  296. position: ['50%', '50%'],
  297. formatter: function(params) {
  298. return params.data.city;
  299. }
  300. },
  301. emphasis: {
  302. show: false
  303. }
  304. }
  305. },
  306. {
  307. name: 'Point', //3天注册
  308. type: 'scatter',
  309. coordinateSystem: 'geo',
  310. data: convertData([{
  311. name: '天津',
  312. city: '天津',
  313. value: 2,
  314. leixing: '公司注册(极速版)',
  315. shixiao: '3天',
  316. fanhuan: '演示数据'
  317. },
  318. {
  319. name: '浙江',
  320. city: '浙江',
  321. value: 2,
  322. leixing: '公司注册(极速版)',
  323. shixiao: '3天',
  324. fanhuan: '演示数据'
  325. },
  326. {
  327. name: '广东',
  328. city: '广东',
  329. value: 2,
  330. leixing: '公司注册(极速版)',
  331. shixiao: '3天',
  332. fanhuan: '演示数据'
  333. }
  334. ]),
  335. symbol: 'image://' + pao3,
  336. zlevel: 1,
  337. symbolSize: 24,
  338. label: {
  339. normal: {
  340. show: true,
  341. color: '#fff',
  342. position: ['30%', '60%'],
  343. formatter: function(params) {
  344. return params.data.city;
  345. }
  346. },
  347. emphasis: {
  348. show: false
  349. }
  350. }
  351. },
  352. {
  353. name: 'Point', //2天注册
  354. type: 'scatter',
  355. //formatter: data.value,
  356. coordinateSystem: 'geo',
  357. data: convertData([{
  358. name: '江西',
  359. city: '江西',
  360. value: 3,
  361. leixing: '公司注册(极速版)',
  362. shixiao: '3天',
  363. fanhuan: '演示数据'
  364. }]),
  365. symbol: 'image://' + pao2,
  366. zlevel: 1,
  367. symbolSize: 24,
  368. label: {
  369. normal: {
  370. show: true,
  371. color: '#fff',
  372. position: ['10%', '100%'],
  373. formatter: function(params) {
  374. return params.data.city;
  375. }
  376. },
  377. emphasis: {
  378. show: false
  379. }
  380. }
  381. },
  382. {
  383. name: 'Point', //1天注册
  384. type: 'scatter',
  385. coordinateSystem: 'geo',
  386. data: convertData([{
  387. name: '湖北',
  388. city: '武汉',
  389. value: 4,
  390. leixing: '公司注册(极速版)',
  391. shixiao: '3天',
  392. fanhuan: '演示数据'
  393. }]),
  394. symbol: 'image://' + pao1,
  395. zlevel: 1,
  396. symbolSize: 24,
  397. label: {
  398. normal: {
  399. show: true,
  400. color: '#fff',
  401. position: ['80%', '75%'],
  402. formatter: function(params) {
  403. return params.data.city;
  404. }
  405. },
  406. emphasis: {
  407. show: false
  408. }
  409. }
  410. }
  411. ]
  412. };
  413. setTimeout(function() {
  414. myChart.dispatchAction({
  415. type: 'showTip',
  416. seriesIndex: 0,
  417. dataIndex: 0
  418. })
  419. }, 1000);
  420. if(option && typeof option === "object") {
  421. myChart.setOption(option, true);
  422. }
  423. </script>
  424. </body>
  425. </html>