使用echarts-gl 绘制3D地球配置详解

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

大屏可视化绘制关联配置绘制3D地球

为 ECharts 准备一个定义了宽高的 DOM

 <div :id="'container' + attrs.id" :style="
        'width:' + (attrs.width) + 'px;'
        + 'height:' + (attrs.height) + 'px;' + 'z-index:1;'">
</div>

实例化

        //初始化地图
        async initEcharts() {
            this.chart = echarts.init(document.getElementById('container' + this.attrs.id))

            //构建填充option
            this.buildOption()

            this.chart.setOption(this.option)
        },

指定图表的配置项和数据文章来源地址https://www.toymoban.com/news/detail-510929.html

        buildOption() {
            let style = this.attrs.style
            this.option = {
                backgroundColor: style.backgroundColor,
                globe: {
                    // show: false,
                    globeRadius: style.globeRadius, // 地球的半径
                    globeOuterRadius: style.globeOuterRadius, // 地球的外半径
                    baseTexture: style.heightTextureSrcEnable ? (style.heightTextureSrc ? this.heightTextureSrc : require("../zImage/gl/world.topo.bathy.200401.jpg")) : '',  //  背景图  地球的纹理
                    heightTexture: style.heightTextureSrcEnable ? (style.heightTextureSrc ? this.heightTextureSrc : require("../zImage/gl/world.topo.bathy.200401.jpg")) : '', // 背景图凹凸贴图  地球的高度纹理
                    displacementScale: style.displacementScale, // 地球顶点位移的大小
                    displacementQuality: style.displacementQuality, //地球顶点位移的质量。支持设置成 'low', 'medium', 'high', 'ultra'
                    shading: style.shading, //地球中三维图形的着色效果  color  lambert  realistic
                    environment: style.environmentEnable ? (style.environmentSrc ? this.environmentSrc : require("../zImage/gl/Milkyway/Milkyway_BG.jpg")) : '', // 环境贴图
                    realisticMaterial: {
                        roughness: style.realisticMaterialRoughness, // 粗糙度
                    },
                    // 后处理特效的相关配置
                    postEffect: {
                        enable: style.postEffectEnable, // 是否开启后处理特效
                        // 高光特效
                        bloom: {
                            enable: style.postEffectBloomEnable,
                            bloomIntensity: style.postEffectBloomBloomIntensity,
                        },
                        // 景深效果
                        depthOfField: {
                            enable: style.depthOfFieldEnable,
                            focalDistance: style.depthOfFieldFocalDistance, // 初始的焦距
                            focalRange: style.depthOfFieldFocalRange, //完全聚焦的区域范围
                            fstop: style.depthOfFstop,  //镜头的F值,值越小景深越浅。
                            blurRadius: style.depthOfBlurRadius,  // 模糊半径
                        },
                        SSAO: {
                            enable: style.SSAOEnable,
                            quality: style.SSAOQuality, // 环境光遮蔽的质量
                            radius: style.SSAORadius, // 采样半径
                            intensity: style.SSAOIntensity, // 环境光遮蔽的强度  值越大颜色越深
                        }
                    },
                    // 光照相关的设置  shading 为 'color' 的时候无效
                    light: {
                        // 主光源
                        main: {
                            color: style.lightMainColor, // 主光源的颜色
                            intensity: style.lightMainIntensity, // 主光源的强度
                            shadow: style.lightMainShadow, // 主光源是否投射阴影
                            shadowQuality: style.lightMainShadowQuality, // 阴影质量

                        },
                        ambient: {
                            color: style.lightAmbientColor,// 环境光的颜色
                            intensity: style.lightAmbientIntensity, // 环境光的强度
                        },
                    },
                    // 地球外部大气层相关设置
                    atmosphere: {
                        show: style.atmosphereShow, // 是否显示外部大气层
                        color: style.atmosphereColor,
                        glowPower: style.atmosphereGlowPower, // 外部大气层发光功率
                        innerGlowPower: style.atmosphereInnerGlowPower, // 外部大气层内发光功率
                    },
                    // 鼠标的旋转,缩放等视角控制
                    viewControl: {
                        projection: style.viewControlProjection, // 投影方式,默认为透视投影'perspective',也支持设置为正交投影'orthographic'
                        autoRotate: style.viewControlAutoRotate, // 是否开启视角绕物体的自动旋转查看。
                        autoRotateDirection: style.viewControlAutoRotateDirection, // 物体自转的方向 'cw'顺时针方向 'ccw'逆时针方向
                        autoRotateSpeed: style.viewControlAutoRotateSpeed, // 物体自转的速度  单位为角度 / 秒,默认为10 ,也就是36秒转一圈
                        autoRotateAfterStill: style.viewControlAutoRotateAfterStill, // 在鼠标静止操作后恢复自动旋转的时间间隔
                        zoomSensitivity: style.viewControlZoomSensitivity, // 鼠标灵敏度
                        distance: style.viewControlDistance, // 默认视角距离主体的距离
                        minDistance: style.viewControlMinDistance, // 鼠标控制能拉近到主体的最小距离
                        maxDistance: style.viewControlMaxDistance, // 鼠标控制能拉远到主体的最大距离
                    },
                },
                series: [
                    {
                        type: 'lines3D',
                        coordinateSystem: 'globe',
                        blendMode: style.blendMode,  // 'lighter'是叠加模式  'source-over'是通过 alpha 混合
                        // 飞线尾迹特效
                        effect: {
                            show: style.effectShow,
                            period: style.effectPeriod, // 尾迹周期 
                            constantSpeed: style.effectConstantSpeed, // 轨迹特效的移动动画是否是固定速度
                            trailWidth: style.effectTrailWidth, //尾迹的宽度。
                            trailLength: style.effectTrailLength, // 尾迹的长度,范围从 0 到 1,为线条长度的百分比
                            trailColor: style.effectTrailColor,  //尾迹的颜色
                            trailOpacity: style.effectTrailOpacity, // 尾迹的不透明度
                            // symbol: 'path://"M61.3,2c6.2,0,12.1,1.1,17.5,3.4C84.3,7.7,89,10.8,93,14.6c4.1,4,7.3,8.6,9.7,13.8c2.4,5.2,3.5,10.9,3.5,16.9c0,8.1-2.4,16.9-7.1,26.4c-4.7,9.4-9.9,18.2-15.5,26.2c-5.6,8-13.1,17.4-22.4,28.1c-9.3-10.7-16.8-20-22.4-28.1c-5.6-8-10.8-16.8-15.5-26.2c-4.7-9.4-7.1-18.2-7.1-26.4c0-6,1.2-11.6,3.5-16.9c2.4-5.2,5.6-9.8,9.7-13.8c4-3.9,8.8-7,14.2-9.2C49.2,3.1,55,2,61.3,2L61.3,2z"',
                            symbol: "arrow", //箭头图标
                            symbolSize: 10, //图标大小
                        },
                        lineStyle: {
                            width: style.lineStyleWidth,
                            color: style.lineStyleColor,
                            opacity: style.lineStyleOpacity,// 线条的不透明度
                        },
                        data: [
              [
                [-75.440806, 40.652083],
                [80.943139, 35.214],
              ],
              [
                [86.02, 37.77],
                [-109.09, 41.82],
              ],
              [
                [90.24, 35.23],
                [-61.63, -21.06],
              ],
              [
                [113.62, 25.23],
                [91.82, 36.79],
              ],
              [
                [112.57, 25.39],
                [149.66, -29.17],
              ],
              [
                [24.5, -18.41],
                [113.97, 32.01],
              ],
              [
                [-9.43, 15.18],
                [-66.2, 1.48],
              ],
            ],
                    },
                ],
            };

        },

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

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

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

相关文章

  • 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日
    浏览(27)
  • echarts-gl的type为map3D修改不同区域的颜色和点击事件

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

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

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

    2023年04月09日
    浏览(31)
  • Vue 中使用Echarts构建3D地球

    一:要用Echarts实现3D地球 除了 echarts还是远远不够的 ,除了echarts外 我们 还得引用 echarts-gl  jquery 也是需要的 不然会有多次报错 1.收首先在 main.js中分别引入所需的插件, 此外 除了在main.js中 在相应.vue 中也需要引用 使用echarts的3D功能 全局引入Echarts-gl 一般建议装最低版本

    2024年02月12日
    浏览(27)
  • 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日
    浏览(41)
  • 【echarts】使用 ECharts 绘制3D饼图

    在数据可视化中,饼图是表达数据占比信息的常见方式。ECharts 作为一个强大的数据可视化库,除了标准的二维饼图,也支持更加生动的三维饼图绘制。本文将指导你如何使用 ECharts 来创建一个3D饼图,提升你的数据展示效果。 在 ECharts 中,3D 饼图主要是通过 surface 类型的图

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

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

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

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

    2024年02月17日
    浏览(31)
  • vue3+echarts实现3D地球+飞线

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

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

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

    2024年02月04日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包