ArcGIS Runtime SDK for iOS: AGSGeoView Class Reference
ArcGIS Runtime SDK for iOS  100.15
AGSGeoView Class Reference

Description

A base class for all views that can display geographic content on screen.

A base class for all views that can display geographic content on screen. Subclasses can display the content in either 2D (AGSMapView) or 3D (AGSSceneView). In an MVC architecture, this class and its subclasses represent the View tier. The Model tier is represented by the geographic content which could be a map (AGSMap) or scene (AGSScene).

Since
100
Inheritance diagram for AGSGeoView:
AGSMapViewCommon AGSSceneViewCommon AGSMapView AGSSceneView

Instance Methods

(nullable AGSViewpoint *) - currentViewpointWithType:
 
(id< AGSCancelable >) - exportImageWithCompletion:
 
(id< AGSCancelable >) - identifyGraphicsOverlay:screenPoint:tolerance:returnPopupsOnly:completion:
 
(id< AGSCancelable >) - identifyGraphicsOverlay:screenPoint:tolerance:returnPopupsOnly:maximumResults:completion:
 
(id< AGSCancelable >) - identifyGraphicsOverlaysAtScreenPoint:tolerance:returnPopupsOnly:completion:
 
(id< AGSCancelable >) - identifyGraphicsOverlaysAtScreenPoint:tolerance:returnPopupsOnly:maximumResultsPerOverlay:completion:
 
(id< AGSCancelable >) - identifyLayer:screenPoint:tolerance:returnPopupsOnly:completion:
 
(id< AGSCancelable >) - identifyLayer:screenPoint:tolerance:returnPopupsOnly:maximumResults:completion:
 
(id< AGSCancelable >) - identifyLayersAtScreenPoint:tolerance:returnPopupsOnly:completion:
 
(id< AGSCancelable >) - identifyLayersAtScreenPoint:tolerance:returnPopupsOnly:maximumResultsPerLayer:completion:
 
(nullable AGSLayerViewState *) - layerViewStateForLayer:
 
(id< AGSCancelable >) - setBookmark:completion:
 
(void) - setViewpoint:
 
(id< AGSCancelable >) - setViewpoint:completion:
 
(id< AGSCancelable >) - setViewpoint:duration:completion:
 

Properties

NSString * attributionText
 
BOOL attributionTextVisible
 
NSLayoutYAxisAnchor * attributionTopAnchor
 
AGSCalloutcallout
 
AGSDrawStatus drawStatus
 
NSMutableArray< AGSGraphicsOverlay * > * graphicsOverlays
 
AGSViewLabelPropertieslabeling
 
void(^ layerViewStateChangedHandler )(AGSLayer *layer, AGSLayerViewState *layerViewState)
 
BOOL navigating
 
BOOL releaseHardwareResourcesWhenBackgrounded
 
AGSSelectionPropertiesselectionProperties
 
AGSSpatialReferencespatialReference
 
AGSTimeExtenttimeExtent
 
IBOutlet id< AGSGeoViewTouchDelegatetouchDelegate
 
void(^ viewpointChangedHandler )(void)
 
BOOL wrapAroundEnabled
 

Method Documentation

◆ currentViewpointWithType:

- (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.

Parameters
viewpointTypespecifying how the viewpoint should be represented.
Returns
The viewpoint.
Since
100

◆ exportImageWithCompletion:

- (id<AGSCancelable>) exportImageWithCompletion: (void(^)(AGSImage *__nullable image, NSError *__nullable error))  completion

Provides an image depicting the view's current display.

Parameters
completionblock that is invoked when the operation completes.
Returns
An operation which can be canceled.
Since
100

◆ identifyGraphicsOverlay:screenPoint:tolerance:returnPopupsOnly:completion:

- (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.

Parameters
graphicsOverlayin which to identify graphics.
screenPointat which to identify graphics.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
completionblock that is invoked when the operation is complete with the result.
Returns
An operation which can be canceled.
Since
100

◆ identifyGraphicsOverlay:screenPoint:tolerance:returnPopupsOnly:maximumResults:completion:

- (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.

Parameters
graphicsOverlayin which to identify graphics.
screenPointat which to identify graphics.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
maximumResultsthat should be returned as the result.
completionblock that is invoked when the operation is complete with the result.
Returns
An operation which can be canceled.
Since
100

◆ identifyGraphicsOverlaysAtScreenPoint:tolerance:returnPopupsOnly:completion:

- (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.

Parameters
screenPointat which to identify graphics.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
completionblock that is invoked when the operation is complete with either the results or an error.
Returns
An operation which can be canceled.
Since
100

◆ identifyGraphicsOverlaysAtScreenPoint:tolerance:returnPopupsOnly:maximumResultsPerOverlay:completion:

- (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.

Parameters
screenPointat which to identify graphics.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
maximumResultsPerOverlaythat should be returned for each overlay in the result.
completionblock that is invoked when the operation is complete with either the results or an error.
Returns
An operation which can be canceled.
Since
100

◆ identifyLayer:screenPoint:tolerance:returnPopupsOnly:completion:

- (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.

Parameters
layerin which to identify features.
screenPointat which to identify features.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
completionblock that is invoked when the operation is complete with the result.
Returns
An operation which can be canceled.
Since
100

◆ identifyLayer:screenPoint:tolerance:returnPopupsOnly:maximumResults:completion:

- (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.

Parameters
layerin which to identify features.
screenPointat which to identify features.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
maximumResultsto return.
completionblock that is invoked when the operation is complete with the result.
Returns
An operation which can be canceled.
Since
100

◆ identifyLayersAtScreenPoint:tolerance:returnPopupsOnly:completion:

- (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.

Parameters
screenPointat which to identify features.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
completionblock that is invoked when the operation is complete with either the results or an error.
Returns
An operation which can be canceled.
Since
100

◆ identifyLayersAtScreenPoint:tolerance:returnPopupsOnly:maximumResultsPerLayer:completion:

- (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.

Parameters
screenPointat which to identify features.
toleranceradius 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.
returnPopupsOnlyspecifies 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.
maximumResultsPerLayerto return.
completionblock that is invoked when the operation is complete with either the results or an error.
Returns
An operation which can be canceled.
Since
100

◆ layerViewStateForLayer:

- (nullable AGSLayerViewState*) layerViewStateForLayer: (AGSLayer *)  layer

Get the current view state for a map or scene layer.

Parameters
layerto get the view state for.
Returns
The view state.
Since
100

◆ setBookmark:completion:

- (id<AGSCancelable>) setBookmark: (AGSBookmark *)  bookmark
completion: (nullable void(^)(BOOL finished))  completion 

Zoom or pan with animation to the viewpoint specified by the provided bookmark.

Parameters
bookmarkwhose viewpoint will be used to pan/zoom to.
completionblock which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption.
Since
100.2

◆ setViewpoint:

- (void) setViewpoint: (AGSViewpoint *)  viewpoint

Zoom or pan without animation to the specified viewpoint.

Parameters
viewpointto zoom/pan to.
Since
100
See also
- setViewpoint:completion: to zoom/pan with animation.

◆ setViewpoint:completion:

- (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.

Parameters
viewpointto zoom/pan to.
completionblock which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption.
Returns
An operation which can be canceled.
Since
100

◆ setViewpoint:duration:completion:

- (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.

Parameters
viewpointto zoom/pan to.
durationfor the zoom/pan animation in seconds.
completionblock which is invoked when operation completes. The finished argument indicates whether the animation continued until the end without any interruption.
Returns
An operation which can be canceled.
Since
100

Property Documentation

◆ attributionText

- (NSString*) attributionText
readnonatomiccopy

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).

Since
100.1

◆ attributionTextVisible

- (BOOL) attributionTextVisible
readwritenonatomicassign

Specifies whether the attribution text banner (along the bottom edge of the view) should be visible. Defaults to YES.

Since
100

◆ attributionTopAnchor

- (NSLayoutYAxisAnchor*) attributionTopAnchor
readnonatomicstrong

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.

Since
100.1

◆ callout

- (AGSCallout*) callout
readnonatomicstrong

A callout view for displaying information on the map.

Since
100

◆ drawStatus

- (AGSDrawStatus) drawStatus
readnonatomicassign

Current drawing status of the view's content (map or scene). The draw status changes can be monitored using Key-Value Observing (KVO).

Since
100

◆ graphicsOverlays

- (NSMutableArray<AGSGraphicsOverlay*>*) graphicsOverlays
readnonatomicstrong

A list of AGSGraphicsOverlay objects that can be used to display graphics on top of the view's content.

Note
This array does not allow duplicate objects.
Since
100

◆ labeling

- (AGSViewLabelProperties*) labeling
readwritenonatomicstrong

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.

See also
AGSViewLabelProperties
Since
100.10

◆ layerViewStateChangedHandler

- (void(^ layerViewStateChangedHandler) (AGSLayer *layer, AGSLayerViewState *layerViewState))
readwritenonatomiccopy

Block that is invoked whenever any map or scene layer's view state changes.

Note
The block will be invoked on the same thread on which the event occurred, which could be any arbitrary thread. You need to dispatch any UI related work to the main thread.
Since
100

◆ navigating

- (BOOL) navigating
readnonatomicassign

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).

Since
100

◆ releaseHardwareResourcesWhenBackgrounded

- (BOOL) releaseHardwareResourcesWhenBackgrounded
readwritenonatomicassign

◆ selectionProperties

- (AGSSelectionProperties*) selectionProperties
readwritenonatomicstrong

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.

Since
100.4

◆ spatialReference

- (AGSSpatialReference*) spatialReference
readnonatomicstrong

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).

Since
100
See also
http://desktop.arcgis.com/en/arcmap/latest/map/projections/what-are-map-projections.htm

◆ timeExtent

- (AGSTimeExtent*) timeExtent
readwritenonatomicstrong

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).

See also
The AGSTimeAware::timeFilteringEnabled property to see if time filtering is enabled on layers.
Since
100.2

◆ touchDelegate

- (IBOutlet id<AGSGeoViewTouchDelegate>) touchDelegate
readwritenonatomicweak

Delegate to be notified when touch events occur on the map.The delegate class must adopt the AGSGeoViewTouchDelegate protocol.

Since
100

◆ viewpointChangedHandler

- (void(^ viewpointChangedHandler) (void))
readwritenonatomiccopy

Block that gets invoked whenever the viewpoint changes.

Note
This handler may get invoked up to 60 times per second, for example, when a pan or zoom animation is in progress. Do not perform any heavy-lifting in this handler as it may adversely impact the rendering performance.
The block will be invoked on the same thread on which the event occurred, which could be any arbitrary thread. You need to dispatch any UI related work to the main thread.
Since
100

◆ wrapAroundEnabled

- (BOOL) wrapAroundEnabled
readnonatomicassign

Specifies whether the view's content wraps around the dateline.

Since
100