Cesium 使用时间序列事件模拟飞机的各种状态

博客围绕Cesium和JavaScript在前端的应用,介绍了时间序列事件,涉及飞机路径数据的获取、修改,还阐述了使用kml生成飞机,以及通过时间序列事件修改飞机状态等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.时间序列事件

2.飞机路径数据

3.飞机路径数据修改

4.使用kml生成飞机

5.时间序列事件修改飞机状态

//事件
    viewer.clock.onTick.addEventListener(onTick);
    viewer.clock.onStop.addEventListener(onStop);


 //事件方法    
    function onTick(clock) {
      var currentTime = viewer.clock.currentTime;
      if (viewer.clock.shouldAnimate === true) {
        // console.log("时间:"+ currentTime);

        // 检查每个事件的时间
        for (var i = 0; i < temp.length; i++) {
          var event = temp[i];
          // 判断当前时间是否达到事件的时间
          if (Cesium.JulianDate.greaterThanOrEquals(currentTime, event.time)) {
            console.log("事件:" + event.time);
            // 执行事件
            event.action();

            // 可选择取消事件执行,以避免重复执行
            temp.splice(i, 1); // 从事件列表中移除已执行的事件
          }
        }

        // 如果所有事件都已执行完毕,可以选择停止监听onTick事件
        if (temp.length === 0) {
          viewer.clock.onTick.removeEventListener(arguments.callee); //
        }
        //ParticleShowOrFalse(true);
      }
    }
    //事件停止
    function onStop(clock) {
      console.log("时间轴播放完成时候");
      temp = [...events];
      viewer.clock.onTick.addEventListener(onTick)
      //ParticleShowOrFalse(false);
    }





 var PLANE_SPEED = 200; //飞机速度
    //规划路径数据
    var pathliene = [{
      "lng": 116.5845,
      "lat": 40.08010000000001,
      "hig": -1.3969838619232178e-9
    },
    {
      "lng": 116.58330144997416,
      "lat": 40.0750962293721,
      "hig": 2540.095426488378
    },
    {
      "lng": 116.58131546760663,
      "lat": 40.06680339805726,
      "hig": 5075.261690593189
    },
    {
      "lng": 116.57855580287676,
      "lat": 40.055276505653644,
      "hig": 7604.963387137395
    },
    {
      "lng": 116.57503638440015,
      "lat": 40.04057042986108,
      "hig": 10128.724100701238
    },
    {
      "lng": 116.57077130592056,
      "lat": 40.02273992568703,
      "hig": 12646.122988035777
    },
    {
      "lng": 116.56577481297924,
      "lat": 40.001839624988726,
      "hig": 15156.791422304437
    },
    {
      "lng": 116.56006128977799,
      "lat": 39.97792403631499,
      "hig": 17660.40969906735
    },
    {
      "lng": 116.55364524625115,
      "lat": 39.9510475450135,
      "hig": 20156.703803861958
    },
    {
      "lng": 116.54654130536126,
      "lat": 39.92126441357089,
      "hig": 22645.442241208275
    },
    {
      "lng": 116.53876419063116,
      "lat": 39.888628782154704,
      "hig": 25126.432924893863
    },
    {
      "lng": 116.53032871392534,
      "lat": 39.85319466932847,
      "hig": 27599.52012931344
    },
    {
      "lng": 116.52124976349211,
      "lat": 39.81501597291232,
      "hig": 30064.581501668985
    },
    {
      "lng": 116.51154229227662,
      "lat": 39.774146470963615,
      "hig": 32521.525134848616
    },
    {
      "lng": 116.50122130651494,
      "lat": 39.73063982285336,
      "hig": 34970.286700725745
    },
    {
      "lng": 116.490301854618,
      "lat": 39.68454957041608,
      "hig": 37410.82664367116
    },
    {
      "lng": 116.47879901635247,
      "lat": 39.63592913915216,
      "hig": 39843.12743406521
    },
    {
      "lng": 116.46672789232656,
      "lat": 39.5848318394631,
      "hig": 42267.19088156064
    },
    {
      "lng": 116.4541035937865,
      "lat": 39.53131086790178,
      "hig": 44683.03550787272
    },
    {
      "lng": 116.44094123272845,
      "lat": 39.47541930842107,
      "hig": 47090.693978871546
    },
    {
      "lng": 116.42725591233174,
      "lat": 39.417210133605465,
      "hig": 49490.21059576054
    },
    {
      "lng": 116.41306271771555,
      "lat": 39.356736205872174,
      "hig": 51881.63884509159
    },
    {
      "lng": 116.39837670702352,
      "lat": 39.29405027862834,
      "hig": 54265.039007406194
    },
    {
      "lng": 116.38321290283736,
      "lat": 39.229204997373785,
      "hig": 56640.47582430411
    },
    {
      "lng": 116.36758628392197,
      "lat": 39.162252900738515,
      "hig": 59008.016223678125
    },
    {
      "lng": 116.3515117773025,
      "lat": 39.09324642144624,
      "hig": 61367.72710296311
    },
    {
      "lng": 116.33500425067353,
      "lat": 39.022237887195935,
      "hig": 63719.673170131784
    },
    {
      "lng": 116.3180785051405,
      "lat": 38.94927952145461,
      "hig": 66063.91484228328
    },
    {
      "lng": 116.3007492682919,
      "lat": 38.87442344415557,
      "hig": 68400.50620159587
    },
    {
      "lng": 116.28303118760145,
      "lat": 38.79772167229743,
      "hig": 70729.4930084516
    },
    {
      "lng": 116.26493882415753,
      "lat": 38.719226120440105,
      "hig": 73050.91077155477
    },
    {
      "lng": 116.24648664671798,
      "lat": 38.638988601095015,
      "hig": 75364.78287482931
    },
    {
      "lng": 116.22768902608703,
      "lat": 38.55706082500742,
      "hig": 77671.1187609393
    },
    {
      "lng": 116.20856022981121,
      "lat": 38.47349440133022,
      "hig": 79969.91217121051
    },
    {
      "lng": 116.18911441719015,
      "lat": 38.38834083768847,
      "hig": 82261.1394418026
    },
    {
      "lng": 116.1693656345987,
      "lat": 38.301651540135765,
      "hig": 84544.75785591449
    },
    {
      "lng": 116.14932781111534,
      "lat": 38.21347781300357,
      "hig": 86820.70405190269
    },
    {
      "lng": 116.12901475445236,
      "lat": 38.12387085864567,
      "hig": 89088.89248702428
    },
    {
      "lng": 116.10844014718289,
      "lat": 38.03288177708047,
      "hig": 91349.21395674285
    },
    {
      "lng": 116.08761754325907,
      "lat": 37.94056156553493,
      "hig": 93601.53416932674
    },
    {
      "lng": 116.06656036481638,
      "lat": 37.84696111789384,
      "hig": 95845.69237557401
    },
    {
      "lng": 116.04528189925774,
      "lat": 37.75213122405949,
      "hig": 98081.50005351067
    },
    {
      "lng": 116.0237952966118,
      "lat": 37.65612256922688,
      "hig": 100308.73964781986
    },
    {
      "lng": 116.00211356715943,
      "lat": 37.558985733080405,
      "hig": 102527.1633638301
    },
    {
      "lng": 115.98024957932196,
      "lat": 37.460771188918265,
      "hig": 104736.49201587362
    },
    {
      "lng": 115.9582160578048,
      "lat": 37.361529302711595,
      "hig": 106936.41392979222
    },
    {
      "lng": 115.93602558199031,
      "lat": 37.26131033210545,
      "hig": 109126.5838993761
    },
    {
      "lng": 115.91369058457298,
      "lat": 37.16016442536944,
      "hig": 111306.62219656262
    },
    {
      "lng": 115.8912233504308,
      "lat": 37.05814162030609,
      "hig": 113476.1136351002
    },
    {
      "lng": 115.86863601572625,
      "lat": 36.95529184312544,
      "hig": 115634.60668752456
    },
    {
      "lng": 115.84594056722953,
      "lat": 36.8516649072946,
      "hig": 117781.61265516748
    },
    {
      "lng": 115.82314884185872,
      "lat": 36.74731051237139,
      "hig": 119916.60489096095
    },
    {
      "lng": 115.80027252642931,
      "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值