maps.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <template>
  2. <view
  3. style="
  4. width: 500px;
  5. height: 310px;
  6. position: relative;
  7. top: 170px;
  8. left: -30px;
  9. "
  10. class="map"
  11. >
  12. <!-- -->
  13. <l-echart style="width: 100%; height: 100%" ref="chart"></l-echart>
  14. </view>
  15. </template>
  16. <script>
  17. import * as echarts from "./echarts.min.js";
  18. import china from "./china.json"; // 引入中国地图数据
  19. export default {
  20. data() {
  21. return {
  22. mapData: [
  23. {
  24. name: "新疆维吾尔自治区",
  25. value: 0,
  26. },
  27. {
  28. name: "西藏自治区",
  29. value: 0,
  30. },
  31. {
  32. name: "内蒙古自治区",
  33. value: 0,
  34. },
  35. {
  36. name: "青海省",
  37. value: 0,
  38. },
  39. {
  40. name: "四川省",
  41. value: 0,
  42. },
  43. {
  44. name: "黑龙江省",
  45. value: 0,
  46. },
  47. {
  48. name: "甘肃省",
  49. value: 0,
  50. },
  51. {
  52. name: "云南省",
  53. value: 4,
  54. },
  55. {
  56. name: "广西壮族自治区",
  57. value: 40,
  58. },
  59. {
  60. name: "湖南省",
  61. value: 89,
  62. },
  63. {
  64. name: "陕西省",
  65. value: 40,
  66. },
  67. {
  68. name: "广东省",
  69. value: 54,
  70. },
  71. {
  72. name: "吉林省",
  73. value: 15,
  74. },
  75. {
  76. name: "河北省",
  77. value: 81,
  78. },
  79. {
  80. name: "湖北省",
  81. value: 82,
  82. },
  83. {
  84. name: "贵州省",
  85. value: 32,
  86. },
  87. {
  88. name: "山东省",
  89. value: 11,
  90. },
  91. {
  92. name: "江西省",
  93. value: 64,
  94. },
  95. {
  96. name: "河南省",
  97. value: 38,
  98. },
  99. {
  100. name: "辽宁省",
  101. value: 82,
  102. },
  103. {
  104. name: "山西省",
  105. value: 50,
  106. },
  107. {
  108. name: "安徽省",
  109. value: 45,
  110. },
  111. {
  112. name: "福建省",
  113. value: 76,
  114. },
  115. {
  116. name: "浙江省",
  117. value: 30,
  118. },
  119. {
  120. name: "江苏省",
  121. value: 9,
  122. },
  123. {
  124. name: "重庆市",
  125. value: 91,
  126. },
  127. {
  128. name: "宁夏回族自治区",
  129. value: 17,
  130. },
  131. {
  132. name: "海南省",
  133. value: 27,
  134. },
  135. {
  136. name: "台湾省",
  137. value: 79,
  138. },
  139. {
  140. name: "北京市",
  141. value: 40,
  142. },
  143. {
  144. name: "天津市",
  145. value: 33,
  146. },
  147. {
  148. name: "上海市",
  149. value: 69,
  150. },
  151. {
  152. name: "香港特别行政区",
  153. value: 23,
  154. },
  155. {
  156. name: "澳门特别行政区",
  157. value: 37,
  158. },
  159. ],
  160. };
  161. },
  162. mounted() {
  163. this.$refs.chart.init(echarts, async (chart) => {
  164. chart.showLoading();
  165. // const data = await this.getData();
  166. chart.hideLoading();
  167. console.log("china", china);
  168. echarts.registerMap("China", china); // 注册中国地图
  169. // echarts.registerMap('HK', data);
  170. const option = this.getChartOption();
  171. chart.setOption(option);
  172. });
  173. },
  174. methods: {
  175. getChartOption() {
  176. const option = {
  177. title: {
  178. text: "",
  179. },
  180. tooltip: {
  181. trigger: "item",
  182. // formatter: "{b}<br/>{c} (p / km2)",
  183. },
  184. visualMap: {
  185. min: 0,
  186. left: 100,
  187. max: 300,
  188. show: false,
  189. text: ["High", "Low"],
  190. realtime: false,
  191. calculable: true,
  192. pieces: [
  193. {
  194. gt: 20,
  195. label: "疑似",
  196. color: "yellow",
  197. },
  198. {
  199. lt: 20,
  200. color: "transparent",
  201. },
  202. ],
  203. inRange: {
  204. color: ["transparent", "yellow", "yellow"],
  205. },
  206. },
  207. series: [
  208. {
  209. name: "祈愿人数分布",
  210. type: "map",
  211. map: "China",
  212. // selectedMode: "multiple",
  213. data: this.mapData,
  214. itemStyle: {
  215. normal: {
  216. borderColor: "transparent",
  217. },
  218. },
  219. },
  220. ],
  221. };
  222. console.log("option", option);
  223. return option;
  224. },
  225. },
  226. };
  227. </script>