Cesium加载czml数据并获取实体经纬度

本文介绍了如何使用Cesium的CzmlDataSource加载czml数据,并通过监听时间属性CesiumTimeInterval来获取每一秒实体的经纬度。在示例代码中,展示了如何获取名为'Vehicle'的实体的当前位置,并将其转换为Cartographic坐标进行显示。
摘要由CSDN通过智能技术生成

Cesium在加载czml数据时,czml数据会包含图元,有时我们需要获取到实体的经纬度进行下一步操作。这时我们需要使用Cesium的时间属性CesiumTimeInterval去侦听每一秒的变化,从而获取到实体的经纬度。

addCzmlDataSource2(viewer){
        let czmlDataSourcePromise = Cesium.CzmlDataSource.load('../../static/data/Vehicle.czml');
      czmlDataSourcePromise.then(function (czml) {
        // console.log(czml)
        console.log(czml.entities)
        // console.log(czml.clustering)
        viewer.dataSources.add(czml);
        var entity = czml.entities.getById("Vehicle");
        console.log(entity)
        let cartographic = null
        viewer.clock.onTick.addEventListener(function (clock) {
        var position = entity.position.getValue(clock.currentTime);
        cartographic = Cesium.Cartographic.fromCartesian(position);
       console.log('经度'+cartographic.longitude+'纬度'+cartographic.latitude+'高度'+cartographic.height)
       

        })
      }) .otherwise(function (error) {
       console.log(error);
      });
      viewer.scene.camera.setView({
        destination: Cesium.Cartesian3.fromDegrees(经度, 纬度, 高度),
        orientation: {
          heading: 6,
        },
      });
      
      
    },
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值