ArcGIS Runtime SDK for iOS
100.15
|
A view component to display 3D geographic content such as scenes.
Instances of this class represent views that can display 3D geographic content such as scenes on screen. In an MVC architecture, this class represents the view tier. The model tier is represented by an AGSScene
object which contains the geographic content.
To display a scene, add an AGSSceneView
object to your view controller's view heirarchy. You can do this either using Interface Builder and storyboards, or programmatically in code. Next, assign an AGSScene
object to the scene view. The scene view will automatically load the scene, its basemap, and operational layers, and display their contents on screen.
To navigate the scene, you can use touch gestures such as double-tap, drag, two-finger tap, etc. You can also programmatically change the viewpoint with or without animation.
AGSMapView
to display 2D geographic content such as maps. - (AGSCamera *) currentViewpointCamera |
Get the camera position for the current viewpoint being displayed.
- (nullable AGSViewpoint*) currentViewpointWithType: | (AGSViewpointType) | viewpointType |
Gets the current viewpoint being displayed. For an AGSMapView
, this takes into account the attribution bar and any contentInset
that has been specified to return only the unobscured portion of the map.
viewpointType | specifying how the viewpoint should be represented. |
- (id<AGSCancelable>) exportImageWithCompletion: | (void(^)(AGSImage *__nullable image, NSError *__nullable error)) | completion |
Provides an image depicting the view's current display.
completion | block that is invoked when the operation completes. |
- (id<AGSCancelable>) identifyGraphicsOverlay: | (AGSGraphicsOverlay *) | graphicsOverlay | |
screenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
completion: | (void(^)(AGSIdentifyGraphicsOverlayResult *identifyResult)) | completion | |
Identify (hit-test) the top-most graphic that appears at the specified screen coordinates in the provided graphics overlay.
graphicsOverlay | in which to identify graphics. |
screenPoint | at which to identify graphics. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those graphics appearing at the exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means graphics appearing within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES , only overlays with popups will be retured. If set to NO , all overlays (with or without popups) will be retured. |
completion | block that is invoked when the operation is complete with the result. |
- (id<AGSCancelable>) identifyGraphicsOverlay: | (AGSGraphicsOverlay *) | graphicsOverlay | |
screenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
maximumResults: | (NSInteger) | maximumResults | |
completion: | (void(^)(AGSIdentifyGraphicsOverlayResult *identifyResult)) | completion | |
Identify (hit-test) which graphics appear at the specified screen coordinates in the provided graphics overlay.
graphicsOverlay | in which to identify graphics. |
screenPoint | at which to identify graphics. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those graphics appearing at the exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means graphics appearing within a 44 pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES, only overlays with popups will be retured. If set to NO, all overlays (with or without popups) will be retured. |
maximumResults | that should be returned as the result. |
completion | block that is invoked when the operation is complete with the result. |
- (id<AGSCancelable>) identifyGraphicsOverlaysAtScreenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
completion: | (void(^)(NSArray< AGSIdentifyGraphicsOverlayResult * > *__nullable identifyResults, NSError *__nullable error)) | completion | |
Identify (hit-test) the top-most graphic that appears at the specified screen coordinates in all the graphics overlays.
screenPoint | at which to identify graphics. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those graphics at that exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means graphics within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES , only overlays with popups will be retured. If set to NO , all overlays (with or without popups) will be retured. |
completion | block that is invoked when the operation is complete with either the results or an error. |
- (id<AGSCancelable>) identifyGraphicsOverlaysAtScreenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
maximumResultsPerOverlay: | (NSInteger) | maximumResultsPerOverlay | |
completion: | (void(^)(NSArray< AGSIdentifyGraphicsOverlayResult * > *__nullable identifyResults, NSError *__nullable error)) | completion | |
Identify (hit-test) which graphics appear at the specified screen coordinates in all the graphics overlays.
screenPoint | at which to identify graphics. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those graphics at that exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means graphics within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES, only overlays with popups will be retured. If set to NO, all overlays (with or without popups) will be retured. |
maximumResultsPerOverlay | that should be returned for each overlay in the result. |
completion | block that is invoked when the operation is complete with either the results or an error. |
- (id<AGSCancelable>) identifyLayer: | (AGSLayer *) | layer | |
screenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
completion: | (void(^)(AGSIdentifyLayerResult *identifyResult)) | completion | |
Identify (hit-test and/or spatially query) the top-most feature that appears at the specified screen coordinates in the provided layer.
layer | in which to identify features. |
screenPoint | at which to identify features. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those features appearing at the exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means features appearing within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES , only layers with popups will be retured. If the layer does not have popups an error will be returned. If set to NO , all layers (with or without popups) will be retured. |
completion | block that is invoked when the operation is complete with the result. |
- (id<AGSCancelable>) identifyLayer: | (AGSLayer *) | layer | |
screenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
maximumResults: | (NSInteger) | maximumResults | |
completion: | (void(^)(AGSIdentifyLayerResult *identifyResult)) | completion | |
Identify (hit-test and/or spatially query) all features that appear at the specified screen coordinates in the provided layer.
layer | in which to identify features. |
screenPoint | at which to identify features. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those features appearing at the exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means features appearing within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES , only layers with popups will be retured. If the layer does not have popups an error will be returned. If set to NO , all layers (with or without popups) will be retured. |
maximumResults | to return. |
completion | block that is invoked when the operation is complete with the result. |
- (id<AGSCancelable>) identifyLayersAtScreenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
completion: | (void(^)(NSArray< AGSIdentifyLayerResult * > *__nullable identifyResults, NSError *__nullable error)) | completion | |
Identify (hit-test and/or spatially query) the top-most feature that appears at the specified screen coordinates in each of the map's layers.
screenPoint | at which to identify features. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those features appearing at the exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means features appearing within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES , only layers with popups will be retured. If the layer does not have popups an error will be returned. If set to NO , all layers (with or without popups) will be retured. |
completion | block that is invoked when the operation is complete with either the results or an error. |
- (id<AGSCancelable>) identifyLayersAtScreenPoint: | (CGPoint) | screenPoint | |
tolerance: | (double) | tolerance | |
returnPopupsOnly: | (BOOL) | returnPopupsOnly | |
maximumResultsPerLayer: | (NSInteger) | maximumResultsPerLayer | |
completion: | (void(^)(NSArray< AGSIdentifyLayerResult * > *__nullable identifyResults, NSError *__nullable error)) | completion | |
Identify (hit-test and/or spatially query) which features appear at the specified screen coordinates in all the map's layers.
screenPoint | at which to identify features. |
tolerance | radius in points specifying how precise the identify operation should be. A value of 0 means that it should be extremely precise - only those features appearing at the exact coordinates should be returned. A value of 22 (a good default for touch displays which covers an average finger tap) means features appearing within a 44pt buffer can also be returned. Max value permitted is 100. |
returnPopupsOnly | specifies what the identify results should contain. If set to YES , only layers with popups will be retured. If the layer does not have popups an error will be returned. If set to NO , all layers (with or without popups) will be retured. |
maximumResultsPerLayer | to return. |
completion | block that is invoked when the operation is complete with either the results or an error. |
- (nullable AGSLayerViewState*) layerViewStateForLayer: | (AGSLayer *) | layer |
Get the current view state for a map or scene layer.
layer | to get the view state for. |
- (AGSLocationToScreenResult *) locationToScreen: | (AGSPoint *) | mapPoint |
Converts the specified location in map units to a point in screen units.
mapPoint | to convert. |
- (void) renderFrame |
If isManualRendering
is YES
, then use this method to render a frame of the AGSSceneView
. This is a blocking call until the AGSSceneView
has completed the rendering.
- (AGSPoint *) screenToBaseSurface: | (CGPoint) | screenPoint |
Converts the specified screen point to a location on the base surface i.e. ignoring any 3D features/graphics on or above the surface that may be intersecting the screen point. The location returned will have a z-value corresponding to the elevation at the intersecting surface.
screenPoint | point to convert. |
- screenToLocation:completion:
to get a location taking into account any features/graphics intersecting the input screen point. - (id<AGSCancelable>) screenToLocation: | (CGPoint) | screenPoint | |
completion: | (void(^)(AGSPoint *location)) | completion | |
Converts the specified screen point to a map location. The location could be on the surface, on a building, or on a feature/graphic above ground (for e.g. an aircraft).
This is a high performance calculation executed on the GPU using a triangular mesh. Note that elevation values are approximated, and as the distance between the camera and the surface increases, the precision of the elevation value decreases.
This method checks for intersection between the input screen point and features/graphics in the scene. It returns a point with X, Y and Z values matching the intersection point. If the input point does not intersect a visible feature/graphic, the scene's surface is used to retrieve the intersection point.
screenPoint | point to convert. |
completion | block that is invoked with the result map location. |
- screenToBaseSurface:
to get a location on the surface ignoring any intersecting features/graphics. - (id<AGSCancelable>) setBookmark: | (AGSBookmark *) | bookmark | |
completion: | (nullable void(^)(BOOL finished)) | completion | |
Zoom or pan with animation to the viewpoint specified by the provided bookmark.
bookmark | whose viewpoint will be used to pan/zoom to. |
completion | block which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption. |
- (void) setFieldOfViewAndDistortionRatioWithAngle: | (double) | angle | |
distortionRatio: | (double) | distortionRatio | |
Sets the field of view on the scene view in degrees and determines how much the vertical field of view is distorted. A distortion factor of 1.0
is default. A distortion factor less than 1.0
will cause the visuals to be stretched taller in comparison to their width. A distortion factor greater than 1.0
will cause the visuals to be shrunk shorter in comparison to their width.
angle | The field of view on the scene view in degrees. This value must be greater than 0 and less than or equal to 120 . |
distortionRatio | The field of view vertical distortion ratio. This value must be between 0.1 and 10 . |
- (void) setFieldOfViewFromLensIntrinsicsWithXFocalLength: | (float) | xFocalLength | |
yFocalLength: | (float) | yFocalLength | |
xPrincipal: | (float) | xPrincipal | |
yPrincipal: | (float) | yPrincipal | |
xImageSize: | (float) | xImageSize | |
yImageSize: | (float) | yImageSize | |
deviceOrientation: | (UIDeviceOrientation) | deviceOrientation | |
Allows for matching the field of view of the scene view to the field of view. of a camera lens using the lens characteristics. All of the parameters must be greater than 0
.
xFocalLength | The pixel focal length along the x axis. The units are in pixels. xFocal and yFocal should be identical for square pixels. |
yFocalLength | The pixel focal length along the y axis. The units are in pixels. xFocal and yFocal should be identical for square pixels. |
xPrincipal | The distance along the x axis between the principal point and the top-left corner of the image frame. The units are in pixels. This must also be less than xImageSize. |
yPrincipal | The distance along the y axis between the principal point and the top-left corner of the image frame. The units are in pixels. This must also be less than yImageSize. |
xImageSize | The x value of the image size captured by the camera. The units are in pixels. |
yImageSize | The y value of the image size captured by the camera. The units are in pixels. |
deviceOrientation | Describes the orientation of the device. |
- (void) setFieldOfViewWithAngle: | (double) | angle |
Sets the field of view on the scene view in degrees.
angle | The field of view on the scene view in degrees. This value must be greater than 0 and less than or equal to 120 . |
- (void) setViewpoint: | (AGSViewpoint *) | viewpoint |
Zoom or pan without animation to the specified viewpoint.
viewpoint | to zoom/pan to. |
- setViewpoint:completion:
to zoom/pan with animation. - (id<AGSCancelable>) setViewpoint: | (AGSViewpoint *) | viewpoint | |
completion: | (nullable void(^)(BOOL finished)) | completion | |
Zoom or pan with animation to the specified viewpoint. Animates over 0.25 seconds. See setViewpoint:duration:completion:
to set viewpoint that animates over a specific duration.
viewpoint | to zoom/pan to. |
completion | block which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption. |
- (id<AGSCancelable>) setViewpoint: | (AGSViewpoint *) | viewpoint | |
duration: | (double) | duration | |
completion: | (nullable void(^)(BOOL finished)) | completion | |
Zoom or pan with animation to the specified viewpoint. Animates over the specified duration.
viewpoint | to zoom/pan to. |
duration | for the zoom/pan animation in seconds. |
completion | block which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption. |
- (void) setViewpointCamera: | (AGSCamera *) | camera |
Zoom or pan without animation to the viewpoint specified by the camera position.
camera | position. |
- (id<AGSCancelable>) setViewpointCamera: | (AGSCamera *) | camera | |
completion: | (nullable void(^)(BOOL finished)) | completion | |
Zoom or pan with animation to the viewpoint specified by the camera position. Animates over 0.25
seconds. See setViewpointCamera:duration:completion:
to set viewpoint that animates over a specific duration.
camera | position. |
completion | block which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption. |
- (id<AGSCancelable>) setViewpointCamera: | (AGSCamera *) | camera | |
duration: | (double) | duration | |
completion: | (nullable void(^)(BOOL finished)) | completion | |
Zoom or pan with animation to the viewpoint specified by the camera position. Animates over the specified duration.
camera | position. |
duration | in seconds to perform the animation over. |
completion | block which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption. |
|
readwritenonatomicstronginherited |
The color of scene view's ambient light.
|
readwritenonatomicassigninherited |
The effect to be applied to the scene's atmosphere.
|
readnonatomiccopyinherited |
Attribution for the geographic data currently being displayed in the view. This information is displayed in a banner along the bottom edge of the view. The attribution text changes can be monitored using Key-Value Observing (KVO).
|
readwritenonatomicassigninherited |
Specifies whether the attribution text banner (along the bottom edge of the view) should be visible. Defaults to YES
.
|
readnonatomicstronginherited |
The NSLayoutAnchor
you can use to layout views in relationship to the attribution text on the AGSGeoView
. This is helpful if you want to place a view just above the attribution text. And when the attribution text is collapsed or expanded your view will automatically move to the correct location in relation to the attribution text.
|
readnonatomicstronginherited |
A callout view for displaying information on the map.
|
readwritenonatomicstronginherited |
The scene view's camera controller user to determine the camera interaction and navigation model. Defaults to AGSGlobeCameraController
to allow free-form roaming around the globe.
AGSGlobeCameraController
, AGSOrbitGeoElementCameraController
, AGSOrbitLocationCameraController
, AGSTransformationMatrixCameraController
|
readnonatomicassigninherited |
Current drawing status of the view's content (map or scene). The draw status changes can be monitored using Key-Value Observing (KVO).
|
readnonatomicassigninherited |
The field of view on the scene view in degrees.
|
readnonatomicassigninherited |
Determines how much the vertical field of view is distorted. A distortion factor of 1.0
is default. A distortion factor less than 1.0
will cause the visuals to be stretched taller in comparison to their width. A distortion factor greater than 1.0
will cause the visuals to be shrunk shorter in comparison to their width.
|
readnonatomicstronginherited |
A list of AGSGraphicsOverlay
objects that can be used to display graphics on top of the view's content.
|
readnonatomicstronginherited |
A mutable array of overlays for displaying images in the scene view. An image overlay array cannot belong to more that one AGSSceneView
.
If the array contains multiple image overlays, they display in the order in which they were added to the array. So the first overlay in the array (at index 0) displays at the bottom and each one that follows displays on top of the previous ones. If the AGSSceneView
also has an AGSGraphicsOverlay
, it displays on top of the AGSImageOverlay
.
|
readwritenonatomicstronginherited |
Options to configure user interactions with the view.
|
readwritenonatomicstronginherited |
The view label properties.
The view label properties are an overall control for whether labels will be created and displayed for layers added to the view. Individual layers can also control whether labels should be displayed for their features. Labels need to be enabled both in the view and in the layer. By default the labeling for a view is enabled. The view label properties also control global aspects of the label appearance e.g. animation effects.
AGSViewLabelProperties
|
readwritenonatomiccopyinherited |
Block that is invoked whenever any map or scene layer's view state changes.
|
readwritenonatomicassigninherited |
When set to YES
, the AGSSceneView
will only render when renderFrame
is called. When set to NO
, the AGSSceneView
will render automatically. This property is useful to set to @YES if you need to sync up the rendering of the AGSSceneView
with another source such as a camera feed. The default value is NO
.
- renderFrame
|
readnonatomicassigninherited |
Specifies whether the view is navigating, for example, when a pan or zoom animation is in progress or if a user is interacting with the view by dragging or pinching. The navigating changes can be monitored using Key-Value Observing (KVO).
|
readwritenonatomicassigninherited |
|
readwritenonatomicstronginherited |
The scene to be displayed by this scene view. The scene view loads the scene and all of its layers in order to display their content on screen.
|
readwritenonatomicstronginherited |
The selection properties that is applied to the geo view.
This property allows configuration of new selection highlighting functionality such as selection promotion and switchable selection halo.
Notes on per-layer selection coloring (supported in 2D only):
The deprecated per-layer selection coloring functionality is initially enabled.
If the AGSGeoView's
AGSSelectionProperties
are touched, per-layer selection coloring is then disabled for the lifetime of the view. (Here, 'touched' means replacing the view's AGSSelectionProperties
, or calling a setter property on the view's AGSSelectionProperties
).
Use of per-layer selection coloring is deprecated and may have a detrimental impact on rendering performance.
When per-layer coloring is enabled and more than one selection color is configured, selection halo will be disabled.
To enable selection halo or promotion, set the properties to YES
. Again, this will automatically disable per-layer selection coloring for the lifetime of the view.
|
readwritenonatomicassigninherited |
Determines whether outer space is black with stars or transparent in the scene view. The default is AGSSpaceEffectStars
.
|
readnonatomicstronginherited |
Spatial reference defining the coordinate system in which the view's content is displayed. The spatial reference changes can be monitored using Key-Value Observing (KVO).
|
readwritenonatomicassigninherited |
The type of sun lighting to be applied to the scene view. For example, this can be used to control whether the terrain and 3D models cast a shadow.
|
readwritenonatomicstronginherited |
Position of the sun based on a specific date & time.
|
readwritenonatomicstronginherited |
The current AGSTimeExtent
of the AGSGeoView
. The Time Extent of the AGSGeoView
defines how time-enabled data is displayed. Participating layers filter their data to only show data within the time extent set on the AGSGeoView
(see AGSTimeAware
for details). The range of the time extent includes the start and end values (a feature at 10/24/2016 would be included in a time extent defined as 10/24/2016 - 11/14/2016). Time filtering is not enabled until a non-nil time extent is set on the AGSGeoView
. When the time extent is nil
on the GeoView, no time filtering is applied and all content is rendered. The time extent changes can be monitored using Key-Value Observing (KVO).
AGSTimeAware::timeFilteringEnabled
property to see if time filtering is enabled on layers.
|
readwritenonatomicweakinherited |
Delegate to be notified when touch events occur on the map.The delegate class must adopt the AGSGeoViewTouchDelegate
protocol.
|
readwritenonatomiccopyinherited |
Block that gets invoked whenever the viewpoint changes.
|
readnonatomicassigninherited |
Specifies whether the view's content wraps around the dateline.