实现cesium 加载地图后延时和瞬间到达某位置

Debs96_ultra_realistic_sleek_and_polished_reception_in_office_b_6c81ed84-5e19-4e35-b804-a245f6043b15.png

效果图

22232.gif

地球加载后延时到达某个位置

用到的函数

flyTo (options)

将相机从当前位置移动到新位置。

NameTypeDescription
optionsObjectObject with the following properties:
NameTypeDescription
destinationCartesian3
| Rectangle
摄像机在WGS84(世界)坐标中的最终位置或从上向下视图中可见的矩形。
orientationObject可选包含方向和向上属性或航向,俯仰和横滚属性的对象。默认情况下,方向将指向在3D中朝向帧中心,在哥伦布视图中沿负z方向。向上方向将指向3D局部正北哥伦布视图中的y方向。在无限滚动模式下,二维不使用方向。
durationNumber可选飞行持续时间(以秒为单位)。如果省略,Cesium会尝试根据航班飞行的距离来计算理想持续时间。
completeCamera~FlightCompleteCallback可选飞行结束后执行的功能。
cancelCamera~FlightCancelledCallback可选取消航班后执行的功能。
endTransformMatrix4可选表示飞行完成后相机将位于的参考帧的变换矩阵。
maximumHeightNumber可选飞行高峰时的最大高度。
pitchAdjustHeightNumber可选如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。
flyOverLongitudeNumber可选地球上2点之间总是有两种方法。此选项会迫使相机选择战斗方向以在该经度上飞行。
flyOverLongitudeWeightNumber可选仅在通过flyOverLongitude指定的lon上飞过,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
convertBoolean可选是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。默认为 true 。
easingFunctionEasingFunction
| EasingFunction~Callback
可选控制在飞行过程中如何插值时间。

代码:

// 创建目标位置
  let longitude = 118.705835;//设置经度
  let latitude = 37.433904;// 设置维度
  let height = 2000;//设置高度
  // //添加延时 方案
  setTimeout(() => {
    viewer.camera.flyTo({
      destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),//设置 目标位置
      duration: 3,//飞行时间单位秒
      // 设置相机视角
      orientation: {
        heading: Cesium.Math.toRadians(0), // 方向
        pitch: Cesium.Math.toRadians(-90), // 倾斜角度
        roll: 0 // 翻滚角度
      }
    });
  }, 2000);// 2000毫秒的延时加载地球

地图加载后瞬间到达某个点

用到的函数

setView (options)

设置相机的位置,方向和变换。

NameTypeDescription
optionsObject具有以下属性的对象:
名称类型说明
目的地Cartesian3
| 矩形
可选摄像机在WGS84(世界)坐标中的最终位置或从上向下视图中可见的矩形。
方向对象可选包含方向和向上属性或航向,俯仰和横滚属性的对象。默认情况下,方向将指向在3D中朝向帧中心,在哥伦布视图中沿负z方向。向上方向将指向3D局部正北哥伦布视图中的y方向。在无限滚动模式下,二维不使用方向。
endTransformMatrix4可选转换代表摄像机参考帧的矩阵。
转换布尔值可选是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。默认为 true 。

代码

 // 直接加载到某点
  viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),//设置 目标位置    
    // 设置相机视角
    orientation: {
      heading: Cesium.Math.toRadians(0), // 方向
      pitch: Cesium.Math.toRadians(-90), // 倾斜角度
      roll: 0 // 翻滚角度
    }
  })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缠中说禅87

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值