Cesium开发学习笔记(六)续---动态测距显示距离

测距实现总结

开发过程中,有一个需求是测距实时让文本居中显示。参考cesium的API总结如下代码实现测距显示距离。
文本API
动态绘制API
在编写的时候,需要理解的是CallbackProperty这个回调函数,建议去看看api文档或技术网站文章对它有个大概认识。在集成两个API代码遇到最大的问题就是销毁模型问题。大概率就是我这边个人原因,经常报错,经过多次调试,发现是自己通过常用的移除并不能移除模型所导致的。当一个模型被销毁时,该回调函数也跟着销毁。如果销毁模型失败,建议使用removeById去销毁。

/*
@activeShape 动态线
@floatingPoint 点模型
@startPog 开始点坐标 用于计算距离
@labels  动态文本模型
*/
var activeShapePoints = [];
      var activeShape;
      var floatingPoint;
      let startPog;
      var scratch = new Cesium.Cartographic();
      var geodesic = new Cesium.EllipsoidGeodesic();
      let isConstant = false;
      var labels;

      //创建点
      function createP(worldPosition) {
   
        var point = viewer.entities.add({
   
          position: worldPosition,
          point: {
   
            color: Cesium.Color.WHITE,
            pixelSize: 5,
            heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
          },
        });
        return point;
      }

      //划线
      function drawShape(positionData) {
   
        var shape;

        shape = viewer.entities.add({
   
          polyline: {
   
            positions: positionData,
            clampToGround: true,
            width: 3,
          },
        });
        return shape;
      }


      // 动态获取距离
      function getLength(time, result) {
   
        // Get the end position from the polyLine's c
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值