ArcGIS Runtime SDK for iOS
100.15
|
A base class to represent symbol layers, which are the fundamental components used to build multilayer symbols.
The available symbol layer types correspond to the primitive geometry they are designed to render: marker layers for point, stroke layers for line, and fill layers for area. Layer types, however, are not applied exclusively to the corresponding geoelement geometry type. A marker symbol layer, for example, could be applied to a polyline feature to render its vertices. Each layer type has a unique set of properties to control its display.
A symbol can contain one or several symbol layers of the same or different type. A symbol used to render polygons, for example, might contain a fill symbol layer to render the polygon interior, a stroke symbol layer for rendering the polygon outline, and a marker symbol layer to render polygon vertices. A symbol to render a polyline might contain several stroke layers of varying widths. If a symbol contains a layer that cannot render the type of geometry to which it is applied, that symbol layer is ignored when rendering.
The following table lists symbol types and symbol layers:
Symbol type | Typical symbol layers | Role |
---|---|---|
Point symbol |
Marker layers |
Draw relative to the point geometry |
Polyline symbol |
Marker layers |
Draw at specified locations relative to the line geometry |
Stroke layers |
Draw relative to the line geometry | |
Polygon symbol |
Marker layers |
Draw relative to the polygon outline or in the interior, depending on placement setting |
Stroke layers |
Draw relative to the polygon outline | |
Fill layers |
Draw relative to the polygon interior |
Symbol and Layer Property Interaction
Most AGSSymbolLayer
properties are only accessible on the symbol layer. There are some properties, however, that are also exposed for the symbol as a whole. Properties such as color and size, for example, can be modified either for an individual symbol layer, or for the symbol itself. For such properties, the value provided for the symbol may have an effect on the corresponding property for the symbol layers it contains. Similarly, the property value for a multilayer symbol might be determined from the values of the individual symbol layers it contains.
There are no notifications from a symbol or symbol layer when a property has been changed. If your app needs to respond to property changes in a symbol (as a result of a propagated change, for example) you will need to reread property values to identify changes.
Unknown Symbol Layers or Properties
The multilayer symbol specification is complex and continues to evolve outside of ArcGIS Runtime. The potential exists that some symbol layers (or properties) will not expose an API or will not be known by ArcGIS Runtime.
Depending on the problem encountered, ArcGIS Runtime will handle this situation in one of the following ways:
Instance Methods | |
(BOOL) | - isEqualToSymbolLayer: |
Properties | |
BOOL | colorLocked |
BOOL | enabled |
AGSSymbolLayerType | type |
- (BOOL) isEqualToSymbolLayer: | (AGSSymbolLayer *) | other |
Compares whether two symbol layers are equal.
other | The other symbol layer to compare this symbol layer to. |
YES
if the symbol layers are equal, NO
if not.
|
readwritenonatomicassign |
Indicates whether or not the symbol layer is color locked. If YES
, the layer's color will not change.
|
readwritenonatomicassign |
Indicates whether or not the symbol layer is enabled. Layer will be rendered only when enabled.
|
readnonatomicassign |
The type of the symbol layer. AGSSymbolLayerTypeUnknown
is returned when an error occurs