echarts绘制3D地图

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

echarts绘制3D地图实现平移、缩放

所需依赖

echarts绘制3D地图

 准备工作:main.js中引入依赖

echarts绘制3D地图

 

先上图

echarts绘制3D地图

代码直接复制粘贴就可以使用了,根据自己需求稍作修改就可以使用了

 html代码部分

 <div class="map">
      <div id="3Dmap" class="main"></div>
  </div>

js代码部分

 var myChart = this.$echarts.init(document.getElementById("3Dmap"));
      this.$echarts.registerMap("haerbin", haerbin);

      var _this = this;
      this.option = {
        tooltip: {
          show: true, 
          triggerOn: "mousemove", //鼠标hover地图区域时出现
          trigger: "item",
          transitionDuration: 0, //直接出现提示框
          formatter: function (params) {
            // console.log(params,'params')
            //返回的是dom结构,可以在这里写好样式,也可以使用下面的配置项去设置样式
            return `<div style="position:absolute;left:10px;top:16px;width:8px;height:8px;background-color:#FD9A5A;"></div>
                        <div class="tips" style="padding:12px;">
                            <h1 style="font-size:16px;">${params.name}</h1>
                            <p style="font-size:16px;">
                                <span style="color:#03dbf3;font-size:30px;display:inline-block;padding:5px 0">${params.data.num}</span>
                            </p>
                        </div>`;
          },
          //这里就是设置地图自带的弹框样式
          borderColor: "#419bf9",
          borderWidth: 1,
          //   padding: [0, 15],
          // backgroundColor: '#0a1d54',
          backgroundColor: "rgba(0,2,89,0.8)",
          borderRadius: 0,
          textStyle: { color: "#fff" },
        },
        series: [
          {
            // name: "haerbin",
            type: "map3D", //需要使用3d地图
            // type: 'map',
            map: "haerbin", //地图类型。echarts-gl 中使用的地图类型同 geo 组件相同
            regionHeight: 3, //模型的高度
            boxWidth: 70, //三维地图在三维场景中的宽度
            boxDepth: 73, //三维地图在三维场景中的深度
            top: "-15%",
            itemStyle: {
              normal: {
                //静态模式下显示的默认样式
                borderColor: "#3f82e5",
                borderWidth: 2,
                // color: "#0a55ea",
                color: "rgba(8, 72, 197, 0.4)",//建议使用rgba设置透明度,使用opacity会导致文字变色
                // opacity: 0.4,
              }, //阴影效果
              emphasis: {
                // color:'#3f82e5',#0636A2
                color: "#0a55ea",
                // opacity:0.5,
                label: {
                  show: true,
                },
              },
            },
            label: {
              show: true,
              fontSize: 18,
              formatter: (params) => {
                var str = params.data.name;
                // return params.data.name + "\n\n\n" + params.data.num;
                if (params.data.name == "平房区") {
                  //   return  str= "<div style='width:10px;height:10px;border-radius:50%;color:#fff'>"+1+"</div>";
                  return (str = "①");
                }
                if (params.data.name == "香坊区") {
                  return (str = "②");
                }
                if (params.data.name == "南岗区") {
                  return (str = "③");
                }
                if (params.data.name == "道外区") {
                  return (str = "④");
                }
                if (params.data.name == "道里区") {
                  return (str = "⑤");
                }
                return str;
              },
              textStyle: {
                color: "white",
              },
            },
            viewControl: {
              minBeta: -360,
              maxBeta: 360,
              alpha: 50,
              center: [0, -10, -10], //位置点
              distance: 100, //缩放比例,默认视角距离主体的距离,对于 globe 来说是距离地球表面的距离,对于 grid3D 和 geo3D 等其它组件来说是距离中心原点的距离。在 projection 为'perspective'的时候有效。
              minDistance: 30,
              maxDistance: 140,
              panMouseButton: "left",
              rotateMouseButton: "middle",
              zoomSensitivity: 1,
              // autoRotate: true, //是否开启视角绕物体的自动旋转查看,可开启自行测试
  
            },
            data: this.list,
          },
        ],
      };

      myChart.setOption(this.option);

绘制3D地图可能会引起地图上标注点,跟所需点有偏差的情况,这样需要去修改引用的json文件

echarts绘制3D地图

 地图json数据可以到DataV.GeoAtlas地理小工具系列下载或引用即可文章来源地址https://www.toymoban.com/news/detail-513213.html

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

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

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

相关文章

  • vue使用echarts与echarts-gl实现3d地图与 3d柱状图

    目录 前言 一、下载echarts与echarts gl 二、vue引入与页面使用 1.引入 2.页面引入echarts-gl 三、下载地图数据 四、使用地图 1、html初始化地图放入位置: 2、data创建变量 3、创建地图 4、钩子函数渲染地图 5、渲染完成效果 总结 提示:本项目使用vue,请提前搭建好vue项目 本次需求

    2024年02月12日
    浏览(26)
  • echarts使用二维地图实现好看的3D效果

    内容概要: 使用echarts的二维地图模拟三维立体动态风格的地图效果,地图边界还带有动态流动线条效果,既有三维的立体效果,又避免了三维地图占用内存资源高的问题。 目标人群: 前端开发工程师,大屏可视化开发人员。 使用场景: 使用echarts二维地图模拟三维地图效果

    2024年02月11日
    浏览(30)
  • vue中使用echarts实现省市地图绘制,根据数据在地图上显示柱状图信息,增加涟漪特效动画效果

    一、实现效果 使用echarts实现省市地图绘制,你也可以绘制全国地图。 根据数据在地图显示柱状图,根据经纬度实现定位。 根据数据显示数据,涟漪动态效果。 当然你也可以根据你自己的需求,增删效果哦。 二、实现方法 1、安装echarts插件 2、获取省市json数据 https://datav.

    2024年02月03日
    浏览(30)
  • 简单聊聊Echarts伪3D地图实现的相关配置

    知识和技能真的是用进废退,还是得多实践,才不至于遗忘。 目录 前言 二、实现原理 三、从0开始实现 1.目录结构 2.地图JSON数据获取 3.具体实现,重头戏 3.一些常见问题的解决方法 总结 本文简单来聊一聊Echarts伪3D地图的实现,只分离出最底层的伪3D效果,删除了其余的上层

    2024年02月06日
    浏览(82)
  • 使用echarts实现3D地图和需要注意的点

    一种是map3D 一种是geo3D + series中的内容(比如bar3D、scatter3D) 具体配置 Documentation - Apache ECharts https://echarts.apache.org/zh/option-gl.html#series-bar3D.coordinateSystem 中的 GL配置 中 需要强调的是: map3D可以使用 this.chart.on(\\\'click\\\', 回调函数);方法获取点击内容,而geo3D是不可以的。 所以我

    2024年02月01日
    浏览(39)
  • vue+echarts——实现3D地图+3D柱状图 效果——粗糙代码记录——技能提升

    最近看到同事在弄下面的这个图,这个图是从网上看到的,是某个网站的收费项目: 所以,最后的决定是通过 echarts 中的 3D地图 来写。但是写出来的效果不慎好看。功能是可以实现的。 初版效果图如下: 直接上代码: 我这边是存储到当前文件夹中了。。。 背景颜色是 ec

    2024年02月09日
    浏览(31)
  • vue-使用echarts+echarts-gl实现某个省份地区地图3d可视化

    前言 最近在开发中遇到一个需求,需要把一个地区地图变成3d感觉悬浮在大屏中间配合业务需求 其实echarts配合三方库就可以实现这个效果,具体细节需要自己调整 代码实现 1.下载各省份各地区地图数据-json文件-根据需求下载对应地图json数据引入即可 最新全国地图JSON数据

    2024年01月20日
    浏览(41)
  • vue+echart实现3d地图可拖拽、缩放、区域填充颜色(geo3D)

    功能背景 一个略微比2d地图炫酷一些的3d地图, 1、可对区域进行不同颜色填充。 2、可拖拽缩放地图 3、鼠标悬停高亮某区域。 (注意:当开启了鼠标悬停series,并高亮某个数据的时候,会导致地图的拖拽缩放出现卡顿,因为相当于是事件重叠了。。。目前还没想到好的解决方

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

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

    2024年02月04日
    浏览(36)
  • vue使用Echarts绘制地图

      大致实现就是这个效果,鼠标滑过的时候会显示该区域的一个信息,加上自定义的显示图标 有需要希望可以帮到各位 目录 一、在vue中引入Echarts  二、下载并引入china.json文件 三、准备html容器、css中给图表需要的宽高 四、完整代码 这个可以看Echarts官方文档,按照步骤一步

    2024年02月09日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包