map.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <template>
  2. <view style="height: 750rpx">
  3. <l-echart ref="chart"></l-echart>
  4. </view>
  5. </template>
  6. <script>
  7. import * as echarts from "./echarts.min.js";
  8. export default {
  9. data() {
  10. return {
  11. }
  12. },
  13. mounted() {
  14. this.$refs.chart.init(echarts,async chart => {
  15. chart.showLoading()
  16. const data = await this.getData()
  17. chart.hideLoading()
  18. echarts.registerMap('HK', data);
  19. const option = {
  20. title: {
  21. text: 'Population Density of Hong Kong (2011)',
  22. sublink:
  23. 'http://zh.wikipedia.org/wiki/%E9%A6%99%E6%B8%AF%E8%A1%8C%E6%94%BF%E5%8D%80%E5%8A%83#cite_note-12'
  24. },
  25. tooltip: {
  26. trigger: 'item',
  27. formatter: '{b}<br/>{c} (p / km2)'
  28. },
  29. visualMap: {
  30. min: 800,
  31. max: 50000,
  32. text: ['High', 'Low'],
  33. realtime: false,
  34. calculable: true,
  35. inRange: {
  36. color: ['lightskyblue', 'yellow', 'orangered']
  37. }
  38. },
  39. series: [
  40. {
  41. name: '香港18区人口密度',
  42. type: 'map',
  43. map: 'HK',
  44. label: {
  45. show: true
  46. },
  47. data: [
  48. { name: '中西区', value: 20057.34 },
  49. { name: '湾仔', value: 15477.48 },
  50. { name: '东区', value: 31686.1 },
  51. { name: '南区', value: 6992.6 },
  52. { name: '油尖旺', value: 44045.49 },
  53. { name: '深水埗', value: 40689.64 },
  54. { name: '九龙城', value: 37659.78 },
  55. { name: '黄大仙', value: 45180.97 },
  56. { name: '观塘', value: 55204.26 },
  57. { name: '葵青', value: 21900.9 },
  58. { name: '荃湾', value: 4918.26 },
  59. { name: '屯门', value: 5881.84 },
  60. { name: '元朗', value: 4178.01 },
  61. { name: '北区', value: 2227.92 },
  62. { name: '大埔', value: 2180.98 },
  63. { name: '沙田', value: 9172.94 },
  64. { name: '西贡', value: 3368 },
  65. { name: '离岛', value: 806.98 }
  66. ],
  67. // 自定义名称映射
  68. nameMap: {
  69. 'Central and Western': '中西区',
  70. Eastern: '东区',
  71. Islands: '离岛',
  72. 'Kowloon City': '九龙城',
  73. 'Kwai Tsing': '葵青',
  74. 'Kwun Tong': '观塘',
  75. North: '北区',
  76. 'Sai Kung': '西贡',
  77. 'Sha Tin': '沙田',
  78. 'Sham Shui Po': '深水埗',
  79. Southern: '南区',
  80. 'Tai Po': '大埔',
  81. 'Tsuen Wan': '荃湾',
  82. 'Tuen Mun': '屯门',
  83. 'Wan Chai': '湾仔',
  84. 'Wong Tai Sin': '黄大仙',
  85. 'Yau Tsim Mong': '油尖旺',
  86. 'Yuen Long': '元朗'
  87. }
  88. }
  89. ]
  90. }
  91. chart.setOption(option);
  92. })
  93. },
  94. methods: {
  95. getData() {
  96. return new Promise(resolve => {
  97. uni.request({
  98. url: 'https://fastly.jsdelivr.net/gh/apache/echarts-website@asf-site/examples/data/asset/geo/HK.json',
  99. success(res) {
  100. setTimeout(() => {
  101. resolve(res.data);
  102. }, 2000)
  103. }
  104. });
  105. });
  106. }
  107. }
  108. }
  109. </script>