Skip to content

相机控制

飞行到某个经纬度

调用flyTo方法飞行到成都上空,海拔250000米的位置,垂直向下观察。

ts
fair.flyTo({
  center: [104.0541, 30.6594, 250000],
  heading: 0,
  pitch: -90, //俯仰角
  roll: 0,
})

结果展示:

image-20251023161249725

自选任意视角设置

在浏览三维场景时,有时遇到一个好的场景,想保存下当前的视角参数,后续通过点击按钮或切换场景时,自动飞行到该视角。这种情况下,我们需要用到getCameraStatesetCameraState这组API

1.获取相机视角参数

将fair对象挂到浏览器的window对象上,然后打开调试控制台,此时通过鼠标操控相机到合适的视角后,在控制台调用fair.getCameraState()命令,即可获取当前视角下的相机参数。

image-20251023161249725

2.设置相机视角

将上面获取的参数粘贴到setCameraState方法的参数中并调用该方法,可以让相机直接跳转到该视角:

ts
fair.setCameraState({
  destination: [-1426945.42474351, 5455063.1764513, 3111547.650322451],
  orientation: {
    heading: 6.079009789178494,
    pitch: -0.3718242037282551,
    roll: 0.000573336554045234,
  },
})

或者调用flyToCameraState也可以飞行到该视角

ts
fair.flyToCameraState({
  destination: [-1231113.3689428214, 5344171.152636149, 3255500.6369063226],
  orientation: {
    heading: 0.7995036160260645,
    pitch: -0.3518758906835431,
    roll: 0.00012199757127628885,
  },
})

结果展示:

image-20251023161249725