当前位置:   article > 正文

React集成中国地图_react china

react china

咳咳,要知道你需要什么,并且文件需要放在哪里。

第一步,准备要引入的包 echarts 执行命令就完活

npm install echarts --save

第二步,准备需要的小文件,geo.js,内容如下:还是直接复制就完事。

  1. const provienceData = [
  2. { name: '黑龙江', area: '东北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  3. { name: '吉林', area: '东北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  4. { name: '辽宁', area: '东北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  5. { name: '内蒙古', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  6. { name: '北京', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  7. { name: '天津', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  8. { name: '河北', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  9. { name: '山东', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  10. { name: '山西', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  11. { name: '江苏', area: '华东大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  12. { name: '上海', area: '华东大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  13. { name: '浙江', area: '华东大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  14. { name: '福建', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  15. { name: '广东', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  16. { name: '海南', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  17. { name: '台湾', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  18. { name: '香港', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  19. { name: '澳门', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  20. { name: '河南', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  21. { name: '安徽', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  22. { name: '江西', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  23. { name: '广东', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  24. { name: '陕西', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  25. { name: '湖北', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  26. { name: '湖南', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  27. { name: '广西', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  28. { name: '宁夏', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  29. { name: '重庆', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  30. { name: '贵州', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  31. { name: '四川', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  32. { name: '云南', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  33. { name: '甘肃', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  34. { name: '青海', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  35. { name: '西藏', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  36. { name: '新疆', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) }
  37. ];
  38. const geoCoordMap = {
  39. 黑龙江: [126.6433411, 45.74149323],
  40. 吉林: [125.3154297, 43.89256287],
  41. 辽宁: [123.4116821, 41.7966156],
  42. 内蒙古: [111.6632996, 40.82094193],
  43. 北京: [116.3809433, 39.9236145],
  44. 天津: [117.2034988, 39.13111877],
  45. 河北: [114.4897766, 38.04512787],
  46. 山东: [117.0056, 36.6670723],
  47. 山西: [112.5693512, 37.87111282],
  48. 江苏: [118.7727814, 32.04761505],
  49. 上海: [121.4692688, 31.23817635],
  50. 浙江: [120.1592484, 30.26599503],
  51. 福建: [119.2978134, 26.07859039],
  52. 广东: [113.2614288, 23.11891174],
  53. 海南: [110.3465118, 19.03179359],
  54. 台湾: [120.960515, 23.69781],
  55. 香港: [114.109497, 22.396428],
  56. 澳门: [110.5440083, 21.20167546],
  57. 河南: [113.6500473, 34.7570343],
  58. 安徽: [117.2757034, 31.86325455],
  59. 江西: [115.8999176, 28.67599106],
  60. 陕西: [108.949028, 34.26168442],
  61. 湖北: [114.2919388, 30.56751442],
  62. 湖南: [112.9812698, 28.20082474],
  63. 广西: [108.3117676, 22.80654335],
  64. 宁夏: [106.2719421, 38.46800995],
  65. 重庆: [106.5103378, 29.55817604],
  66. 贵州: [106.7113724, 26.57687378],
  67. 四川: [104.0817566, 30.66105652],
  68. 云南: [102.704567, 25.04384422],
  69. 甘肃: [95.832762, 40.067241],
  70. 青海: [95.786324, 36.629144],
  71. 西藏: [91.11445308, 29.64411352],
  72. 新疆: [89.1895474, 42.95130195],
  73. 五指山市: [110.72, 19.61],
  74. 文昌市: [110.72, 19.61],
  75. 琼海市: [110.46, 19.25],
  76. 万宁市: [110.39, 18.8],
  77. 东方市: [108.64, 19.09],
  78. 定安县: [110.31, 19.68],
  79. 临高县: [109.69, 19.91],
  80. 澄迈县: [110, 19.75],
  81. 白沙黎族自治县: [109.44, 19.23],
  82. 江黎族自治县: [102.188043, 38.520089],
  83. 乐东黎族自治县: [109.17, 18.73],
  84. 保亭黎族苗族自治县: [109.7, 18.64],
  85. 中苗族黎族自治县: [119.46, 35.42],
  86. 海门: [121.15, 31.89],
  87. 鄂尔多斯: [109.781327, 39.608266],
  88. 招远: [120.38, 37.35],
  89. 舟山: [122.207216, 29.985295],
  90. 齐齐哈尔: [123.97, 47.33],
  91. 盐城: [120.13, 33.38],
  92. 赤峰: [118.87, 42.28],
  93. 青岛: [120.33, 36.07],
  94. 乳山: [121.52, 36.89],
  95. 金昌: [102.188043, 38.520089],
  96. 泉州: [118.58, 24.93],
  97. 莱西: [120.53, 36.86],
  98. 日照: [119.46, 35.42],
  99. 胶南: [119.97, 35.88],
  100. 南通: [121.05, 32.08],
  101. 拉萨: [91.11, 29.97],
  102. 云浮: [112.02, 22.93],
  103. 梅州: [116.1, 24.55],
  104. 文登: [122.05, 37.2],
  105. 攀枝花: [101.718637, 26.582347],
  106. 威海: [122.1, 37.5],
  107. 承德: [117.93, 40.97],
  108. 厦门: [118.1, 24.46],
  109. 汕尾: [115.375279, 22.786211],
  110. 潮州: [116.63, 23.68],
  111. 丹东: [124.37, 40.13],
  112. 太仓: [121.1, 31.45],
  113. 曲靖: [103.79, 25.51],
  114. 烟台: [121.39, 37.52],
  115. 福州: [119.3, 26.08],
  116. 瓦房店: [121.979603, 39.627114],
  117. 即墨: [120.45, 36.38],
  118. 抚顺: [123.97, 41.97],
  119. 玉溪: [102.52, 24.35],
  120. 张家口: [114.87, 40.82],
  121. 阳泉: [113.57, 37.85],
  122. 莱州: [119.942327, 37.177017],
  123. 湖州: [120.1, 30.86],
  124. 汕头: [116.69, 23.39],
  125. 昆山: [120.95, 31.39],
  126. 宁波: [121.56, 29.86],
  127. 湛江: [110.359377, 21.270708],
  128. 揭阳: [116.35, 23.55],
  129. 荣成: [122.41, 37.16],
  130. 连云港: [119.16, 34.59],
  131. 葫芦岛: [120.836932, 40.711052],
  132. 常熟: [120.74, 31.64],
  133. 东莞: [113.75, 23.04],
  134. 河源: [114.68, 23.73],
  135. 淮安: [119.15, 33.5],
  136. 泰州: [119.9, 32.49],
  137. 南宁: [108.33, 22.84],
  138. 营口: [122.18, 40.65],
  139. 惠州: [114.4, 23.09],
  140. 江阴: [120.26, 31.91],
  141. 蓬莱: [120.75, 37.8],
  142. 韶关: [113.62, 24.84],
  143. 嘉峪关: [98.289152, 39.77313],
  144. 广州: [113.23, 23.16],
  145. 延安: [109.47, 36.6],
  146. 太原: [112.53, 37.87],
  147. 清远: [113.01, 23.7],
  148. 中山: [113.38, 22.52],
  149. 昆明: [102.73, 25.04],
  150. 寿光: [118.73, 36.86],
  151. 盘锦: [122.070714, 41.119997],
  152. 长治: [113.08, 36.18],
  153. 深圳: [114.07, 22.62],
  154. 珠海: [113.52, 22.3],
  155. 宿迁: [118.3, 33.96],
  156. 咸阳: [108.72, 34.36],
  157. 铜川: [109.11, 35.09],
  158. 平度: [119.97, 36.77],
  159. 佛山: [113.11, 23.05],
  160. 海口: [110.35, 20.02],
  161. 江门: [113.06, 22.61],
  162. 章丘: [117.53, 36.72],
  163. 肇庆: [112.44, 23.05],
  164. 大连: [121.62, 38.92],
  165. 临汾: [111.5, 36.08],
  166. 吴江: [120.63, 31.16],
  167. 石嘴山: [106.39, 39.04],
  168. 沈阳: [123.38, 41.8],
  169. 苏州: [120.62, 31.32],
  170. 茂名: [110.88, 21.68],
  171. 嘉兴: [120.76, 30.77],
  172. 长春: [125.35, 43.88],
  173. 胶州: [120.03336, 36.264622],
  174. 银川: [106.27, 38.47],
  175. 张家港: [120.555821, 31.875428],
  176. 三门峡: [111.19, 34.76],
  177. 锦州: [121.15, 41.13],
  178. 南昌: [115.89, 28.68],
  179. 柳州: [109.4, 24.33],
  180. 三亚: [109.511909, 18.252847],
  181. 自贡: [104.778442, 29.33903],
  182. 阳江: [111.95, 21.85],
  183. 泸州: [105.39, 28.91],
  184. 西宁: [101.74, 36.56],
  185. 宜宾: [104.56, 29.77],
  186. 呼和浩特: [111.65, 40.82],
  187. 成都: [104.06, 30.67],
  188. 大同: [113.3, 40.12],
  189. 镇江: [119.44, 32.2],
  190. 桂林: [110.28, 25.29],
  191. 张家界: [110.479191, 29.117096],
  192. 宜兴: [119.82, 31.36],
  193. 北海: [109.12, 21.49],
  194. 西安: [108.95, 34.27],
  195. 金坛: [119.56, 31.74],
  196. 东营: [118.49, 37.46],
  197. 牡丹江: [129.58, 44.6],
  198. 遵义: [106.9, 27.7],
  199. 绍兴: [120.58, 30.01],
  200. 扬州: [119.42, 32.39],
  201. 常州: [119.95, 31.79],
  202. 潍坊: [119.1, 36.62],
  203. 台州: [121.420757, 28.656386],
  204. 南京: [118.78, 32.04],
  205. 滨州: [118.03, 37.36],
  206. 贵阳: [106.71, 26.57],
  207. 无锡: [120.29, 31.59],
  208. 本溪: [123.73, 41.3],
  209. 克拉玛依: [84.77, 45.59],
  210. 渭南: [109.5, 34.52],
  211. 马鞍山: [118.48, 31.56],
  212. 宝鸡: [107.15, 34.38],
  213. 焦作: [113.21, 35.24],
  214. 句容: [119.16, 31.95],
  215. 徐州: [117.2, 34.26],
  216. 衡水: [115.72, 37.72],
  217. 包头: [110, 40.58],
  218. 绵阳: [104.73, 31.48],
  219. 乌鲁木齐: [87.68, 43.77],
  220. 枣庄: [117.57, 34.86],
  221. 杭州: [120.19, 30.26],
  222. 淄博: [118.05, 36.78],
  223. 鞍山: [122.85, 41.12],
  224. 溧阳: [119.48, 31.43],
  225. 库尔勒: [86.06, 41.68],
  226. 安阳: [114.35, 36.1],
  227. 开封: [114.35, 34.79],
  228. 济南: [117, 36.65],
  229. 德阳: [104.37, 31.13],
  230. 温州: [120.65, 28.01],
  231. 九江: [115.97, 29.71],
  232. 邯郸: [114.47, 36.6],
  233. 临安: [119.72, 30.23],
  234. 兰州: [103.73, 36.03],
  235. 沧州: [116.83, 38.33],
  236. 临沂: [118.35, 35.05],
  237. 南充: [106.110698, 30.837793],
  238. 富阳: [119.95, 30.07],
  239. 泰安: [117.13, 36.18],
  240. 诸暨: [120.23, 29.71],
  241. 郑州: [113.65, 34.76],
  242. 哈尔滨: [126.63, 45.75],
  243. 聊城: [115.97, 36.45],
  244. 芜湖: [118.38, 31.33],
  245. 唐山: [118.02, 39.63],
  246. 平顶山: [113.29, 33.75],
  247. 邢台: [114.48, 37.05],
  248. 德州: [116.29, 37.45],
  249. 济宁: [116.59, 35.38],
  250. 荆州: [112.239741, 30.335165],
  251. 宜昌: [111.3, 30.7],
  252. 义乌: [120.06, 29.32],
  253. 丽水: [119.92, 28.45],
  254. 洛阳: [112.44, 34.7],
  255. 秦皇岛: [119.57, 39.95],
  256. 株洲: [113.16, 27.83],
  257. 石家庄: [114.48, 38.03],
  258. 莱芜: [117.67, 36.19],
  259. 常德: [111.69, 29.05],
  260. 保定: [115.48, 38.85],
  261. 湘潭: [112.91, 27.87],
  262. 金华: [119.64, 29.12],
  263. 岳阳: [113.09, 29.37],
  264. 长沙: [113, 28.21],
  265. 衢州: [118.88, 28.97],
  266. 廊坊: [116.7, 39.53],
  267. 菏泽: [115.480656, 35.23375],
  268. 合肥: [117.27, 31.86],
  269. 武汉: [114.31, 30.52],
  270. 大庆: [125.03, 46.58] };
  271. export { provienceData, geoCoordMap }

第三步:编码环节,请注意。不嫌弃就复制吧!!

  1. /*eslint eqeqeq: ["off", "smart"]*/
  2. import React, {Component} from 'react';
  3. import { Row,
  4. Col,
  5. // Tabs,
  6. // BackTop,
  7. // Input, Radio,
  8. // Progress,
  9. Card, Empty
  10. } from 'antd';
  11. import echarts from 'echarts';
  12. import 'echarts/map/js/china';
  13. import geoJson from 'echarts/map/json/china.json';
  14. import {geoCoordMap,provienceData} from "./geo";
  15. // const {confirm} = Modal;
  16. // const {Option} = Select;
  17. // const {TreeNode} = Tree;
  18. // const { TabPane } = Tabs;
  19. // const { Search } = Input;
  20. class Doublemonitoring extends Component {
  21. state = {
  22. value: 1,
  23. tabVal:"2020",
  24. };
  25. componentDidMount() {
  26. this.initalECharts()
  27. }
  28. //地图
  29. initalECharts() {
  30. // var max = 480,
  31. // min = 9; // todo
  32. // var maxSize4Pin = 100,
  33. // minSize4Pin = 20;
  34. const data = [
  35. { name: '黑龙江', area: '东北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  36. { name: '吉林', area: '东北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  37. { name: '辽宁', area: '东北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  38. { name: '内蒙古', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  39. { name: '北京', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  40. { name: '天津', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  41. { name: '河北', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  42. { name: '山东', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  43. { name: '山西', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  44. { name: '江苏', area: '华东大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  45. { name: '上海', area: '华东大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  46. { name: '浙江', area: '华东大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  47. { name: '福建', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  48. { name: '广东', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  49. { name: '海南', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  50. { name: '台湾', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  51. { name: '香港', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  52. { name: '澳门', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  53. { name: '河南', area: '华北大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  54. { name: '安徽', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  55. { name: '江西', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  56. { name: '广东', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  57. { name: '陕西', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  58. { name: '湖北', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  59. { name: '湖南', area: '华中大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  60. { name: '广西', area: '华南大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  61. { name: '宁夏', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  62. { name: '重庆', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  63. { name: '贵州', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  64. { name: '四川', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  65. { name: '云南', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  66. { name: '甘肃', area: '华西大区', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  67. { name: '青海', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  68. { name: '西藏', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) },
  69. { name: '新疆', area: '其他', type: 'areaCenterCity', InValue: Math.round(Math.random()*1000) }
  70. ];
  71. echarts.registerMap('china', geoJson);
  72. for (const item of provienceData) {
  73. if (item.area === '东北大区') {
  74. // console.log("东北大区")
  75. item.itemStyle = {
  76. normal: {
  77. areaColor: '#000',
  78. },
  79. emphasis: {
  80. areaColor: '#3CA2FC',
  81. }
  82. }
  83. } else if (item.area === '华北大区') {
  84. item.itemStyle = {
  85. normal: {
  86. areaColor: '#6CAFBE',
  87. },
  88. emphasis: {
  89. areaColor: '#6CAFBE',
  90. }
  91. }
  92. } else if (item.area === '华中大区') {
  93. item.itemStyle = {
  94. normal: {
  95. areaColor: '#ADD03C',
  96. },
  97. emphasis: {
  98. areaColor: '#ADD03C',
  99. }
  100. }
  101. } else if (item.area === '华东大区') {
  102. item.itemStyle = {
  103. normal: {
  104. areaColor: '#A13614',
  105. },
  106. emphasis: {
  107. areaColor: '#A13614',
  108. }
  109. }
  110. } else if (item.area === '华西大区') {
  111. item.itemStyle = {
  112. normal: {
  113. areaColor: '#FFBA00',
  114. },
  115. emphasis: {
  116. areaColor: '#FFBA00',
  117. }
  118. }
  119. } else if (item.area === '华南大区') {
  120. item.itemStyle = {
  121. normal: {
  122. areaColor: '#FFD300',
  123. },
  124. emphasis: {
  125. areaColor: '#FFD300',
  126. }
  127. }
  128. } else if (item.area === '南海诸岛') {
  129. item.itemStyle = {
  130. normal: {
  131. borderColor: '#fff', // 区域边框颜色
  132. areaColor: '#fff', // 区域颜色
  133. },
  134. emphasis: {
  135. show: false,
  136. // borderColor: '#fff',
  137. // areaColor:"#fff",
  138. }
  139. }
  140. } else {
  141. item.itemStyle = {
  142. normal: {
  143. areaColor: '#D9D9D9',
  144. },
  145. emphasis: {
  146. areaColor: '#D9D9D9',
  147. }
  148. }
  149. }
  150. }
  151. const myChart = echarts.init(document.getElementById('mainMap'));
  152. myChart.setOption({
  153. tooltip: {
  154. show: false, // 不显示提示标签
  155. // formatter: '{b}', // 提示标签格式
  156. //鼠标放地图的某一块,显示的提示框
  157. formatter(params, ticket, callback) {
  158. // console.log(params)
  159. var tipHtml = '';
  160. tipHtml = '<div class="maptit">' +
  161. '<h5 class="h5">'+params.name+'&nbsp'+'(13)</h5>'+
  162. '<p class="h6">'+"高水平学校"+'</p>'+
  163. '<ul><li><span>A</span>1</li><li class="name-2"><span>A</span>3</li><li class="name-3"><span>A</span>1</li></ul>'+
  164. '<p class="h6">'+"高水平专业群"+'</p>'+
  165. '<ul><li><span>A</span>2</li><li class="name-2"><span>A</span>1</li><li class="name-3"><span>A</span>3</li></ul>'+
  166. '</div>';
  167. return tipHtml;
  168. },
  169. backgroundColor:'none', // 提示标签背景颜色
  170. textStyle: { color: '#fff' } ,// 提示标签字体颜色
  171. },
  172. grid: {
  173. left: '10%',
  174. right: '10%',
  175. top: '0',
  176. bottom: '10%',
  177. containLabel: true
  178. },
  179. geo: {
  180. show: true,
  181. map: 'china',
  182. label: {
  183. normal: {
  184. show: false
  185. },
  186. emphasis: {
  187. show: false,
  188. },
  189. },
  190. roam: false,//鼠标缩放
  191. itemStyle: {
  192. normal: {
  193. areaColor: '#8EC9FF',
  194. borderColor: '#1180c7',
  195. },
  196. emphasis: {
  197. areaColor: '#2B91B7',
  198. }
  199. }
  200. },
  201. series: [
  202. /* {
  203. name: '散点',
  204. type: 'scatter',
  205. coordinateSystem: 'geo',
  206. data: this.convertData(data),
  207. symbolSize: 20,
  208. label: {
  209. normal: {
  210. formatter: '{b}',
  211. position: 'right',
  212. show: true
  213. },
  214. emphasis: {
  215. show: true
  216. }
  217. },
  218. itemStyle: {
  219. normal: {
  220. color: '#05C3F9'
  221. }
  222. }
  223. },*/
  224. {
  225. type: 'map',
  226. map: 'china',
  227. geoIndex: 0,
  228. aspectScale: 0.9, //长宽比
  229. showLegendSymbol: false, // 存在legend时显示
  230. label: {
  231. normal: {
  232. show: true
  233. },
  234. emphasis: {
  235. show: false,
  236. textStyle: {
  237. color: '#fff'
  238. }
  239. }
  240. },
  241. roam: true,
  242. itemStyle: {
  243. normal: {
  244. areaColor: '#031525',
  245. borderColor: '#3B5077',
  246. },
  247. emphasis: {
  248. areaColor: '#2B91B7'
  249. }
  250. },
  251. animation: false,
  252. data: data
  253. },
  254. {
  255. name: '点',
  256. type: 'scatter',
  257. coordinateSystem: 'geo',
  258. zlevel: 6,
  259. },
  260. {
  261. name: 'Top 5',
  262. type: 'effectScatter',
  263. coordinateSystem: 'geo',
  264. data: this.convertData(data.sort(function(a, b) {
  265. return b.InValue - a.InValue;
  266. }).slice(0, 10)),
  267. symbolSize: 20,
  268. showEffectOn: 'render',
  269. rippleEffect: {
  270. brushType: 'stroke'
  271. },
  272. hoverAnimation: true,
  273. label: {
  274. normal: {
  275. formatter: '{b}',
  276. position: 'left',
  277. show: false
  278. }
  279. },
  280. itemStyle: {
  281. normal: {
  282. color: 'yellow',
  283. shadowBlur: 10,
  284. shadowColor: 'yellow'
  285. }
  286. },
  287. zlevel: 1
  288. },
  289. ]
  290. })
  291. // 鼠标放上颜色变红
  292. // myChart.on('mouseover', params => {
  293. // params.color = '#d50000'
  294. // params.event.target.style.fill = '#d50000'
  295. // });
  296. myChart.on('click', params => {
  297. if (params.name === '海南') {
  298. this.props.history.push('/Dashboard/map2')
  299. }
  300. });
  301. }
  302. convertData(data) {
  303. const res = [];
  304. for (let i = 0; i < data.length; i++) {
  305. const geoCoord = geoCoordMap[data[i].name];
  306. if (geoCoord) {
  307. res.push({
  308. name: data[i].name,
  309. value: geoCoord.concat(data[i].area),
  310. area: data[i].area,
  311. type: data[i].type,
  312. InValue: data[i].InValue
  313. });
  314. }
  315. }
  316. return res;
  317. }
  318. render() {//Practicallist,tabVal,
  319. return (
  320. <div className="mainMap">
  321. <div id="mainMap" style={{ width: '100vm', height: '900px' }}></div>
  322. </div>
  323. );
  324. }
  325. }
  326. export default Doublemonitoring;

第四步:效果图奉上

 

 

 

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

闽ICP备14008679号