四、三维场景基本操作
在三维场景中可以很方便地对二维\三维点、二维\三维线、面、文本、DEM、Grid、TIN、影像等数据进行三维实时浏览,并且可以进行飞行、距离量算等功能。在SuperMap iClient3D 8C for Plugin
中提供了Pan、Select、MeasureArea、MeasureDistance、MeasureHeight、NullAction、PanSelec类来实现对三维的实时浏览操作及量算功能,它们都继承自SceneAction ,并且提供了FlyingOperator来进行飞行操作。
下面以全幅显示、漫游、飞行、选择模型、距离量算为例予以说明。
接口 | 说明 | |
---|---|---|
![]() |
flyTo | 在指定的时间内,以指定的方式从当前场景飞行至指定的相机位置。 |
![]() |
flyToBounds | 在指定的时间内,从当前场景飞行至指定的 Bounds 区域。 |
![]() |
flyToGeometry | 在指定的时间内,以指定的方式从当前场景飞行至指定的几何对象。 |
![]() |
play | 按照指定路线飞行。 |
![]() |
moveTo | 将三维图层集合中指定索引号的三维图层移动到指定索引号位置。 |
![]() |
moveToBottom | 将三维图层集合中指定索引号的三维图层移动到底层。 |
![]() |
moveToTop | 将三维图层集合中指定索引号的三维图层移动到顶层。 |
![]() |
moveUp | 将三维图层集合中指定索引号的三维图层向上移动一层。 |
![]() |
removeAll | 删除图层集合中的所有图层。 |
![]() |
removeAt | 删除指定图层名称或索引号的图层。 |
SceneAction是其他三维浏览操作类Pan、Select、MeasureArea、MeasureDistance、MeasureHeight、NullAction、PanSelect的父类。用户可以对SceneAction进行扩展,实现一系列的操作。
接口 | 说明 | |
---|---|---|
![]() |
name | 获取或设置交互操作的名称。当用户自行开发一个SceneAction子类时,可自定义该操作的名称。 |
![]() |
sceneControl | 获取或。 |
![]() |
sceneName | 获取所属场景服务的名称。 |
![]() |
sceneAddress | 获取图层集合的服务地址。 |
接口 | 说明 | |
---|---|---|
![]() |
flyTo | 在指定的时间内,以指定的方式从当前场景飞行至指定的相机位置。 |
![]() |
flyToBounds | 在指定的时间内,从当前场景飞行至指定的 Bounds 区域。 |
![]() |
flyToGeometry | 在指定的时间内,以指定的方式从当前场景飞行至指定的几何对象。 |
![]() |
play | 按照指定路线飞行。 |
![]() |
moveTo | 将三维图层集合中指定索引号的三维图层移动到指定索引号位置。 |
![]() |
moveToBottom | 将三维图层集合中指定索引号的三维图层移动到底层。 |
![]() |
moveToTop | 将三维图层集合中指定索引号的三维图层移动到顶层。 |
![]() |
moveUp | 将三维图层集合中指定索引号的三维图层向上移动一层。 |
![]() |
removeAll | 删除图层集合中的所有图层。 |
![]() |
removeAt | 删除指定图层名称或索引号的图层。 |
JavaScript |
![]() |
---|---|
<!--工具条--> |
JavaScript |
![]() |
---|---|
|
scene.get_flyingOperator().flyTo(camera)
方法即以一定速度和方式飞行到指定地点。该方法有三个参数:第一个是相机对象,第二个和第三个参数为可选参数,分别为飞行速度和飞行方式枚举常量。而 scene.get_camera(camera)
会将场景直接切换到相机指定位置。
JavaScript |
![]() |
---|---|
<!--全幅显示--> |
JavaScript |
![]() |
---|---|
|
JavaScript |
![]() |
---|---|
<!--漫游--> |
JavaScript |
![]() |
---|---|
|
JavaScript |
![]() |
---|---|
<!--选择--> |
addEvent
方法,该方法中第一个参数 “objectSelected” 表示侦听选中地物完成状态,第二个参数为用户自定义函数。也就是说一旦场景控件发生选择操作后触发 selectMode
自定义函数。addEvent
还可以侦听距离量算、面积量算中或者结束后的操作,第一个参数可选值请参见该方法的接口文档:JavaScript |
![]() |
---|---|
|
addEvent
方法):JavaScript |
![]() |
---|---|
|
图1 选中模型后提示模型 ID 号
JavaScript |
![]() |
---|---|
<!--距离量算--> |
addEvent
方法侦听距离量算结束状态,由"measureDistanceFinished" 表示。当量算操作结束后触发 disFinished
自定义函数:JavaScript |
![]() |
---|---|
|
JavaScript |
![]() |
---|---|
|
关于三维场景的基本操作和相机的相关内容,可参见 《相机 Camera》 和《场景操作》 专题文档。