Cesium创建实体弹窗文字和图片一起展示

思路:通过 canvas生成图片渲染到billboard上

实现效果

        showLabelFun(name, function (dataUrl) {
          let plane = {
            position: Cesium.Cartesian3.fromDegrees(
              items.position[0],
              items.position[1],
              12
            ),
            billboard: {
              image: dataUrl,
              heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
              // width:120, 如果使用了聚合数据一定要加 width和height 不然 初次加载会全部显示
              // height:40
            },
          }
          viewer.entities.add(plane);
        })
function showLabelFun(dataMcInfo,callback) {
    var c = document.createElement("canvas");
    var settings = {
      canvas: c,
      canvasWidth: 25, //canvas的宽度
      canvasHeight: 40, //canvas的高度
      drawStartX: 12, //绘制字符串起始x坐标 距离左侧
      drawStartY: 25, //绘制字符串起始y坐标 距离顶部
      font: "16px 'Microsoft Yahei'", //文字样式
      // text: "请修改掉默认的配置", //需要绘制的文本
      color: "#b0e7ff", //文字的颜色
      backgroundImage: "./bg.png" //背景图像的路径
    };

    //获取2d的上线文开始设置相关属性
    var canvas = settings.canvas;
    canvas.width = settings.canvasWidth;
    canvas.height = settings.canvasHeight;
    var ctx = canvas.getContext("2d");

    //加载背景图像
    var img = new Image();
    img.src = settings.backgroundImage;
    img.onload = function () {
      //绘制背景图像
      ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
      //填充文字
      ctx.font = settings.font;
      ctx.fillStyle = settings.color;
      ctx.fillText(dataMcInfo, settings.drawStartX, settings.drawStartY);
      callback(canvas.toDataURL());
    };
  }

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium是一款基于WebGL的地球可视化引擎,可以用于展示地球和空间数据的三维可视化效果。在Cesium中,展示弹窗是一种常见的交互方式,用于在地球上显示地点或者要素的详细信息。 展示弹窗可以通过一系列的鼠标或者触摸操作触发,比如单击地球上的特定点、悬停在特定要素上、或者通过程序控制等。当展示弹窗被触发时,弹窗会在地球的特定位置显示,并呈现相关的信息。 在弹窗中,可以展示各种信息,比如地点的名称、经纬度、高度、描述、图片、链接等。这些信息可以根据具体的需求进行自定义,以展示不同类型的地理数据。 Cesium提供了一套API,开发者可以通过编写代码来创建和控制展示弹窗。首先,需要创建一个弹窗实例,并设置其显示的位置和样式。然后,可以将需要显示的内容添加到弹窗中,比如文字图片等。最后,通过开启或关闭弹窗的可见状态来控制弹窗显示和隐藏。 展示弹窗可以增强用户与地球数据的交互体验,使用户能够更加直观地了解和浏览地球上的特定信息。例如,在地理信息系统(GIS)应用中,展示弹窗可以用于展示不同位置的特征、属性和测量结果,有助于用户对地球数据进行分析和决策。 总而言之,Cesium展示弹窗是一种交互方式,可以在地球上显示地点或要素的详细信息,通过适当的操作和代码编写,可以实现各种需求,提供更加丰富的地球可视化体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值