Camera

AMD: require(["geoscene/Camera"], (Camera) => { /* code goes here */ });
ESM: import Camera from "@geoscene/core/Camera";
类: geoscene/Camera
继承于: Camera Accessor
起始版本: GeoScene API for JavaScript 4.0

相机定义了观察‎‎场景视图‎‎可见范围的点的‎‎位置‎‎、‎‎倾斜‎‎度和‎‎航向‎‎。它与设备硬件无关。此类仅适用于 3D‎‎场景视图‎‎。‎

‎创建 ‎‎SceneView‎‎ 时,它包含一个‎‎相机属性‎‎。‎

示例:

构造函数

new Camera(properties)
参数:
properties Object
可选参数

所有可传入构造函数的属性,请参见属性列表

属性列表

可以设置、检索或监听任何属性。请参阅 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
String更多信息

类名。

更多信息Accessor
Number更多信息

相机的对角视场(fov)角度。

更多信息Camera
Number更多信息

相机的罗盘航向,以度为单位。

更多信息Camera
Point更多信息

由地图点定义的相机位置。

更多信息Camera
Number更多信息

相机相对于从相机位置向下投影的表面的倾斜度。

更多信息Camera

属性详细说明

declaredClass Stringreadonly inherited
起始版本: GeoScene API for JavaScript 4.22

类名。类的名称声明格式为 geoscene.folder.className

fov Number

相机的对角视场 (fov) 角度。 角度范围必须在 1 到 170 度之间,其中较小的 fov 角模拟放大的远摄镜头,而较大的 fov 角模拟缩小的鱼眼镜头。 默认角度为 55 度。 此属性不会保留在 webscene 演示幻灯片中。

camera field of view examples

默认值: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 });
position Pointautocast

由地图点定义的相机位置。

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 Object

GeoScene 格式的实例的 JSON 表示。 

返回值:
类型 描述
* 返回一个该类的新实例。
toJSON(){Object}

将此类的实例转换为其 GeoScene 门户 JSON 表示。 有关详细信息,请参阅使用 fromJSON() 指南主题。

返回值:
类型 描述
Object Scene 门户 JSON< 此类实例的表示。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.