require(["esri/Camera"], function(Camera) { /* code goes here */ });
Class: esri/Camera
Inheritance: Camera Accessor
Since: ArcGIS API for JavaScript 4.0

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.

See also:

Constructors

new Camera(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
String

The name of the class.

more details
more detailsAccessor
Number

The field of view of the camera in degrees.

more details
more detailsCamera
Number

The compass heading of the camera in degrees.

more details
more detailsCamera
Point

The position of the camera defined by a map point.

more details
more detailsCamera
Number

The tilt of the camera in degrees with respect to the surface as projected down from the camera position.

more details
more detailsCamera

Property Details

declaredClassStringreadonly inherited
Since: ArcGIS API for JavaScript 4.7

The name of the class. The declared class name is formatted as esri.folder.className.

The field of view of the camera in degrees.

Default Value:55
headingNumber

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:0
Examples:
// 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 new Point()
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:0
Examples:
// 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

NameReturn TypeSummaryClass
Camera

Creates a deep clone of the camera object.

more details
more detailsCamera
*

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 detailsCamera
Object

Converts an instance of this class to its ArcGIS portal JSON representation.

more details
more detailsCamera

Method Details

clone(){Camera}

Creates a deep clone of the camera object.

Returns:
TypeDescription
CameraA 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 new Point()
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 Object

A 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:
TypeDescription
*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:
TypeDescription
ObjectThe ArcGIS portal JSON representation of an instance of this class.

API Reference search results

NameTypeModule
Loading...