1. <template>
  2. <div class="managingPatientSize">
  3. <div id="china-map"></div>
  4. </div>
  5. </template>
  6. <script>
  7. import geoJson from 'echarts/map/json/china.json'
  8. import * as echarts from 'echarts';
  9. echarts.registerMap('china', geoJson)
  10. export default {
  11. name: 'ChinaMap',
  12. data() {
  13. return {
  14. }
  15. },
  16. methods: {
  17. drawCharts() {
  18. var nameMap = 'china';
  19. // 0表示未开发,1表示开发中
  20. var data = [
  21. { name: '北京', value: 1290 },
  22. { name: '天津', value: 42 },
  23. { name: '河北', value: 1 },
  24. { name: '山西', value: 0 },
  25. { name: '内蒙古', value: 0 },
  26. { name: '辽宁', value: 0 },
  27. { name: '吉林', value: 0 },
  28. { name: '黑龙江', value: 0 },
  29. { name: '上海', value: 1129 },
  30. { name: '江苏', value: 399 },
  31. { name: '浙江', value: 102 },
  32. { name: '安徽', value: 1 },
  33. { name: '福建', value: 299 },
  34. { name: '江西', value: 302 },
  35. { name: '山东', value: 1 },
  36. { name: '河南', value: 1 },
  37. { name: '湖北', value: 998 },
  38. { name: '湖南', value: 480 },
  39. { name: '重庆', value: 1580 },
  40. { name: '四川', value: 372 },
  41. { name: '贵州', value: 69 },
  42. { name: '云南', value: 695 },
  43. { name: '西藏', value: 0 },
  44. { name: '陕西', value: 1 },
  45. { name: '甘肃', value: 56 },
  46. { name: '青海', value: 10 },
  47. { name: '宁夏', value: 1 },
  48. { name: '新疆', value: 0 },
  49. { name: '广东', value: 1988 },
  50. { name: '广西', value: 1860 },
  51. { name: '海南', value: 14 },
  52. { name: '香港', value: 879 },
  53. { name: '澳门', value: 209 },
  54. { name: '台湾', value: 0 },
  55. ];
  56. var geoCoordMap = {};
  57. var convertData = function (data) {
  58. var res = [];
  59. for (var i = 0; i < data.length; i++) {
  60. var geoCoord = geoCoordMap[data[i].name];
  61. if (geoCoord) {
  62. res.push({
  63. name: data[i].name,
  64. value: geoCoord.concat(data[i].value),
  65. });
  66. }
  67. }
  68. return res;
  69. };
  70. // 基于准备好的dom,初始化echarts实例
  71. let myChart = echarts.init(document.getElementById("china-map"));
  72. /*获取地图数据*/
  73. var mapFeatures = echarts.getMap(nameMap).geoJson.features;
  74. myChart.hideLoading();
  75. // 这里很关键
  76. mapFeatures.forEach(function (v) {
  77. console.log(v)
  78. // 地区名称
  79. var name = v.properties.name;
  80. // 地区经纬度
  81. geoCoordMap[name] = v.properties.cp;
  82. });
  83. let option = {
  84. backgroundColor: '#0F1C3C',
  85. title: [
  86. {
  87. top: '31.5%',
  88. text: '月规模',
  89. // subtext: '虚拟数据',
  90. left: '105',
  91. show: true,
  92. textStyle: {
  93. color: '#fff',
  94. },
  95. },
  96. ],
  97. tooltip: {
  98. position: function (p) {
  99. //其中p为当前鼠标的位置
  100. return [p[0] + 10, p[1] - 10];
  101. },
  102. extraCssText: 'max-height:40px;',
  103. triggerOn: 'mousemove|click',
  104. formatter: function (e, t, n) {
  105. if (typeof e.value[2] == 'undefined') {
  106. if (e.value == '0') {
  107. return e.name + ":<span style='color: #999;'>未开发</span>";
  108. } else if (e.value == '1') {
  109. return e.name + ":<span style='color: blue;'>开发中</span>";
  110. } else {
  111. return e.name + ":<span style='color: red;'>" + e.value + '</span> 万';
  112. }
  113. }
  114. //有数量时,显示城市和当前城市所做项目数
  115. else {
  116. return e.name + ":<span style='color: red;'>" + e.value[2] + '</span> 万'; //params.value[2] 取出value值中的第三个值 前两个值是经纬度,第三个值是数量
  117. }
  118. },
  119. },
  120. visualMap: [
  121. {
  122. left: 90,
  123. bottom: '20%',
  124. min: 0,
  125. max: 1000,
  126. show: true,
  127. // text: ['High', 'Low'],
  128. realtime: false,
  129. calculable: false,
  130. seriesIndex: [0],
  131. orient: 'horizontal',
  132. textStyle: {
  133. color: 'rgba(175,224,254,.9)',
  134. },
  135. pieces: [
  136. {
  137. gt: 3,
  138. label: '已开发',
  139. color: '#134B1C',
  140. },
  141. {
  142. gte: 1,
  143. lte: 1,
  144. label: '开发中',
  145. color: '#4A4003',
  146. },
  147. {
  148. gte: 0,
  149. lte: 0,
  150. label: '未开发',
  151. color: '#00336C',
  152. },
  153. ],
  154. },
  155. {
  156. left: 90,
  157. // top: this.chinaBox / 2 + 52,
  158. top: '30%',
  159. min: 0,
  160. max: 1000,
  161. seriesIndex: 1,
  162. show: true,
  163. splitNumber: 4,
  164. padding: [50, 20, 20, 20],
  165. backgroundColor: 'rgba(255,255,255,.2)',
  166. textStyle: {
  167. color: 'rgba(175,224,254,.9)',
  168. },
  169. inRange: {
  170. // color: ['#8B77FF', '#4FCCFF', '#6FE621', '#FFC760', '#FB497C'].reverse(),
  171. symbolSize: [8, 15],
  172. symbol: 'circle',
  173. },
  174. formatter: function (value) {
  175. return '';
  176. },
  177. pieces: [
  178. {
  179. gt: 1000,
  180. label: '1000万以上',
  181. color: '#fff',
  182. },
  183. {
  184. gte: 500,
  185. lte: 1000,
  186. label: '500-1000万',
  187. color: '#FFC760',
  188. },
  189. {
  190. gte: 300,
  191. lt: 500,
  192. label: '300-500万',
  193. color: '#6FE621',
  194. },
  195. {
  196. gt: 100,
  197. lt: 300,
  198. label: '100-300万',
  199. color: '#4FCCFF',
  200. },
  201. {
  202. lt: 100,
  203. gt: 3,
  204. label: '100万以下',
  205. color: '#DAB2FF',
  206. },
  207. ],
  208. },
  209. ],
  210. geo: {
  211. // 背景地图
  212. map: nameMap,
  213. zoom: 1.2,
  214. show: false, // 是否显示背景地图
  215. roam: true,
  216. label: {
  217. normal: {
  218. show: false,
  219. },
  220. emphasis: {
  221. show: false,
  222. },
  223. },
  224. // 默认背景
  225. itemStyle: {
  226. normal: {
  227. areaColor: '#032954',
  228. borderColor: '#0C6075',
  229. }
  230. }
  231. },
  232. series: [
  233. {
  234. // 地图块的相关信息
  235. type: 'map',
  236. map: nameMap,
  237. zoom: 1.2,
  238. label: {
  239. normal: {
  240. show: true,
  241. textStyle: {
  242. fontSize: 12,
  243. fontWeight: 400,
  244. color: 'rgb(255,255,255)',
  245. },
  246. },
  247. // 文字hover颜色
  248. emphasis: {
  249. show: true, //是否在高亮状态下显示标签。
  250. textStyle: {
  251. color: '#ff0',
  252. }, //高亮状态下的标签文本样式。
  253. },
  254. },
  255. itemStyle: {
  256. // 地图边框设置
  257. normal: {
  258. // areaColor: '#272235',
  259. // borderColor: 'rgba(175,224,254,.4)',
  260. // fontWeightL: 700,
  261. // borderWidth: 0.5,
  262. color: function (params) {
  263. return '#00ff00'
  264. }
  265. },
  266. // hover效果
  267. emphasis: {
  268. areaColor: {
  269. type: 'linear',
  270. x: 0,
  271. y: 0,
  272. x2: 0,
  273. y2: 1,
  274. colorStops: [
  275. {
  276. offset: 0,
  277. color: '#00499B', // 0% 处的颜色
  278. },
  279. {
  280. offset: 1,
  281. color: '#00499B', // 100% 处的颜色
  282. },
  283. ],
  284. globalCoord: false, // 缺省为 false
  285. },
  286. }
  287. },
  288. // 点击效果
  289. select: {
  290. itemStyle: {
  291. areaColor: '#ccb32c',
  292. },
  293. },
  294. data: data,
  295. },
  296. {
  297. // 水波纹
  298. type: 'effectScatter',
  299. coordinateSystem: 'geo',
  300. data: convertData(
  301. data
  302. .sort(function (a, b) {
  303. return b.value - a.value;
  304. })
  305. .slice(0, 50)
  306. ),
  307. // symbolSize: function (val) {
  308. // return val[2] / 6;
  309. // },
  310. showEffectOn: 'render',
  311. // symbolOffset: [-10, 10], //偏移
  312. rippleEffect: {
  313. period: 10, // 动画时间,值越小速度越快
  314. scale: 4, // 波纹圆环最大限制,值越大波纹越大
  315. brushType: 'fill', // 波纹绘制方式 stroke, fill
  316. },
  317. zlevel: 2,
  318. },
  319. ],
  320. };
  321. myChart.setOption(option, true);
  322. },
  323. },
  324. mounted() {
  325. this.drawCharts();
  326. }
  327. }
  328. </script>
  329. <style scoped>
  330. #china-map {
  331. width: 1000px;
  332. height: 600px;
  333. }
  334. </style>

echarts显示地图的更多相关文章

  1. 基于ECharts 的地图例子

      最近的一个项目要用到显示地图,本来用jq做了一个,但由于客户不满意(确实自己弄的样式效果都不是太理想),于是就上网搜了搜,最后决定基于百度的ECharts来弄地图 本来自己js基础不是很扎实,EC ...

  2. 数据视化Echarts+百度地图API实现市县区级下钻

    开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是 ...

  3. echarts的地图省份颜色自适应变化

    在使用echarts的地图的时候省份的颜色可能随着数据的多少显示不同的颜色,但是当后台返回的数据的变化较大时可能就不好控制了,所以需要设置根据后台的数据进行自适应 将后台返回的数据中的value放入一 ...

  4. 几个不错的echarts +百度地图 案例

    https://echarts.baidu.com/examples/editor.html?c=map-polygon https://echarts.baidu.com/examples/edit ...

  5. ECharts 实现地图散点图上(转载)

    转载来源:https://efe.baidu.com/blog/echarts-map-tutorial/ ECharts 实现地图散点图(上)  小红  2016-04-28  ECharts, 教 ...

  6. react项目结合echarts,百度地图实现热力图

    一.最近在一个react项目(antd pro)中需要展示一个热力地图.需求是: 1.热力地图可缩放: 2.鼠标点击可以展示该点地理坐标,及热力值. 3.初始化时候自适应展示所有的热力点. 4.展示热 ...

  7. echarts map 地图在react项目中的使用

    需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...

  8. echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新

    目录 ECharts Map地图的显示 GeoJSON数据文件获取 在ECharts中绘制浙江省的数据 ECharts Map地图的显示 ECharts支持地理坐标显示,专门提供了一个geo组件,在s ...

  9. Google Maps API显示地图的小示例

    来源:http://www.ido321.com/1089.html 效果(新版Firefox中测试): 代码: <!DOCTYPE> <html> <head> ...

  10. Swift - 使用MapKit显示地图,并在地图上做标记

    通过使用MapKit可以将地图嵌入到视图中,MapKit框架除了可以显示地图,还支持在地图上做标记. 1,通过mapType属性,可以设置地图的显示类型 MKMapType.Standard :标准地 ...

随机推荐

  1. 实践GoF的设计模式:单例模式

    摘要:单例模式虽然简单易用,但也是最容易被滥用的设计模式.它并不是"银弹",在实际使用时,还需根据具体的业务场景谨慎使用. 本文分享自华为云社区<[Go实现]实践GoF的23 ...

  2. 云小课 | 使用ROMA API,API管理从此不用愁!

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:ROMA API致 ...

  3. 通过windows自带管理工具、系统命令行、快捷键等快速操作

    windows自带管理工具 我们win+R 输入一些命令,可以快速打开一些界面,比如: sysdm.cpl win10.win11 我电脑,属性与之前win7不同了,我希望打开之前的属性打不开了 通过 ...

  4. TeamX 引擎的高并发能力测试

    TeamX,是基于 SolonJT 引擎构建的一个团队协工具.主要功能有: Wiki(团队词条,用于写接口文档也行...) Planned(项目计划 和 个人日志) 比较兄弟产品,区别会很大:基于表格 ...

  5. SrpingBoot 集成 xxl-job 部署在 Docker 上碰到的坑

    如果不指定 xxl.job.executor.ip,默认会用 Docker 的IP,注册到 xxl-job 里面,这时候无法回调 如果xxl.job.executor.ip.xxl.job.execu ...

  6. JAVA性能优化- IntelliJ插件:java内存分析工具(JProfiler)

    JProfiler(Java性能分析神器) v11.1.4 下载 安装目录不要有空格 安装成功后,在 Intellij 里面选择对应的 jprofiler.exe 路径 点击下图JProfiler图标 ...

  7. Redis 数据一致性

    概述 当我们在使用缓存时,如果发生数据变更,那么你需要同时操作缓存和数据库,而它们两个又分属不同的系统,因此无法做到同时操作成功或失败,因此在并发读写下很可能出现缓存与数据库数据不一致的情况 理论上可 ...

  8. python指定大小文件生成

    使用特定大小的随机数生成,使用随机数生成器生成特定大小的字节,并将其写入文件中 import os def generate_file(file_path, file_size_bytes): wit ...

  9. Maven 命令安装指定 jar 包到本地仓库

    Maven 命令安装指定jar包到本地仓库: mvn install:install-file -Dfile=D:\Java\maven-repository\com\huawei\convert-p ...

  10. JSP | 常见 JSP 简答题

    一.简述 JSP 的工作原理 当我们访问一个JSP页面的时候,这个文件首先会被JSP引擎翻译为一个Java源文件,其实就是一个Servlet,并进行编译,然后像其他Servlet一样,由Servlet ...