相机定义了观察场景视图可见范围的点的位置、倾斜度和航向。它与设备硬件无关。此类仅适用于 3D场景视图。
创建 SceneView 时,它包含一个相机属性。
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
Number | 更多信息 相机的对角视场(fov)角度。 | 更多信息 | Camera | |
Number | 更多信息 相机的罗盘航向,以度为单位。 | 更多信息 | Camera | |
Point | 更多信息 由地图点定义的相机位置。 | 更多信息 | Camera | |
Number | 更多信息 相机相对于从相机位置向下投影的表面的倾斜度。 | 更多信息 | Camera |
属性详细说明
-
起始版本: GeoScene API for JavaScript 4.22
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
fov Number
-
相机的对角视场 (fov) 角度。 角度范围必须在 1 到 170 度之间,其中较小的 fov 角模拟放大的远摄镜头,而较大的 fov 角模拟缩小的鱼眼镜头。 默认角度为 55 度。 此属性不会保留在 webscene 演示幻灯片中。
- 默认值:55
-
heading Number
-
以度为单位的相机指南针航向。当北是屏幕顶部时,航向为零。它随着视图顺时针旋转而增加。角度始终在0到360度之间进行归一化。
- 默认值:0
示例代码:// 使用特定相机初始化视图 const cam = new Camera({ heading: 90, // 面向正东 tilt: 45, // 鸟瞰角度 position: [ -122, 38, 20000 ] // 创建一个点实例(x,y,z) });
// 使用特定相机初始化视图 const cam = new Camera({ heading: 90, // 面向正东 tilt: 45, // 鸟瞰角度 position: { latitude: 38, longitude: -122, z: 20000, spatialReference: { wkid: 3857 } } }); view.camera = cam;
// 将视图相机的航向设置为180度 const newCam = view.camera.clone(); newCam.heading = 180; view.camera = newCam;
// 转到面向正南的几何体 pt view.goTo({ target: pt, heading: 180 });
-
由地图点定义的相机位置。
Z值 在地理或公制坐标系中定义的单位是米。 但是,在使用投影坐标系的局部场景中,假定垂直单位与服务指定的水平单位相同。
示例代码:const cam = view.camera.clone(); // 该位置制动转换为 new Point() cam.position = { latitude: 38, longitude: -122, z: 50000 // 海拔 } // 转到新的相机视角 view.goTo(cam);
-
tilt Number
-
从相机位置向下投影时,相机相对于表面的倾斜度。当垂直向下看表面时,倾斜为零;当相机平行于表面时,倾斜为90度。- 默认值:0
示例代码:// 使用特定相机初始化视图 const cam = new Camera({ heading: 90, // 面向正东 tilt: 45, // 鸟瞰角度 position: { latitude: 38, longitude: -122, spatialReference: { wkid: 3857 } } }); view.camera = cam;
// 转到直接向下的几何图形 pt view.goTo({ target: pt, tilt: 0 });
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
Camera | 更多信息 创建相机对象的深拷贝。 | 更多信息 | Camera | |
* | 更多信息 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 | 更多信息 | Camera | |
Object | 更多信息 将此类的实例转换为其 GeoScene 门户 JSON 表示。 | 更多信息 | Camera |
方法详细说明
-
clone(){Camera}
-
创建摄影机对象的深拷贝。
返回值:类型 描述 Camera 调用此方法的 Camera 实例的深层克隆。
示例代码:// 拷贝视图的相机,因为他的几何图形不能直接修改 const cam = view.camera.clone(); // 该位置自动转换为 new Point()
cam.position = { latitude: 38, longitude: -122, spatialReference: { wkid: 3857 } } // 设置视图的新相机 view.camera = cam;
-
fromJSON(json){*}static
-
创建此类的一个新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。 传递给输入
json
参数的对象通常来自对 REST API 中的查询操作的响应或 toJSON() 方法。 有关何时以及如何使用此函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。参数:json ObjectGeoScene 格式的实例的 JSON 表示。
返回值:类型 描述 * 返回一个该类的新实例。
-
toJSON(){Object}
-
将此类的实例转换为其 GeoScene 门户 JSON 表示。 有关详细信息,请参阅使用 fromJSON() 指南主题。
返回值:类型 描述 Object Scene 门户 JSON< 此类实例的表示。