当前位置:   article > 正文

使用echarts实现地图map_echarts image: mappattern

echarts image: mappattern
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>echarts.js中国地图省份悬浮提示</title>
  6. <script src="../js/echarts.min.js"></script>
  7. <script type="text/javascript" src="../js/macarons.js"></script>
  8. <!-- <script src="../js/china.js"></script> -->
  9. <script type="text/javascript" src="china_1.js"></script></head>
  10. <body>
  11. <div id="container" style="height: 800px;width:800px;background:white;margin:20px 0 0;"></div>
  12. <script type="text/javascript">
  13. // 全国省份列表
  14. function randomData() {
  15. return Math.round(Math.random()*1000);
  16. }
  17. var dataMap =[
  18. {name: '北京',value: 150 },{name: '天津',value: randomData() },
  19. {name: '上海',value: randomData() },{name: '重庆',value: randomData() },
  20. {name: '河北',value: randomData() },{name: '河南',value: randomData() },
  21. {name: '云南',value: randomData() },{name: '辽宁',value: randomData() },
  22. {name: '黑龙江',value: randomData() },{name: '湖南',value: randomData() },
  23. {name: '安徽',value: randomData() },{name: '山东',value: randomData() },
  24. {name: '新疆',value: randomData() },{name: '江苏',value: randomData() },
  25. {name: '浙江',value: randomData() },{name: '江西',value: randomData() },
  26. /* {name: '湖北',value: randomData() },{name: '广西',value: randomData() },
  27. {name: '甘肃',value: randomData() },{name: '山西',value: randomData() }, */
  28. {name: '内蒙古',value: randomData() },{name: '陕西',value: randomData()},
  29. {name: '吉林',value: randomData() },{name: '福建',value: randomData() },
  30. {name: '贵州',value: randomData() },{name: '广东',value: randomData() },
  31. {name: '青海',value: randomData() },{name: '西藏',value: randomData() },
  32. {name: '四川',value: randomData() },{name: '宁夏',value: randomData() },
  33. {name: '海南',value: randomData() },{name: '台湾',value: randomData() },
  34. {name: '香港',value: randomData() },{name: '澳门',value: randomData() },{name: '南海诸岛',value: randomData() }
  35. ];
  36. // 需要在页面上直接标记出来的城市
  37. var specialMap = []; //默认选中的几个城市设置 "北京","重庆"
  38. // 对dataMap进行处理,使其可以直接在页面上展示
  39. for (var i = 0; i < specialMap.length; i++) {
  40. for (var j = 0; j < dataMap.length; j++) {
  41. if (specialMap[i] == dataMap[j].name) {
  42. dataMap[j].selected = true;
  43. break;
  44. }
  45. }
  46. }
  47. /* var option = {
  48. title : {
  49. text: '平台用户分布',
  50. subtext: '纯属虚构',
  51. x:'left',
  52. textStyle:{
  53. fontSize:30
  54. }
  55. },
  56. tooltip: {
  57. formatter: function (params) {
  58. var info = '';//'<p style="font-size:18px">' + params.name + '</p><p style="font-size:14px">这里可以写一些,想展示在页面上的别的信息</p>';
  59. if(params.data.value != undefined){
  60. info = '注册用户</br>'+params.name+' : '+params.data.value+'人';
  61. }
  62. return info;
  63. },
  64. //backgroundColor: "#ff7f50",//提示标签背景颜色
  65. //textStyle: { color: "#fff" } //提示标签字体颜色
  66. },
  67. //左侧小导航图标
  68. visualMap: {
  69. show : true,
  70. x: 'left',
  71. y: 'center',
  72. splitList: [
  73. {start: 500, end:600},{start: 400, end: 500},
  74. {start: 300, end: 400},{start: 200, end: 300},
  75. {start: 100, end: 200},{start: 0, end: 100},
  76. ],
  77. //color: ['#5475f5', '#9feaa5', '#85daef','#74e2ca', '#e6ac53', '#9fb5ea']
  78. },
  79. dataRange: {
  80. orient: 'vertical', //vertical:垂直 ,horizontal
  81. min: 0,
  82. max: 1000,
  83. x: 'left',
  84. y: 'bottom',
  85. text:['高','低'], // 文本,默认为数值文本
  86. calculable : true,
  87. /* splitList:[ //自定义范围
  88. {start: 1500},
  89. {start: 900, end: 1500},
  90. {start: 310, end: 1000},
  91. {start: 200, end: 300},
  92. {start: 10, end: 200, label: '10 到 200(自定义label)'},
  93. {start: 5, end: 5, label: '5(自定义特殊颜色)', color: 'black'},
  94. {end: 10}
  95. ]
  96. },
  97. series: [
  98. {
  99. name: '注册用户',
  100. type: 'map',
  101. mapType: 'china',
  102. label: {
  103. normal: {
  104. show: true,//显示省份标签
  105. },
  106. emphasis: {
  107. show: false,//对应的鼠标悬浮效果
  108. }
  109. },
  110. data: dataMap
  111. }
  112. ]
  113. }; */
  114. //初始化echarts实例
  115. var myChart = echarts.init(document.getElementById('container'),'macarons');
  116. myChart.on("mouseover",function(params){ //鼠标悬停事件
  117. /* params.color = "#2ec7c9";
  118. console.log("悬浮事件"); */
  119. var color ="";
  120. if(params.data == undefined){
  121. color = "#ecebeb";
  122. }else{
  123. color = "#2ec7c9";
  124. }
  125. params.color = color;
  126. params.event.target.style.fill = color;
  127. });
  128. myChart.on("mouseout",function(e){
  129. });
  130. var option = {
  131. title : {
  132. text: '用户分布',
  133. subtext: '纯属虚构',
  134. x:'center'
  135. },
  136. tooltip : {
  137. trigger: 'item',
  138. formatter: function (params) {
  139. var info = '';//'<p style="font-size:18px">' + params.name + '</p><p style="font-size:14px">这里可以写一些,想展示在页面上的别的信息</p>';
  140. if(params.data != undefined){
  141. info = '注册用户</br>'+params.name+' : '+params.data.value+'人';
  142. return info;
  143. }else{
  144. hideTip();
  145. }
  146. },
  147. },
  148. /* legend: {
  149. orient: 'vertical',
  150. x:'left',
  151. data:['iphone3','iphone4','iphone5']
  152. }, */
  153. dataRange: {
  154. min: 0,
  155. max: 2500,
  156. x: 'left',
  157. y: 'bottom',
  158. text:['高','低'], // 文本,默认为数值文本
  159. calculable : true
  160. },
  161. toolbox: {
  162. show: true,
  163. orient : 'vertical',
  164. x: 'right',
  165. y: 'center',
  166. feature : {
  167. mark : {show: true},
  168. dataView : {show: true, readOnly: false},
  169. restore : {show: true},
  170. saveAsImage : {show: true}
  171. }
  172. },
  173. roamController: {
  174. show: true,
  175. x: 'right',
  176. mapTypeControl: {
  177. 'china': true
  178. }
  179. },
  180. series : [
  181. {
  182. name: '用户分布',
  183. type: 'map',
  184. mapType: 'china',
  185. roam: false,
  186. itemStyle:{
  187. normal:{label:{show:true}},
  188. emphasis:{label:{show:true},} // areaColor设置鼠标悬浮到省的颜色 areaColor:'#2a333d'
  189. },
  190. data:dataMap
  191. }
  192. ]
  193. };
  194. function hideTip(){
  195. }
  196. //使用制定的配置项和数据显示图表
  197. myChart.setOption(option);
  198. </script>
  199. </body>
  200. </html>

处理了 鼠标悬停在没有数值的区域的时候 没有选中的效果  资源上传中 审核成功之后 附下载地址的哦  有用的话点个赞

点击下载:demo下载

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/108706
推荐阅读