Vue 中使用Echarts构建3D地球

这篇具有很好参考价值的文章主要介绍了Vue 中使用Echarts构建3D地球。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:要用Echarts实现3D地球 除了 echarts还是远远不够的 ,除了echarts外 我们 还得引用 echarts-gl  jquery 也是需要的 不然会有多次报错

1.收首先在 main.js中分别引入所需的插件,

import ElementUI, { install } from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import * as echarts from 'echarts'
import 'echarts-gl'
import jquery from 'jquery'

Vue.use(ElementUI)
Vue.prototype.$ = jquery
// vue全局注入Echarts
Vue.prototype.$echarts = echarts

此外 除了在main.js中 在相应.vue 中也需要引用

import 'echarts-gl'
import $ from 'jquery' // 引入jQuery
import 'echarts/map/js/world.js' // 必须引入世界地图

使用echarts的3D功能 全局引入Echarts-gl 一般建议装最低版本 不然容易报错,命令安装

 npm install echarts-gl@1.1.0 --save

当效果实现前 还需给一个有宽高的盒子

<div id="main" style="width:100%;height:500px;padding:0px;"></div>

js代码

import 'echarts-gl'
import $ from 'jquery' // 引入jQuery
import 'echarts/map/js/world.js' // 必须引入世界地图
// import * as echarts from 'echarts'
export default {
  name: 'login_new',
  methods: {
    // 绘制3D路径图
    draw () {
      var ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/examples'
      var myChart = this.$echarts.init(document.getElementById('main'))
      // eslint-disable-next-line no-unused-vars
      var option

      var uploadedDataURL = ROOT_PATH + '/data-gl/asset/data/flights.json'
      myChart.showLoading()
      $.getJSON(uploadedDataURL, function (data) {
        myChart.hideLoading()

        function getAirportCoord (idx) {
          return [data.airports[idx][3], data.airports[idx][4]]
        }

        var routes = data.routes.map(function (airline) {
          return [getAirportCoord(airline[1]), getAirportCoord(airline[2])]
        })
        myChart.setOption({
          geo3D: {
            map: 'world',
            shading: 'realistic',
            silent: false, // 鼠标设置为不触发事件
            environment: '#333', // 背景色
            realisticMaterial: {
              roughness: 0.8,
              metalness: 0
            },
            postEffect: {
              enable: true
            },
            groundPlane: {
              show: false
            },
            light: {
              main: {
                intensity: 1,
                alpha: 30
              },
              ambient: {
                intensity: 0
              }
            },
            viewControl: {
              distance: 70, // 地图缩放程度
              alpha: 89, // 地图翻转程度
              panMouseButton: 'left',
              rotateMouseButton: 'right',

              rotateSensitivity: false, // 地图是否能旋转
              zoomSensitivity: false // 地图是否能缩放
            },
            itemStyle: {
              color: '#000' // 地图的颜色
            },
            regionHeight: 0.5 // 地图高度
          },
          series: [
            {
              type: 'lines3D',
              coordinateSystem: 'geo3D',
              effect: { // 特效线的配置
                show: true,
                trailWidth: 1,
                trailOpacity: 0.5,
                trailLength: 0.2,
                constantSpeed: 5 // 特效固定速度
              },
              blendMode: 'lighter',
              lineStyle: { // 特效线
                width: 0.2,
                opacity: 0.05
              },
              data: routes
            }
          ]
        })
        // addEventListener监听事件处理函数
        window.addEventListener('keydown', function () {
          myChart.dispatchAction({
            type: 'lines3DToggleEffect',
            seriesIndex: 0
          })
        })
      })
    }
  },
  mounted () {
    this.draw()
  }
}

注意: 我这是在vue项目中实现的,这样就完成了一个小型的关系图 ;

下面就是效果图了:

import 'echarts-gl,vue.js,echarts

 文章来源地址https://www.toymoban.com/news/detail-522980.html

到了这里,关于Vue 中使用Echarts构建3D地球的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3.0 使用echarts与echarts-gl 实现可旋转,可放大3D饼图

    echarts与echarts-gl 实现3D饼图 实现效果: 旋转效果 缩放效果 实现步骤 1、安装echarts npm install echarts npm install echarts-gl 2、页面定义容器 3、js中引入echarts VUE 组件完整源码:

    2024年04月26日
    浏览(39)
  • Echarts 3d地球实现(Vue框架)

    最近迷上了echarts实现数据可视化了,也确实因为工作需要,目前公司需要我们来在自己的新厂房展厅把自己的产品展示出来,我所在研发部软件组,第一个想到的就是使用echarts来实现一个数据可视化的大屏了,下面就带着大家看看我这段时间使用Echarts来实现一个3D地球的过

    2024年04月25日
    浏览(23)
  • vue3+echarts实现3D地球+飞线

    效果图 1、下载         指令 我的版本: 2、html容器 3、js代码 附加纹理图

    2024年02月04日
    浏览(42)
  • echarts + echarts-gl - 使用geo3d + map3d + scatter3D做3d地图

    一、使用插件 echarts@5.2.2 、 echarts-gl@2.0.8 、 jquery ; jquery 是使用 ajax 加载 json 文件的。 二、准备地图json文件 因为找了一圈,网上的地图 js 文件都需要花钱去购买, json 文件可以在阿里云数据可视化平台下载,下载链接为:免费地图json文件下载 ECharts 提供了两种格式的地图数

    2024年02月16日
    浏览(41)
  • echarts+echarts-gl vue2制作3D地图+下钻功能+标记点功能,解决dblclick事件失效问题,解决地图下钻后边框不更新保留问题

    目录 先看实现效果:​编辑 步骤一 安装echarts和echarts-gl 步骤二  设置地图容器 在methods中设置初始化地图方法并在mounted中调用 在methods中设置初始化地图方法 在mounted中调用 打开页面效果:​编辑  步骤三 1、给地图添加双击事件dblclick 但是也出现了一个问题,和我们预想的

    2023年04月09日
    浏览(41)
  • vue echarts 3D地球和世界地图的实现,并且显示不同国家的数据

    别忘记给#earth元素设置宽高 效果如下图 别忘记给#world元素设置宽高 其中注意点是world.js 下载地址 下载完成以后需要对其进行改变一下,原本是他是放在一个匿名自执行函数里面,直接在vue里面引用会报错,要把他变成 export 对象,代码片段实例 效果如下图 关键点在globe里面

    2024年02月04日
    浏览(49)
  • echarts实现3D地球模式--3D线

    前言:基于echarts实现3D地球自动旋转展示及不同坐标点相互连线 这里主体基于echarts,需引入依赖资源 echarts.min.js,echarts-gl.min.js 效果如下: 代码如下: 依赖资源 HTML CSS JS 贴图奉上 echarts官方文档地址:https://echarts.apache.org/zh/index.html 简单记录如有问题或更优解还请不要吝啬

    2024年02月04日
    浏览(49)
  • Echarts实现3D地球加卫星环绕效果

    通过echarts实现自动旋转3D地球加卫星环绕效果 全部使用 按需使用 代码如下: 卫星环绕效果通过scatter3D实现,将symbolSize设置为0,通过label-textStyle-backgroundColor-image设置卫星图片,代码如下: 卫星伴随地球自转,缺点在于速度与地球相同,暂时未找到更好的替代方法。 完整代

    2024年02月17日
    浏览(39)
  • echarts-gl的type为map3D修改不同区域的颜色和点击事件

    效果图 regions 的数据格式 以下是 地图初始化代码、双击地图和单击高亮 ,方法是封装后的,mapData 的数据格式我放在后面,均有注释 这个是手动区分,就看绿色框框的,feature.properties.num就是各个区人数 mapData 的数据格式

    2024年02月19日
    浏览(42)
  • 如何在echarts的3d地球上以任意一个坐标点为圆心画一个标准的圆形(附代码)

    这是我用echarts做前端开发遇到的问题,似乎echarts没有提供在3d地球坐标面上画圆的方法。  而我的需求是要在地球上画出一个卫星通信的覆盖范围的圆形区域。  (效果展示) 最开始的时候我用网上的公式将经纬度乘系数转化为千米之后直接计算采样半径,然后在圆周中采

    2024年02月03日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包