CESIUM例子学习(五)——Camera. fyTo与viewer.flyTo(3)

前面两节学习了对Camera的控制,但是还有一个疑问,Camera. fyTo()与viewer.flyTo()这两个函数有区别吗?之前我自己也没有去仔细看过,感觉两个函数应该没什么区别,都是定位而已。

一、Camera. fyTo

Flies the camera from its current position to a new position,相机从当前位置飞到新的位置。参数如下图:

CESIUM例子学习(五)——Camera. fyTo与viewer.flyTo(3)_第1张图片

其中destination:指的是相机的目标位置,是相机所在位置,这一点一定要注意;

orientation:类型尽然是Object类型,显然并不是所有的Object都能对定位起作用,那是什么样的Object类型呢?其实它是这样一个对象,如下:

 orientation: {
                heading: viewer.camera.heading,
                pitch: viewer.camera.pitch,
                roll: viewer.camera.roll
            }

这个对象是对相机姿态参数。有这两个参数基本上就够了。

二、viewer. fyTo

Flies the camera to the provided entity, entities, or data source. If the data source is still in the process of loading or the visualization is otherwise still loading, this method waits for the data to be ready before performing the flight。把相机飞到entity, entities, 或者data source位置。在这些数据还加载和渲染完成后,才能触发fyTo。

参数如下图:

这个说得就比较清楚。target:可以是entity、entities、tilse或者data source;option虽然也是Object,但解释得很明白:飞行时间、飞行最大高度、偏移量。其中offset也是相机的姿态参数。

三、如何应用

如果在场景中已经添加了各个要素,需要定位到某个目标,显然viewer. fyTo()是比较合适的;也就是说目标是要素,viewer. fyTo()比较合适。比如定位到某个坐标;如果是设置相机位置,Camera. fyTo()比较合适。

 

你可能感兴趣的:(cesium)