mymap.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. var myChart = echarts.init($('.map .geo')[0])
  2. var option;
  3. var data1 = [
  4. // { name: '点1', value: [114.31, 30.52], size: 20, text: '武汉市江汉区三个街道<br/>张三,男,56岁<br/>血糖9' },
  5. // { name: '点2', value: [114.25, 30.44], size: 20, text: '武汉市江汉区二个街道<br/>李四,男,46岁<br/>血压180/120' },
  6. // { name: '点3', value: [114.22, 30.62], size: 20, text: '武汉市江汉区一个街道<br/>王丫,女,36岁<br/>体温37.1' },
  7. ];
  8. var data2 = [
  9. { name: '点4', value: [114.32, 30.46], size: 10, text: '武汉市江汉区三个街道<br/>张三,男,56岁<br/>血糖9' },
  10. { name: '点5', value: [114.34, 30.54], size: 10, text: '武汉市江汉区二个街道<br/>李四,男,46岁<br/>血压180/120' },
  11. { name: '点6', value: [114.37, 30.58], size: 10, text: '武汉市江汉区一个街道<br/>王丫,女,36岁<br/>体温37.1' }
  12. ];
  13. option = {
  14. backgroundColor: 'transparent',
  15. title: {
  16. text: '用户地图一览',
  17. left: 'center',
  18. textStyle: {
  19. color: '#fff'
  20. }
  21. },
  22. tooltip: {
  23. trigger: 'item',
  24. formatter: function (params) {
  25. //console.log(params);
  26. return params.data.text
  27. }
  28. },
  29. bmap: {
  30. center: [114.25, 30.34], //地图中心点
  31. zoom: 11, //默认缩放倍数
  32. roam: true, //禁止放大缩小
  33. mapStyle: {
  34. styleJson: [
  35. {
  36. featureType: 'water',
  37. elementType: 'all',
  38. stylers: {
  39. color: '#044161'
  40. }
  41. },
  42. {
  43. featureType: 'land',
  44. elementType: 'all',
  45. stylers: {
  46. color: '#004981'
  47. }
  48. },
  49. {
  50. featureType: 'boundary',
  51. elementType: 'geometry',
  52. stylers: {
  53. color: '#064f85'
  54. }
  55. },
  56. {
  57. featureType: 'railway',
  58. elementType: 'all',
  59. stylers: {
  60. visibility: 'off'
  61. }
  62. },
  63. {
  64. featureType: 'highway',
  65. elementType: 'geometry',
  66. stylers: {
  67. color: '#004981'
  68. }
  69. },
  70. {
  71. featureType: 'highway',
  72. elementType: 'geometry.fill',
  73. stylers: {
  74. color: '#005b96',
  75. lightness: 1
  76. }
  77. },
  78. {
  79. featureType: 'highway',
  80. elementType: 'labels',
  81. stylers: {
  82. visibility: 'off'
  83. }
  84. },
  85. {
  86. featureType: 'arterial',
  87. elementType: 'geometry',
  88. stylers: {
  89. color: '#004981'
  90. }
  91. },
  92. {
  93. featureType: 'arterial',
  94. elementType: 'geometry.fill',
  95. stylers: {
  96. color: '#00508b'
  97. }
  98. },
  99. {
  100. featureType: 'poi',
  101. elementType: 'all',
  102. stylers: {
  103. visibility: 'off'
  104. }
  105. },
  106. {
  107. featureType: 'green',
  108. elementType: 'all',
  109. stylers: {
  110. color: '#056197',
  111. visibility: 'off'
  112. }
  113. },
  114. {
  115. featureType: 'subway',
  116. elementType: 'all',
  117. stylers: {
  118. visibility: 'off'
  119. }
  120. },
  121. {
  122. featureType: 'manmade',
  123. elementType: 'all',
  124. stylers: {
  125. visibility: 'off'
  126. }
  127. },
  128. {
  129. featureType: 'local',
  130. elementType: 'all',
  131. stylers: {
  132. visibility: 'off'
  133. }
  134. },
  135. {
  136. featureType: 'arterial',
  137. elementType: 'labels',
  138. stylers: {
  139. visibility: 'off'
  140. }
  141. },
  142. {
  143. featureType: 'boundary',
  144. elementType: 'geometry.fill',
  145. stylers: {
  146. color: '#029fd4'
  147. }
  148. },
  149. {
  150. featureType: 'building',
  151. elementType: 'all',
  152. stylers: {
  153. color: '#1a5787'
  154. }
  155. },
  156. {
  157. featureType: 'label',
  158. elementType: 'all',
  159. stylers: {
  160. visibility: 'off'
  161. }
  162. }
  163. ]
  164. }
  165. },
  166. series: [
  167. {
  168. name: '体征告警',
  169. type: 'effectScatter', //气泡动态效果
  170. coordinateSystem: 'bmap', // 地图选择项bmap为百度地图
  171. data: data1,
  172. symbolSize: function (val1, val2) {
  173. // console.log(val1,val2)
  174. return val2.data.size;
  175. }, //标记大小
  176. showEffectOn: 'render', // 配置何时显示特效。 render 绘制完成后显示特效。emphasis 高亮(hover)的时候显示特效。
  177. rippleEffect: {
  178. brushType: 'stroke', // 波纹的绘制方式 stroke 和 fill
  179. number: 3, // 波纹的数量
  180. scale: 5, // 波纹放大的倍数
  181. color: '#8FD1C3'
  182. },
  183. hoverAnimation: true,
  184. label: {
  185. formatter: '{b}',
  186. position: 'right',
  187. show: true
  188. },
  189. itemStyle: {
  190. color: '#f37b1d',
  191. shadowBlur: 10,
  192. shadowColor: '#333'
  193. },
  194. zlevel: 1
  195. },
  196. {
  197. name: '正常体征',
  198. type: 'scatter', //气泡静态效果
  199. coordinateSystem: 'bmap',
  200. data: data2,
  201. symbolSize: function (val1, val2) {
  202. return val2.data.size;
  203. }, //标记的大小
  204. label: {
  205. formatter: '{b}',
  206. position: 'right'
  207. },
  208. itemStyle: {
  209. color: '#ddb926'
  210. },
  211. emphasis: { // 高亮的图形和标签样式
  212. label: {
  213. show: true
  214. }
  215. }
  216. }
  217. ]
  218. };
  219. if (option && typeof option === 'object') {
  220. myChart.setOption(option);
  221. var index = 0; //播放所在下标
  222. var mTime = setInterval(function () {
  223. myChart.dispatchAction({
  224. type: 'showTip',
  225. seriesIndex: 0,
  226. dataIndex: index
  227. });
  228. index++;
  229. if (index > data1.length) {
  230. index = 0;
  231. }
  232. }, 2000); //2秒循环
  233. }
  234. window.addEventListener('resize', myChart.resize);