当前位置:   article > 正文

echarts地图带散点标记_echarts标记地点

echarts标记地点

这里以河南地推为例

1、绘制河南地图 在DATA V里找到河南的位置信息

 复制然后浏览器打开

 然后在页面引用 代码如下 

  1. <script setup lang="ts">
  2. import * as echarts from "echarts";
  3. import { ref, onMounted } from "vue";
  4. import HN from "../src/api/heNan.json"; //地址一定要引入正确
  5. type EChartsOption = echarts.EChartsOption;
  6. onMounted(() => {
  7. let option: EChartsOption;
  8. let mapDom = document.getElementById("map");
  9. let mapChart = echarts.init(mapDom);
  10. //初始化元素
  11. echarts.registerMap("HN", HN as any);
  12. mapChart.setOption(
  13. option = {
  14. tooltip: {
  15. trigger: "item",
  16. formatter: "{b}<br/>{c}",
  17. },
  18. visualMap: {
  19. type: "piecewise",
  20. pieces: [{ color: "red" }],
  21. },
  22. series: [
  23. {
  24. name: "中国",
  25. type: "map",
  26. map: "HN",
  27. label: {
  28. // 省份的名称是否显示
  29. show: true,
  30. // 未选字体颜色
  31. color: "#fff",
  32. // 字体大小
  33. fontSize: 10,
  34. },
  35. data: [],
  36. itemStyle: {
  37. normal: {
  38. borderColor: "rgba(255, 255, 255, 0.4)",
  39. areaColor: "rgba(18,77,178,0.2)",
  40. borderWidth: 1,
  41. // 虚化程度
  42. shadowBlur: 1,
  43. shadowColor: "rgba(189,243,249)",
  44. },
  45. emphasis: {
  46. show: false,
  47. // 每个区域的颜色
  48. // 鼠标滑过颜色
  49. areaColor: "#97EFF4",
  50. // 鼠标滑过边框颜色
  51. shadowColor: "#05EFF7",
  52. // XY轴的偏移量
  53. shadowOffsetX: 5,
  54. shadowOffsetY: 5,
  55. },
  56. },
  57. },
  58. ],
  59. }
  60. );
  61. });
  62. </script>
  63. <template>
  64. <div
  65. class="map"
  66. id="map"
  67. style="height: 55vw; width: 90%; margin-top: 18vw ;background-color: black;"
  68. ></div>
  69. </template>
  70. <style scoped lang="less">
  71. </style>

就得到了一个河南地图

 然后添加三点标记 以标记郑州为例

要进行散点图option中必须要加上geo项  geo map要使用导出的json

  1. geo: {
  2. map: "HN",
  3. // 最好这两个都关掉 否则拖拽和缩放会改变地图三点位置
  4. // show: true,
  5. // roam: true,
  6. label: {
  7. emphasis: {
  8. show: false,
  9. },
  10. },
  11. // 地图的背景色
  12. itemStyle: {
  13. normal: {
  14. areaColor: "rgba(0,0,0,0.5)",
  15. borderColor: "rgba(0,0,0,0.5)",
  16. shadowColor: "rgba(0,0,0,0.5)",
  17. shadowBlur: 30,
  18. },
  19. },
  20. },

series中添加一个type:为 effectScatter 的图表  通过zlevel设置层级 层级大的会在层级小的上面

  1. series: [
  2. {
  3. name: "河南",
  4. type: "map",
  5. map: "HN",
  6. label: {
  7. // 省份的名称是否显示
  8. show: true,
  9. // 未选字体颜色
  10. color: "#fff",
  11. // 字体大小
  12. fontSize: 10,
  13. },
  14. itemStyle: {
  15. normal: {
  16. borderColor: "rgba(255, 255, 255, 0.4)",
  17. areaColor: "rgba(18,77,178,0.2)",
  18. borderWidth: 1,
  19. // 虚化程度
  20. shadowBlur: 1,
  21. shadowColor: "rgba(189,243,249)",
  22. },
  23. emphasis: {
  24. show: false,
  25. // 每个区域的颜色
  26. // 鼠标滑过颜色
  27. areaColor: "#97EFF4",
  28. // 鼠标滑过边框颜色
  29. shadowColor: "#05EFF7",
  30. // XY轴的偏移量
  31. shadowOffsetX: 5,
  32. shadowOffsetY: 5,
  33. },
  34. },
  35. data: [],
  36. zlevel: 0, //层级,层级大的会在层级小的上面
  37. // 选中状态样式
  38. select: {
  39. itemStyle: {
  40. color: "#97EFF4",
  41. },
  42. },
  43. },
  44. // 气泡
  45. {
  46. type: "effectScatter",
  47. coordinateSystem: "geo", //使用地理坐标系
  48. //要有对应的经纬度才显示,先经度再维度
  49. data: [
  50. { name: "1", value: [113.61, 34.75] },
  51. // { name: '2', value: [106.48,38.89] },
  52. // { name: '3', value: [106.38,38.38] },
  53. // { name: '4', value: [106.50,37.37] },
  54. // { name: '5', value: [105.58,36.90] },
  55. ],
  56. showEffectOn: "render", //绘制完成后显示特效
  57. rippleEffect: {
  58. scale: 10, // 波纹的最大缩放比例
  59. brushType: "fill", // 波纹的绘制方式 stroke
  60. },
  61. hoverAnimation: true,
  62. label: {
  63. //图形上的文本标签
  64. show: true,
  65. formatter: "{b}",
  66. position: "right",
  67. fontWeight: 500,
  68. fontSize: 10,
  69. },
  70. //默认样式
  71. itemStyle: {
  72. color: "#CC17FA",
  73. shadowBlur: 10,
  74. shadowColor: "#333",
  75. },
  76. //鼠标移入时样式
  77. emphasis: {
  78. show: false,
  79. // 每个区域的颜色
  80. // 鼠标滑过颜色
  81. areaColor: "#97EFF4",
  82. // 鼠标滑过边框颜色
  83. shadowColor: "#05EFF7",
  84. // XY轴的偏移量
  85. shadowOffsetX: 5,
  86. shadowOffsetY: 5,
  87. },
  88. zlevel: 1,
  89. select: {
  90. itemStyle: {
  91. color: "#FFF",
  92. },
  93. },
  94. },
  95. ],

效果  brushType: "fill", 

 效果  brushType: "stroke",

 

最后附上完整代码  

  1. <script setup lang="ts">
  2. import * as echarts from "echarts";
  3. import { ref, onMounted } from "vue";
  4. import HN from "../src/api/heNan.json";
  5. type EChartsOption = echarts.EChartsOption;
  6. onMounted(() => {
  7. let option: EChartsOption;
  8. let mapDom = document.getElementById("map");
  9. let mapChart = echarts.init(mapDom);
  10. //初始化元素
  11. echarts.registerMap("HN", HN as any);
  12. mapChart.setOption(
  13. (option = {
  14. tooltip: {
  15. trigger: "item",
  16. formatter: "{b}<br/>{c}",
  17. },
  18. visualMap: {
  19. type: "piecewise",
  20. pieces: [{ color: "#43B881" }],
  21. },
  22. geo: {
  23. map: "HN",
  24. // 最好这两个都关掉 否则拖拽和缩放会改变地图三点位置
  25. // show: true,
  26. // roam: true,
  27. label: {
  28. emphasis: {
  29. show: false,
  30. },
  31. },
  32. // 地图的背景色
  33. itemStyle: {
  34. normal: {
  35. areaColor: "rgba(0,0,0,0.5)",
  36. borderColor: "rgba(0,0,0,0.5)",
  37. shadowColor: "rgba(0,0,0,0.5)",
  38. shadowBlur: 30,
  39. },
  40. },
  41. },
  42. series: [
  43. {
  44. name: "河南",
  45. type: "map",
  46. map: "HN",
  47. label: {
  48. // 省份的名称是否显示
  49. show: true,
  50. // 未选字体颜色
  51. color: "#fff",
  52. // 字体大小
  53. fontSize: 10,
  54. },
  55. itemStyle: {
  56. normal: {
  57. borderColor: "rgba(255, 255, 255, 0.4)",
  58. areaColor: "rgba(18,77,178,0.2)",
  59. borderWidth: 1,
  60. // 虚化程度
  61. shadowBlur: 1,
  62. shadowColor: "rgba(189,243,249)",
  63. },
  64. emphasis: {
  65. show: false,
  66. // 每个区域的颜色
  67. // 鼠标滑过颜色
  68. areaColor: "#97EFF4",
  69. // 鼠标滑过边框颜色
  70. shadowColor: "#05EFF7",
  71. // XY轴的偏移量
  72. shadowOffsetX: 5,
  73. shadowOffsetY: 5,
  74. },
  75. },
  76. data: [],
  77. zlevel: 0, //层级,层级大的会在层级小的上面
  78. // 选中状态样式
  79. select: {
  80. itemStyle: {
  81. color: "#97EFF4",
  82. },
  83. },
  84. },
  85. // 气泡
  86. {
  87. type: "effectScatter",
  88. coordinateSystem: "geo", //使用地理坐标系
  89. //要有对应的经纬度才显示,先经度再维度
  90. data: [
  91. { name: "1", value: [113.61, 34.75] },
  92. // { name: '2', value: [106.48,38.89] },
  93. // { name: '3', value: [106.38,38.38] },
  94. // { name: '4', value: [106.50,37.37] },
  95. // { name: '5', value: [105.58,36.90] },
  96. ],
  97. showEffectOn: "render", //绘制完成后显示特效
  98. rippleEffect: {
  99. scale: 10, // 波纹的最大缩放比例
  100. brushType: "fill", // 波纹的绘制方式 stroke
  101. },
  102. hoverAnimation: true,
  103. label: {
  104. //图形上的文本标签
  105. show: true,
  106. formatter: "{b}",
  107. position: "right",
  108. fontWeight: 500,
  109. fontSize: 10,
  110. },
  111. //默认样式
  112. itemStyle: {
  113. color: "#CC17FA",
  114. shadowBlur: 10,
  115. shadowColor: "#333",
  116. },
  117. //鼠标移入时样式
  118. emphasis: {
  119. show: false,
  120. // 每个区域的颜色
  121. // 鼠标滑过颜色
  122. areaColor: "#97EFF4",
  123. // 鼠标滑过边框颜色
  124. shadowColor: "#05EFF7",
  125. // XY轴的偏移量
  126. shadowOffsetX: 5,
  127. shadowOffsetY: 5,
  128. },
  129. zlevel: 1,
  130. select: {
  131. itemStyle: {
  132. color: "#FFF",
  133. },
  134. },
  135. },
  136. ],
  137. })
  138. );
  139. });
  140. </script>
  141. <template>
  142. <div
  143. class="map"
  144. id="map"
  145. style="height: 55vw; width: 90%; margin-top: 18vw; background-color: black"
  146. ></div>
  147. </template>
  148. <style scoped lang="less"></style>

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

闽ICP备14008679号