ArcGIS Runtime SDK for iOS
100.15
|
A dictionary symbol style object containing symbol primitives and rules for generating symbols from attribute values.
An AGSDictionarySymbolStyle
is created with either from a style file on disk (an SQLite database with a .stylx extension, created with ArcGIS Pro) or from a dictionary style file hosted on ArcGIS Online or an ArcGIS Enterprise portal (also referred to as a dictionary web style).
An AGSDictionarySymbolStyle
must contain a set of symbol primitives and a rule engine that parses input fields. The AGSDictionarySymbolStyle
assembles new symbols based on the input attribute values. AGSDictionarySymbolStyle
is often used to render symbols from a military specification (such as Mil2525D or App6B) but can also be used with a custom style.
An AGSDictionarySymbolStyle
is used in conjunction with an AGSDictionaryRenderer
to symbolize geoelements in a AGSFeatureLayer
or AGSGraphicsOverlay
.
AGSDictionaryRenderer
Instance Methods | |
(void) | - cancelLoad |
(id< AGSCancelable >) | - defaultSearchParametersWithCompletion: |
(void) | - doCancelLoading |
(void) | - doStartLoading: |
(instancetype) | - initWithFileURL: |
(instancetype) | - initWithName: |
(instancetype) | - initWithPortalItem: |
(instancetype) | - initWithSpecificationType: |
(instancetype) | - initWithSpecificationType:styleURL: |
(instancetype) | - initWithStyleName:portal: |
(instancetype) | - initWithURL: |
(void) | - loadDidFinishWithError: |
(void) | - loadWithCompletion: |
(void) | - onLoadStatusChanged |
(void) | - retryLoadWithCompletion: |
(id< AGSCancelable >) | - searchSymbolsWithParameters:completion: |
(id< AGSCancelable >) | - symbolForKeys:completion: |
(id< AGSCancelable >) | - symbolWithAttributes:completion: |
Class Methods | |
(instancetype) | + dictionarySymbolStyleWithFileURL: |
(instancetype) | + dictionarySymbolStyleWithName: |
(instancetype) | + dictionarySymbolStyleWithPortalItem: |
(instancetype) | + dictionarySymbolStyleWithSpecificationType: |
(instancetype) | + dictionarySymbolStyleWithSpecificationType:styleURL: |
(instancetype) | + dictionarySymbolStyleWithURL: |
(instancetype) | + symbolStyleWithName: |
(instancetype) | + symbolStyleWithPortalItem: |
(instancetype) | + symbolStyleWithStyleName:portal: |
(instancetype) | + symbolStyleWithURL: |
Properties | |
NSDictionary< NSString *, NSString * > * | configurationProperties |
NSArray< AGSDictionarySymbolStyleConfiguration * > * | configurations |
AGSCredential * | credential |
NSString * | dictionaryName |
NSError * | loadError |
AGSLoadStatus | loadStatus |
AGSPortal * | portal |
AGSPortalItem * | portalItem |
AGSRequestConfiguration * | requestConfiguration |
NSString * | specificationType |
NSString * | styleName |
NSArray< NSString * > * | symbologyFieldNames |
NSArray< NSString * > * | textFieldNames |
NSURL * | URL |
|
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
- (id<AGSCancelable>) defaultSearchParametersWithCompletion: | (void(^)(AGSSymbolStyleSearchParameters *__nullable searchParams, NSError *__nullable error)) | completion |
A convenience method to get properly initialized search parameters for looking up symbols within the .stylx file. The parameters contain all of the possible input values for categories, keys, names, symbolClasses, and tags. This is an expensive task that should be used sparingly. Returns a AGSSymbolStyleSearchParameters
object providing all available search parameters from the database.
This asynchronous task retrieves all the valid input search parameters for a style. This means you get all of the possible input values for categories, keys, names, symbolClasses, and tags. This is an expensive task that should be used sparingly.
completion | Block that is invoked when the operation finishes. The searchParams parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
+ (instancetype) dictionarySymbolStyleWithFileURL: | (NSURL *) | fileURL |
Creates a new dictionary symbol style object from the style file at the provided location.
fileURL | The physical location of the .stylx file. |
dictionarySymbolStyleWithURL:
instead. Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
+ (instancetype) dictionarySymbolStyleWithName: | (NSString *) | name |
Creates a new dictionary symbol style object from the name style file within the application bundle or shared documents directory.
name | The name of the stylx file (excluding the .stylx file extension). |
+ (instancetype) dictionarySymbolStyleWithPortalItem: | (AGSPortalItem *) | portalItem |
Creates a new dictionary symbol style object from a portal item. The portal item must contain a dictionary style.
If you have the item id of a style file, you can search the portal to find the item using its item id. Use this initializer if you have a reference to a portal item.
portalItem | An AGSPortalItem that contains a dictionary style. |
+ (instancetype) dictionarySymbolStyleWithSpecificationType: | (NSString *) | specificationType |
Creates a new dictionary symbol style object for a known military standard (such as Mil2525D). This constructor is only valid for use with the older format style files. An AGSErrorCodeCommonInvalidArgument
is raised if a newer format (Arcade-based) style is encountered.
specificationType | The name of supported military standard to use for the dictionary style. |
AGSDictionarySymbolStyle
from a specification is no longer supported with the new Arcade-based symbol styles. Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
+ (instancetype) dictionarySymbolStyleWithSpecificationType: | (NSString *) | specificationType | |
styleURL: | (NSURL *) | styleURL | |
Creates a new Symbol dictionary object using the style file identified by the specification type or style location. This constructor is only valid for use with the older format style files. An AGSErrorCodeCommonInvalidArgument
is raised if a newer format (Arcade-based) style is encountered.
specificationType | The name of a supported military standard to use for the dictionary style. |
styleURL | The physical location of an older format (non-Arcade based) .stylx file. You must provide the full path (e.g. ../../../mil2525c/mil2525c.stylx). |
AGSDictionarySymbolStyle
from a specification is no longer supported with the new military symbol styles. Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
+ (instancetype) dictionarySymbolStyleWithURL: | (NSURL *) | URL |
Creates a new dictionary symbol style object from the style file at the provided location, or using a web style item URL.
URL | The physical location of the .stylx file, or the web style item URL. |
- (void) doCancelLoading |
Never call this method directly. The framework calls this method on a background thread when cancelLoad (AGSLoadable-p)
is called. It is meant to be overriden by subclasses. Subclasses should override this method to cancel loading their data and call loadDidFinishWithError: (AGSLoadableBase(ForSubclassEyesOnly))
at the end passing in an error representing NSUserCancelledError
.
Provided by category AGSLoadableBase(ForSubclassEyesOnly).
- (void) doStartLoading: | (BOOL) | retrying |
Never call this method directly. The framework calls this method on a background thread when loadWithCompletion: (AGSLoadable-p)
or retryLoadWithCompletion: (AGSLoadable-p)
is called. It is meant to be overriden by subclasses. Subclasses should override this method to load their data and call loadDidFinishWithError: (AGSLoadableBase(ForSubclassEyesOnly))
upon completion, passing in the error if any.
retrying | flag that is true if this method was called from retryLoadWithCompletion: (AGSLoadable-p) . |
Provided by category AGSLoadableBase(ForSubclassEyesOnly).
- (instancetype) initWithFileURL: | (NSURL *) | fileURL |
Creates a new dictionary symbol style object from the style file at the provided location.
fileURL | The physical location of the .stylx file. |
initWithURL:
instead. Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
- (instancetype) initWithName: | (NSString *) | name |
Creates a new dictionary symbol style object from the name style file within the application bundle or shared documents directory.
name | The name of the stylx file (excluding the .stylx file extension). |
Implements AGSSymbolStyle.
- (instancetype) initWithPortalItem: | (AGSPortalItem *) | portalItem |
Creates a new dictionary symbol style object from a portal item. The portal item must contain a dictionary style.
If you have the item id of a style file, you can search the portal to find the item using its item id. Use this initializer if you have a reference to a portal item.
portalItem | An AGSPortalItem that contains a dictionary style. |
Implements AGSSymbolStyle.
- (instancetype) initWithSpecificationType: | (NSString *) | specificationType |
Creates a new dictionary symbol style object for a known military standard (such as Mil2525D). This constructor is only valid for use with the older format style files. An AGSErrorCodeCommonInvalidArgument
is raised if a newer format (Arcade-based) style is encountered.
specificationType | The name of supported military standard to use for the dictionary style. |
AGSDictionarySymbolStyle
from a specification is no longer supported with the new Arcade-based symbol styles. Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
- (instancetype) initWithSpecificationType: | (NSString *) | specificationType | |
styleURL: | (NSURL *) | styleURL | |
Creates a new Symbol dictionary object using the style file identified by the specification type or style location. This constructor is only valid for use with the older format style files. An AGSErrorCodeCommonInvalidArgument
is raised if a newer format (Arcade-based) style is encountered.
specificationType | The name of a supported military standard to use for the dictionary style. |
styleURL | The physical location of an older format (non-Arcade based) .stylx file. You must provide the full path (e.g. ../../../mil2525c/mil2525c.stylx). |
AGSDictionarySymbolStyle
from a specification is no longer supported with the new military symbol styles. Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
- (instancetype) initWithStyleName: | (NSString *) | styleName | |
portal: | (nullable AGSPortal *) | portal | |
Creates a new symbol style object using the registered style name of the Esri web style on the portal.
Esri provides a set of web symbol styles "out of the box" for localized use with ArcGIS Online and Enterprise. This initializer can be used only while creating a symbol style using the Esri web style's unique name on your portal or arcgis.com. An overview of esri web styles and symbols currently in production is available for 3D and 2D.
Tip: Click on the symbol icon to find its associated style name. Esri registered style names can also be found in the json of symbol web style. As an example, see item json for EsriThematicShapesStyle hosted on ArcGIS Online.
styleName | The registered Esri symbol style name. It cannot be a custom web style name. |
portal | A Portal hosting the Esri web style. If nil is passed, ArcGIS online is used as the default portal. |
- (instancetype) initWithURL: | (NSURL *) | URL |
Creates a new dictionary symbol style object from the style file at the provided location, or using a web style item URL.
URL | The physical location of the .stylx file, or the web style item URL. |
Implements AGSSymbolStyle.
- (void) loadDidFinishWithError: | (nullable NSError *) | error |
Only subclasses should call this method in doStartLoading: (AGSLoadableBase(ForSubclassEyesOnly))
and doCancelLoading (AGSLoadableBase(ForSubclassEyesOnly))
when done loading or failed to load.
Provided by category AGSLoadableBase(ForSubclassEyesOnly).
|
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.
completion | block that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load. |
- cancelLoad
to cancel loading - retryLoadWithCompletion:
to force reload - (void) onLoadStatusChanged |
Never call this method directly. The framework calls this method on a background thread when AGSLoadable::loadStatus
changes is called. Subclasses can optionally implement this to know when their loading status has changed.
Provided by category AGSLoadableBase(ForSubclassEyesOnly).
|
requiredinherited |
Tries to reload when an object has failed to load. This method should be called judiciously. It should be called when:
cancelLoad
and then this methodIf 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.
completion | block that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load. |
- (id<AGSCancelable>) searchSymbolsWithParameters: | (AGSSymbolStyleSearchParameters *) | searchParameters | |
completion: | (void(^)(NSArray< AGSSymbolStyleSearchResult * > *__nullable searchResults, NSError *__nullable error)) | completion | |
Returns an array of AGSSymbolStyleSearchResult
objects.
This asynchronous task searches for symbol primitives in the symbol style. The input searchParameters define what is searched for. For example, you could search for all symbols that have the tag "airspace". You can also set the match to be strict or not, which will determine if the search uses "=" or "LIKE" for each parameter.
searchParameters | an object of type AGSSymbolStyleSearchParameters . |
completion | Block that is invoked when the operation finishes. The searchResults parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) symbolForKeys: | (NSArray< NSString * > *) | keys | |
completion: | (void(^)(AGSSymbol *__nullable symbol, NSError *__nullable error)) | completion | |
Asynchronously returns a symbol based on the provided list of keys.
This function is useful for obtaining a single, multi-layer symbol from supplied keys. This is commonly used to create symbols and graphics on-the-fly. For example, assume XYZ style has a symbol with key "abc" which is the central symbol and another symbol with key "pqr", which could be the modifier/echelon placed at some offset from central geometry. So if you provide these two keys as attributes then symbol style will find and assemble a symbol accordingly. Once you have that symbol, you can apply it to a Graphic or Renderer, obtain its swatch image, or serialize to JSON. If the Symbol style is not loaded then starting this task will start the load cycle.
keys | NSArray of strings. It is the list of keys required to obtain a symbol from the style. |
completion | block that is invoked with the result |
+ (instancetype) symbolStyleWithName: | (NSString *) | name |
Initialize a symbol style with the name of a .stylx file that is within the application bundle or shared documents directory.
name | of the .stylx file (without the file extension) within the application bundle or shared documents directory. |
+ (instancetype) symbolStyleWithPortalItem: | (AGSPortalItem *) | portalItem |
Creates a new symbol style object from a portal item. The portal item must contain a style.
If you have the item id of a style file, you can search the portal to find the item using its item id. Use this initializer if you have a reference to a portal item.
portalItem | An AGSPortalItem that contains a web style. |
+ (instancetype) symbolStyleWithStyleName: | (NSString *) | styleName | |
portal: | (nullable AGSPortal *) | portal | |
Creates a new symbol style object using the unique registered name for the web style on the portal.
Esri provides a set of web symbol styles "out of the box" for localized use with ArcGIS Online and Enterprise. This initializer can be used only while creating a symbol style using the Esri web style's unique name on your portal or arcgis.com. An overview of esri web styles and symbols currently in production is available for 3D and 2D.
Tip: Click on the symbol icon to find its associated style name. Esri registered style names can also be found in the json of symbol web style. As an example, see item json for EsriThematicShapesStyle hosted on ArcGIS Online.
styleName | The registered Esri symbol style name. It cannot be a custom web style name. |
portal | A Portal hosting the Esri web style. If nil is passed, ArcGIS online is used as the default portal. |
+ (instancetype) symbolStyleWithURL: | (NSURL *) | URL |
Initialize a symbol style with the specified .stylx file or using web style item URL. For example, https://www.arcgis.com/home/item.html?id=bf27400d167d4c2e8e12c8a46f87afe4 is the URL of the "Basic Shapes" style on ArcGIS Online.
URL | to a .stylx file on disk or to web style item. |
- (id<AGSCancelable>) symbolWithAttributes: | (NSDictionary< NSString *, id > *) | attributes | |
completion: | (void(^)(AGSSymbol *__nullable symbol, NSError *__nullable error)) | completion | |
Creates a symbol based on the provided attributes. For example, with mil2525d, you may want to obtain a symbol where "symbolset" is 40, "modifier1" is "Incident Qualifier : Accident", "echelon" is "Army", and so on. All of these key/value pairs can be used to obtain the specific symbol that you need. Once you have that symbol, you can apply it to a graphic or renderer, obtain its swatch image, or serialize to JSON.
attributes | used to create the symbol |
completion | block that is invoked when the operation completes. The symbol is populated if the operation succeeds, else the error is populated if the operation fails. |
|
readwritenonatomiccopy |
The NSDictionary
of configuration settings and values used by the style. These settings are specific to the rule engine used by the AGSDictionarySymbolStyle
.
Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
|
readnonatomiccopy |
The collection of configuration settings for the custom dictionary style.
|
readwritenonatomicstronginherited |
Security credentials to access the remote resource. Only applicable if the resource is secured.
|
readnonatomiccopy |
The name of the custom Arcade-based dictionary style. For older version style files, this is an empty string.
|
readnonatomicstronginherited |
The error that was encountered during the most recent load operation. Will be nil if the operation succeeded.
|
readrequirednonatomicassigninherited |
Status of the load operation.
|
readnonatomicstronginherited |
The portal that hosts the web style identified with AGSSymbolStyle::styleName
. This will be nil
if the style was identified with a AGSPortalItem
or URL or a local .stylx file on disk.
|
readnonatomicstronginherited |
The portal item representing the web style.
This is non nil
when the AGSSymbolStyle
is created using initWithPortalItem:
or initWithURL:
by providing a web style item.
This will be nil
if the style was created or is identified with a local .stylx file on disk.
|
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.
|
readnonatomiccopy |
The name of the dictionary (.stylx file), such as "Mil2525D".
AGSDictionarySymbolStyle::dictionaryName
property instead.Provided by category AGSDictionarySymbolStyle(AGSDeprecated).
|
readnonatomiccopyinherited |
The name of the web style. This will be empty if the style was identified with a URL or a AGSPortalItem
or a local .stylx file on disk.
|
readnonatomiccopy |
The string list of attributes used to construct a symbol from the AGSDictionarySymbolStyle
. For example, mil2525d would include "identity", "symbolset", "symbolentity", and "modifier1", among many others. The newer Arcade-based styles define such attributes within the .stylx file as a JSON string.
|
readnonatomiccopy |
The string list of attributes used to obtain text values for display with a symbol from the AGSDictionarySymbolStyle
. For example, mil2525d would include "combateffectiveness", "credibility", "reliability", and "staffcomment", among many others. The newer Arcade-based styles define such attributes within the .stylx file as a JSON string.
|
readrequirednonatomicstronginherited |
The URL of the remote resource.