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

Description

A class representing a symbol layer that's used to place a picture marker on a point geometry.

This symbol layer in a AGSMultilayerPointSymbol places a picture marker at the location of the point feature. The class supports changing dimensions of the marker, specifying the image (or URL linking to the image) to use as the marker, as well as the general marker options provided by the AGSMarkerSymbolLayer base class.

This symbol layer is similar to the Web Scene specification's IconSymbol3DLayer, when the IconSymbol3DLayer references an image. It is also similar to the Web Map specification's AGSPictureMarkerSymbol. As a symbol layer, AGSPictureMarkerSymbolLayer can be combined with other symbol layers in a AGSMultilayerSymbol, whereas AGSPictureMarkerSymbol cannot.

Since
100.5
Inheritance diagram for AGSPictureMarkerSymbolLayer:
AGSMarkerSymbolLayer <AGSLoadable> <AGSRemoteResource> AGSSymbolLayer AGSObject

Instance Methods

(void) - cancelLoad
 
(instancetype) - initWithImage:
 
(instancetype) - initWithURL:
 
(BOOL) - isEqualToSymbolLayer:
 
(void) - loadWithCompletion:
 
(void) - retryLoadWithCompletion:
 

Class Methods

(instancetype) + pictureMarkerSymbolLayerWithImage:
 
(instancetype) + pictureMarkerSymbolLayerWithURL:
 

Properties

AGSSymbolAnchor anchor
 
BOOL colorLocked
 
AGSCredentialcredential
 
BOOL enabled
 
double heading
 
AGSImageimage
 
NSError * loadError
 
AGSLoadStatus loadStatus
 
CGFloat offsetX
 
CGFloat offsetY
 
AGSRequestConfigurationrequestConfiguration
 
CGFloat size
 
AGSColortintColor
 
AGSSymbolLayerType type
 
NSURL * URL
 

Method Documentation

◆ cancelLoad

- (void) cancelLoad
requiredinherited

Cancels loading if it is in progress, otherwise it does nothing. This should be called carefully because other objects could be waiting for loadWithCompletion: or retryLoadWithCompletion: to complete and this will call them all back with the error of NSUserCancelledError

Since
100

◆ initWithImage:

- (instancetype) initWithImage: (AGSImage *)  image

Initializes a picture marker symbol layer with the provided image.

Parameters
imageto use with the symbol layer
Since
100.5

◆ initWithURL:

- (instancetype) initWithURL: (NSURL *)  URL

Initializes a picture marker symbol layer with the provided URL to an image.

Parameters
URLto an image.
Since
100.5

◆ isEqualToSymbolLayer:

- (BOOL) isEqualToSymbolLayer: (AGSSymbolLayer *)  other

Compares whether two symbol layers are equal.

Parameters
otherThe other symbol layer to compare this symbol layer to.
Returns
YES if the symbol layers are equal, NO if not.
Since
100.5

◆ loadWithCompletion:

- (void) loadWithCompletion: (nullable void(^)(NSError *__nullable error))  completion
requiredinherited

Loads data for the object asynchronously. The completion block is invoked upon completion.

You can call this method any number of times, however only one attempt is made to load the data. If it is already loading, it will just continue to load (i.e. not force a reload). If it has already loaded successfully, the completion block will be invoked right away. If it has already failed to load, the completion block will be invoked right away with error previously encountered. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.

Parameters
completionblock that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load.
Note
The completion block is always invoked on the main thread.
Since
100
See also
- cancelLoad to cancel loading
- retryLoadWithCompletion: to force reload

◆ pictureMarkerSymbolLayerWithImage:

+ (instancetype) pictureMarkerSymbolLayerWithImage: (AGSImage *)  image

Creates a picture marker symbol layer with the provided image.

Parameters
imageto use with the symbol layer.
Returns
A new picture marker symbol layer.
Since
100.5

◆ pictureMarkerSymbolLayerWithURL:

+ (instancetype) pictureMarkerSymbolLayerWithURL: (NSURL *)  URL

Creates a picture marker symbol layer with the provided URL to an image.

Parameters
URLto an image.
Returns
A new picture marker symbol layer.
Since
100.5

◆ retryLoadWithCompletion:

- (void) retryLoadWithCompletion: (nullable void(^)(NSError *__nullable error))  completion
requiredinherited

Tries to reload when an object has failed to load. This method should be called judiciously. It should be called when:

  1. you didn't have network connectivity earlier when it failed and you want to retry now that you have connectivity
  2. the server was down earlier when it failed and you want to retry
  3. the request is taking too long and you want to cancel it and retry, in which case you will first call cancelLoad and then this method

If the data hasn't started loading, it will start loading. If it is already loading, it will just continue to load. If it has already loaded successfully, calls back right away. If it has already failed to load, tries again. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.

Parameters
completionblock that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load.
Note
The completion block is always invoked on the main thread.
Since
100

Property Documentation

◆ anchor

- (AGSSymbolAnchor) anchor
readwritenonatomicassigninherited

The anchor of a marker symbol layer. It determines how marker symbols are anchored and specifies the marker's anchor point and anchor placement mode. The default symbol anchor is at XY(0, 0) and uses AGSSymbolAnchorPlacementModeRelative placement.

Since
100.5

◆ colorLocked

- (BOOL) colorLocked
readwritenonatomicassigninherited

Indicates whether or not the symbol layer is color locked. If YES, the layer's color will not change.

Since
100.5

◆ credential

- (AGSCredential*) credential
readwritenonatomicstronginherited

Security credentials to access the remote resource. Only applicable if the resource is secured.

Since
100

◆ enabled

- (BOOL) enabled
readwritenonatomicassigninherited

Indicates whether or not the symbol layer is enabled. Layer will be rendered only when enabled.

Since
100.5

◆ heading

- (double) heading
readwritenonatomicassigninherited

The angle of rotation about the anchor point, in degrees. It may be any real number. Defaults to 0. This property affects markers in both maps and scenes. Positive angles rotate the marker counterclockwise.

Angle for an AGSMarkerSymbolLayer object is measured in degrees counterclockwise from 0 to 360. Marker symbol layers can have a separate heading value defined (which is also 0 by default). Setting a heading for a marker symbol layer does not affect the angle of the point symbol. When an angle value is set for the point symbol, however, that value is applied cumulatively to all the marker symbol layers it contains. The heading for individual symbol layers must be re-fetched in order to see the updated value. In 2D, the rotation applies around the anchor point of the 2D marker. For 3D markers, the rotation applies around the z-axis.

Since
100.5

◆ image

- (AGSImage*) image
readnonatomicstrong

The image being used by the picture marker symbol layer. May be nil until loadStatus is AGSLoadStatusLoaded.

Since
100.5

◆ loadError

- (NSError*) loadError
readnonatomicstronginherited

The error that was encountered during the most recent load operation. Will be nil if the operation succeeded.

Since
100

◆ loadStatus

- (AGSLoadStatus) loadStatus
readrequirednonatomicassigninherited

Status of the load operation.

Since
100

◆ offsetX

- (CGFloat) offsetX
readwritenonatomicassigninherited

The marker symbol layer's x-offset. It may be any real number. Defaults to 0. This property affects markers in both maps and scenes. The x-offset is a delta applied to the marker in the direction corresponding to the given value. For example, a positive x-offset moves the marker in the positive-x direction.

Since
100.5

◆ offsetY

- (CGFloat) offsetY
readwritenonatomicassigninherited

The marker symbol layer's y-offset. It may be any real number. Defaults to 0. This property affects markers in both maps and scenes. The y-offset is a delta applied to the marker in the direction corresponding to the given value. For example, a positive y-offset moves the marker in the positive-y direction.

Since
100.5

◆ requestConfiguration

- (AGSRequestConfiguration*) requestConfiguration
readwritenonatomicstronginherited

The AGSRequestConfiguration object which defines the behavior and policies to use when accessing the remote resource. The default will be nil. If it is nil the [AGSRequestConfiguration globalConfiguration] will be used.

Since
100

◆ size

- (CGFloat) size
readwritenonatomicassigninherited

The size of marker symbol layer. It may be any real positive number. The default value is 13.333 DIPs (10 points). A larger size means a larger marker.

Since
100.5

◆ tintColor

- (AGSColor*) tintColor
readwritenonatomicstrong

The tint color of a picture marker symbol layer. The tint color is applied to the entire image by multiplying each RGB color channel in the image by the corresponding color channel of the tint color. The default tint color is white with 100% opacity, i.e. RGBA(255, 255, 255, 255), which leaves the image with its native colors. A white tint color with opacity less than 100% tints the image white, with the reduced opacity respected.

When getting the tint color from a symbol, the consensus value is reported. If there is no consensus (one or more layers have different tint colors), a nil value is reported for the tint color. Likewise, setting a value for tint color on a symbol will apply that tint color to all layers the symbol contains.

Since
100.6

◆ type

- (AGSSymbolLayerType) type
readnonatomicassigninherited

The type of the symbol layer. AGSSymbolLayerTypeUnknown is returned when an error occurs

Since
100.5

◆ URL

- (NSURL*) URL
readrequirednonatomicstronginherited

The URL of the remote resource.

Since
100