echarts实现3D地球模式--3D线

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

前言:基于echarts实现3D地球自动旋转展示及不同坐标点相互连线

这里主体基于echarts,需引入依赖资源 echarts.min.js,echarts-gl.min.js

效果如下:
echarts实现3D地球模式--3D线,echarts,3d

代码如下:

依赖资源

  <script src="./echarts.min.js"></script>
  <script src="./echarts-gl.min.js"></script>

HTML

	<div id="earth" style="width: 100%; height: 100%"></div>

CSS

	* {
		margin: 0;
		padding: 0;
	}
	html,
	body {
		height: 100%;
		width: 100%;
	}

JS

	const dom = document.getElementById("earth")
    let myChart = echarts.init(dom);
    let baseTexture = null
    let option = null
    let geoJson = []

    // 绘制球体
    const drawEarth = () => {
      option = {
        backgroundColor: "#013954",
        tooltip: {
          trigger: "item",
        },
        globe: {
          baseTexture: "img2.jpg", //地球的纹理
          heightTexture: "img2.jpg", //地图的高度纹理
          displacementScale: 0, //地球顶点位移的大小
          shading: 'realistic', //着色效果,真实感渲染
          realisticMaterial: { //真实感渲染配置
            roughness: 1 //材质的粗糙度
          },
          postEffect: { //后处理特效配置
            enable: true
          },
          globeRadius: 150,
          environment: "#000",
          shading: "color",
          light: {
            // 光照阴影
            main: {
              color: "#fff", // 光照颜色
              intensity: 1, // 光照强度
              //shadowQuality: "high", //阴影亮度
              //shadow: true, // 是否显示阴影
              alpha: 40,
              beta: -30,
            },
            ambient: {
              color: "#fff",
              intensity: 1,
            },
          },
          viewControl: {
            alpha: 30,
            beta: 160,
            autoRotate: true,
            autoRotateAfterStill: 10,
            distance: 240,
          },
        },
        series: [{
          name: "lines3D",
          type: "lines3D",
          coordinateSystem: "globe",
          effect: {
            show: true,
          },
          blendMode: "lighter",
          lineStyle: {
            width: 2,
          },
          data: [],
          silent: false,
        }, ],
      };
      // 随机数据 i控制线数量
      for (let i = 0; i < 30; i++) {
        option.series[0].data = option.series[0].data.concat(randomData());
      }
      myChart.setOption(option, true);
    }

    // 随机生成起始及终点经纬度坐标
    const randomData = () => {
      let name = "随机点" + Math.random().toFixed(5) * 100000;
      // 起点经纬度-北京
      let longitude = 116.2,
        latitude = 39.56;
      // 随机终点经纬度
      let longitude2 = Math.random() * 360 - 180;
      let latitude2 = Math.random() * 180 - 90;
      return {
        coords: [
          [longitude, latitude],
          [longitude2, latitude2],
        ],
        value: (Math.random() * 3000).toFixed(2),
      };
    }

    // 初始化入口
    drawEarth()

贴图奉上

echarts实现3D地球模式--3D线,echarts,3d

echarts官方文档地址:https://echarts.apache.org/zh/index.html

简单记录如有问题或更优解还请不要吝啬的分享出来,此结。文章来源地址https://www.toymoban.com/news/detail-758189.html

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

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

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

相关文章

  • Vue 中使用Echarts构建3D地球

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

    2024年02月12日
    浏览(35)
  • 使用echarts-gl 绘制3D地球配置详解

    大屏可视化绘制关联配置绘制3D地球 为 ECharts 准备一个定义了宽高的 DOM 实例化 指定图表的配置项和数据

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

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

    2024年02月03日
    浏览(36)
  • Threejs实现3d地球记录(4)

    Three.js基础曲线函数有三种: 样条曲线:在三维空间中设置5个顶点,输入三维样条曲线CatmullRomCurve3函数作为参数,然后返回更多个顶点,通过返回的顶点数据,构建一个几何体,然后绘制出来一条沿着5个顶点的光滑样条曲线。 三维三次贝赛尔曲线: 由起点、终点、及两个

    2024年02月02日
    浏览(41)
  • 3d地球散点图加路径lines3D的实现,带有散点即路径的立体地球

    效果图:  安装 npm install echarts echarts-gl 代码  问题 散点图使用的是scatter3D,可以看到文字不是贴合在地球表面,某些角度文字会被遮挡(对此没有要求的话,到这里就行了)。尝试了几种方案最终解决问题,以下是散点图贴合地球表面的做法 效果图: 安装 npm install echarts echart

    2024年02月09日
    浏览(30)
  • Three.js--》实现3d地球模型展示

    目录 项目搭建 实现网页简单布局 初始化three.js基础代码 创建环境背景 加载地球模型 实现光柱效果 添加月球模型 今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 项目搭建 本案例还是借

    2024年02月08日
    浏览(64)
  • 基于threejs开发的3D地球大屏可视化,支持2D地图模式,飞线,涟漪,配置简单易上手

    基于threejs 封装的3D可视化地球组件,开箱即用 主要实现功能 根据geojson格式的json文件,渲染平面2D 和3D地图,地图可配置区域色,边界色 支持以贴图的方式实现用户设计的个性化地图图片的3D地球渲染(2D的支持正在开发) 通过本组件提供的方法可实现 新增飞线动画 和 标记

    2024年02月08日
    浏览(60)
  • Three.js - 实现一个3D地球可视化

    3D地球可视化效果 3D地球的开发并不复杂,对球形物体进行贴图操作,完成球体自转和月球公转,太阳场景设置等即可 上代码 更多详细代码请关注公众号索取(备注:公众号):

    2024年02月04日
    浏览(57)
  • threeJs实现3D地球-旋转-自定义贴图-透明发光

    //---html (angular)---         //---ts--- 效果图:

    2024年04月17日
    浏览(37)
  • Mars3d采用ellipsoid球实现模拟地球旋转效果

    1.Mars3d采用ellipsoid球实现模拟地球旋转效果 2.开始自选装之后,模型一直闪烁 http://mars3d.cn/editor-vue.html?id=graphic/entity/ellipsoid 3.相关代码:   4.采用属性机制即可实现球体模拟地球旋转的效果: 采用属性机制即可

    2024年02月16日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包