The camera defines the position, tilt, and heading of the point from which the SceneView's visible extent is observed. It is not associated with device hardware. This class only applies to 3D SceneViews.
When a SceneView is created, it contains a camera property. Since the camera
property may be autocast, this module does not need to be included in the require()
function in most applications.
Constructors
new Camera(properties)
properties Object See the properties for a list of all the properties that may be passed into the constructor. |
Property Overview
Name | Type | Summary | |
---|---|---|---|
String | The name of the class. more details | more details | |
Number | The field of view of the camera in degrees. more details | more details | |
Number | The compass heading of the camera in degrees. more details | more details | |
Point | The position of the camera defined by a map point. more details | more details | |
Number | The tilt of the camera in degrees with respect to the surface as projected down from the camera position. more details | more details |
Property Details
declaredClassStringreadonly
The name of the class. The declared class name is formatted as
esri.folder.className
.fovNumber
The field of view of the camera in degrees.
Default Value: 55headingNumber
The compass heading of the camera in degrees. Heading is zero when north is the top of the screen. It increases as the view rotates clockwise. The angles are always normalized between 0 and 360 degrees.
Default Value: 0Examples:// Initialize the view with a specific camera var cam = new Camera({ heading: 90, // face due east tilt: 45, // looking from a bird's eye view position: [ -122, 38, 20000 ] // creates a point instance (x,y,z) });
// Initialize the view with a specific camera var cam = new Camera({ heading: 90, // face due east tilt: 45, // looking from a bird's eye view position: { latitude: 38, longitude: -122, z: 20000, spatialReference: { wkid: 3857 } } }); view.camera = cam;
// Set the heading of the view's camera to 180 degrees var newCam = view.camera.clone(); newCam.heading = 180; view.camera = newCam;
// go to the pt geometry facing due south view.goTo({ target: pt, heading: 180 });
The position of the camera defined by a map point.
Z-values defined in a geographic or metric coordinate system are expressed in meters. However, in local scenes that use a projected coordinate system, vertical units are assumed to be the same as the horizontal units specified by the service.
Example:var cam = view.camera.clone(); // the position is autocast as an esri/geometry/Point object cam.position = { latitude: 38, longitude: -122, z: 50000 // altitude in meters } // go to the new camera view.goTo(cam);
tiltNumber
The tilt of the camera in degrees with respect to the surface as projected down from the camera position. Tilt is zero when looking straight down at the surface and 90 degrees when the camera is looking parallel to the surface.
Default Value: 0Examples:// Initialize the view with a specific camera var cam = new Camera({ heading: 90, // face due east tilt: 45, // looking from a bird's eye view position: { latitude: 38, longitude: -122, spatialReference: { wkid: 3857 } } }); view.camera = cam;
// go to the pt geometry facing directly down view.goTo({ target: pt, tilt: 0 });
Method Overview
Name | Return Type | Summary | |
---|---|---|---|
Camera | Creates a deep clone of the camera object. more details | more details | |
* | Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. more details | more details | |
Object | Converts an instance of this class to its ArcGIS Portal JSON representation. more details | more details |
Method Details
clone(){Camera}
Creates a deep clone of the camera object.
Returns:Type Description Camera A deep clone of the Camera instance that invoked this method. Example:// clone the view's camera since its geometry cannot be directly modified var cam = view.camera.clone(); // the position is autocast as an esri/geometry/Point object cam.position = { latitude: 38, longitude: -122, spatialReference: { wkid: 3857 } } // set the view to the new camera view.camera = cam;
fromJSON(json){*}static
Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input
json
parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.Parameter:json ObjectA JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.
Returns:Type Description * Returns a new instance of this class. toJSON(){Object}
Converts an instance of this class to its ArcGIS Portal JSON representation. See the Using fromJSON() topic in the Guide for more information.
Returns:Type Description Object The ArcGIS Portal JSON representation of an instance of this class.