Skip to content

useFlyToArea

基于flyToBoundingSphere将视角移动到刚好能看到所有输入坐标的位置。

使用

js
const flyToArea = useFlyToArea()
flyToArea([[100, 20], [120, 40], [110, 30]], {
  onSingle: () => flyTo(id),
  onEmpty: () => initCamera()
})

默认情况下:

  • 数组中无数据时,不进行任何操作
  • 数组中只有 1 个数据时,视角会飞行到俯视角位置。

demo

类型声明

Details
ts
export interface UseFlyToAreaOptions {
  onSingle: () => void
  onEmpty: () => void
}
/**
 * Move the viewpoint to a position where all input coordinates are visible using `flyToBoundingSphere`.
 * ## example
 * ```js
 * const flyToArea = useFlyToArea()
 * flyToArea([[120, 40], [130, 30]])
 * ```
 */
export declare function useFlyToArea(
  viewer?: Cesium.Viewer,
): (
  posList: (MaybeCoordinates | Cesium.Cartesian3)[],
  options?: Partial<UseFlyToAreaOptions>,
) => void

源码

sourcedemo