当前位置:   article > 正文

vue-使用echarts+echarts-gl实现某个省份地区地图3d可视化_echarts 3d地图

echarts 3d地图

前言

  • 最近在开发中遇到一个需求,需要把一个地区地图变成3d感觉悬浮在大屏中间配合业务需求

  • 其实echarts配合三方库就可以实现这个效果,具体细节需要自己调整

代码实现

1.下载各省份各地区地图数据-json文件-根据需求下载对应地图json数据引入即可

最新全国地图JSON数据: 数据来源:阿里云数据可视化平台 - Gitee.com

2.安装echarts和echarts-gl插件:
  1. npm install echarts
  2. npm install echarts-gl
3.代码实现-直接复制-注意下包和引入进来json地图数据需要对应起来
  1. <template>
  2. <div class="app-container">
  3.   <div ref="myMap" style="width: 100%; height: 100%"></div>
  4. </div>
  5. </template>
  6. <script>
  7. import * as echarts from 'echarts'
  8. import 'echarts-gl'
  9. export default {
  10. name: 'Index',
  11. data () {
  12.   return {}
  13. },
  14. mounted () {
  15.   this.initMap()
  16. },
  17. methods: {
  18.   initMap () {
  19.     // json地图数据-需要根据需求下载引入对应名称文件
  20.     let mapJson = require('../views/dashboard/hubei.json')
  21.     let myChart = echarts.init(this.$refs.myMap)
  22.     myChart.showLoading()
  23.     myChart.hideLoading()
  24.     echarts.registerMap('myMap', mapJson)
  25.     var option = {
  26.       tooltip: {
  27.         // 自定义代码
  28.       },
  29.       series: [
  30.         {
  31.           type: 'map3D',
  32.           name: '地图',
  33.           // 相对于父容器比例
  34.           center: ['50%', '50%'],
  35.           selectedMode: 'single', // 地图高亮单选
  36.           regionHeight: 4, // 地图高度
  37.           map: 'myMap',
  38.           viewControl: {
  39.             // 缩放大小,数值越大,地图越小
  40.             distance: 120,
  41.             // 上下倾斜角度
  42.             alpha: 50,
  43.             // rotateSensitivity: [1, 1],
  44.             // 左右倾斜角度
  45.             beta: -30
  46.           },
  47.           label: {
  48.             show: true, // 是否显示名字
  49.             color: '#fff', // 文字颜色
  50.             fontSize: 18, // 文字大小
  51.             fontWeight: 'bold' // 文字大小
  52.           },
  53.           itemStyle: {
  54.             color: '#4389ED', // 地图背景颜色
  55.             borderWidth: 1, // 分界线wdith
  56.             borderColor: '#61CFF8', // 分界线颜色
  57.             opacity: 0.92
  58.           },
  59.           emphasis: {
  60.             label: {
  61.               show: true, // 是否显示高亮
  62.               textStyle: {
  63.                 color: '#fff' // 高亮文字颜色
  64.               }
  65.             },
  66.             itemStyle: {
  67.               color: '#007EE8', // 地图高亮颜色
  68.               borderWidth: 10, // 分界线wdith
  69.               borderColor: '#6BECF5' // 分界线颜色
  70.             }
  71.           },
  72.           light: {
  73.             main: {
  74.               color: '#fff',
  75.               intensity: 1,
  76.               shadow: true,
  77.               shadowQuality: 'high',
  78.               alpha: 25, //
  79.               beta: 20
  80.             },
  81.             ambient: {
  82.               color: '#fff',
  83.               intensity: 0.6
  84.             }
  85.           }
  86.         }
  87.       ]
  88.     }
  89.     myChart.setOption(option)
  90.     window.addEventListener('resize', function () {
  91.       console.log('myChart.resize()', myChart.resize())
  92.       myChart.resize()
  93.     })
  94.   }
  95. }
  96. }
  97. </script>
  98. <style lang="scss" scoped>
  99. .app-container {
  100. width: 100%;
  101. height: 795px;
  102. // background: skyblue;
  103. }
  104. </style>


总结:

经过这一趟流程下来相信你也对 vue-使用echarts+echarts-gl实现某个省份地区地图3d可视化 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

有什么不足的地方请大家指出谢谢 -- 風过无痕

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

闽ICP备14008679号