Class OrbitGeoElementCameraController
A camera controller that supports orbital camera navigation around a stationary or moving GeoElement.
Implements
Namespace: Esri.ArcGISRuntime.UI
Assembly: Esri.ArcGISRuntime.dll
Syntax
public sealed class OrbitGeoElementCameraController : CameraController, INotifyPropertyChanged
Remarks
This camera controller is used to associate camera navigation and movement with GeoElement objects, such as Graphic, Feature, and DynamicEntity. When this controller is set on the scene view, the interaction mode allows the user to rotate around and zoom in and out from the TargetGeoElement. If the object is moving, the camera moves in synchronization with it and the camera position, heading, pitch and roll automatically adjusts. If the GeoElement geometry is a polyline or a polygon, the camera will focus on its center point. Once you have applied this camera controller to a SceneView, you cannot change the TargetGeoElement nor the viewpoint of the scene view.
Constructors
Name | Description |
---|---|
OrbitGeoElementCameraController(GeoElement, Double) | Initializes a new instance of the OrbitGeoElementCameraController class using a distance from a specified GeoElement. |
Properties
Name | Description |
---|---|
CameraDistance | Gets or sets the distance from the TargetGeoElement to the camera in meters. |
CameraHeadingOffset | Gets or sets the heading of the camera relative to the TargetGeoElement in degrees. |
CameraPitchOffset | Gets or sets the pitch of the camera relative to the TargetGeoElement in degrees. |
IsAutoHeadingEnabled | Gets or sets a value indicating whether the CameraHeadingOffset property is automatically synchronized with the TargetGeoElement symbol. |
IsAutoPitchEnabled | Gets or sets a value indicating whether the CameraPitchOffset property is automatically synchronized with the TargetGeoElement symbol. |
IsAutoRollEnabled | Gets or sets a value indicating whether the camera roll is automatically synchronized with the roll of the TargetGeoElement symbol. |
IsCameraDistanceInteractive | Gets or sets a value indicating whether user interactions (zoom) can affect the camera distance. |
IsCameraHeadingOffsetInteractive | Gets or sets a value indicating whether a horizontal pan interaction can affect the camera heading offset. |
IsCameraPitchOffsetInteractive | Gets or sets a value indicating whether a vertical pan interaction can affect the camera pitch offset. |
MaxCameraDistance | Gets or sets the maximum distance from the camera to the TargetGeoElement, in meters. |
MaxCameraHeadingOffset | Gets or sets the limit on CameraHeadingOffset relative to the TargetGeoElement, in degrees. |
MaxCameraPitchOffset | Gets or sets the maximum limit on CameraPitchOffset, in degrees. |
MinCameraDistance | Gets or sets the minimum distance from the camera to the TargetGeoElement, in meters. |
MinCameraHeadingOffset | Gets or sets the minimum limit on CameraHeadingOffset, in degrees. |
MinCameraPitchOffset | Gets or sets the minimum limit on CameraPitchOffset, in degrees. |
TargetGeoElement | Gets the target GeoElement of the orbit camera controller. |
TargetOffsetX | Gets or sets the offset of the target focus point relative to the TargetGeoElement in the X axis in the symbol coordinate system. |
TargetOffsetY | Gets or sets the offset of the target focus point relative to the TargetGeoElement in the Y axis in the symbol coordinate system. |
TargetOffsetZ | Gets or sets the offset of the target focus point relative to the TargetGeoElement in the Z axis in the symbol coordinate system. |
TargetVerticalScreenFactor | Gets or sets the target screen vertical factor of the orbit camera controller |
Methods
Name | Description |
---|---|
MoveCameraAsync(Double, Double, Double, Double) | Animates the camera to a new offset position with the specified duration. |
SetTargetOffsetsAsync(Double, Double, Double, Double) | Animates the camera to a new position using the target offsets of the camera. |
Applies to
Target | Versions |
---|---|
.NET Standard 2.0 | 100.3 - 200.5 |
.NET | 100.13 - 200.5 |
.NET Windows | 100.13 - 200.5 |
.NET Android | 200.0 - 200.5 |
.NET iOS | 200.0 - 200.5 |
.NET Framework | 100.1 - 200.5 |
Xamarin.Android | 100.1 - 100.15 |
Xamarin.iOS | 100.1 - 100.15 |
UWP | 100.1 - 200.5 |