ArcGIS Developers

Symbol QML Type

Base type for symbols used to display a graphic or a feature. More...

Import Statement: import Esri.ArcGISRuntime 100.10
Since: Esri.ArcGISRuntime 100.0


Inherited By:

CompositeSymbol, DistanceCompositeSceneSymbol, FillSymbol, LineSymbol, MarkerSceneSymbol, MarkerSymbol, and MultilayerSymbol




Detailed Description

Note: You cannot declare or create a component of this type in QML code.

Symbols describe how graphics and features look on the map. Different symbols are used with different geometry types: marker symbols for point and multipoint geometries, fill symbols for polygon geometries, and line symbols for polyline geometries. Other types of 2D and 3D symbols inherit from Symbol and its subtypes to implement capabilities such as composite and dynamic symbols.

A symbol defines display properties for features and graphics (collectively referred to as geoelements). A geoelement has a geometry (location and shape), and optional descriptive information. For features and graphics to appear on a map, they must be assigned a symbol.

ArcGIS Runtime uses two models for defining symbols in your map: simple and advanced (multilayer). In general, simple symbols are single-layer symbols that provide basic symbols, such as marker, line, fill, text, or picture. Advanced symbols are composed of one or several layers that can be defined individually and combined to create complex representations. Both of these are more fully described as follows:

  • Simple symbols follow the web map specification; you work with them through the simple symbol classes in the API. These are also the symbols you get from web maps or from feature services when advanced symbology is turned off. Simple symbols can be created for points (marker symbols), lines (line symbols), and polygons (fill symbols). Each of the simple symbol types provides an enumeration of pre-defined styles that can be applied to the symbol.
  • Advanced symbols, accessed through multilayer symbol classes, follow the ArcGIS Pro symbol model. These symbols come from feature services (that use advanced symbology), mobile style files, the dictionary renderer, and mobile map packages. You can also build your own advanced symbols for points, lines, and polygons.

See also JsonSerializable.

Property Documentation

json : jsobject

JSON that can be used to instantiate the type instance.

Sizes of symbols in JSON are represented in points (not pixels). Symbol layers in a multilayer symbol are in reverse order of how they appear in the JSON representation.

Note: For Symbols of type MarkerSymbol, an angle set from JSON will be inverted (e.g. an angle of 20 will become -20).

swatchImage : url

Returns the image URL to the symbol's swatch image (read-only).

Accessing this property will force the swatch image to be created.

swatchOptions : SwatchOptions

Returns the configuration options for the swatch image (read-only).

If these options are a changed a new swatchImage will be generated.

symbolType : Enums.SymbolType

Returns the symbol type (read-only).

See also Enums.SymbolType.

unknownJson : jsobject

Returns the unknown JSON from the source JSON.

See also JsonSerializable.

unsupportedJson : jsobject

Returns the unsupported data from the source JSON.

See also JsonSerializable.

Signal Documentation


Emitted when the swatchImage property changes.

Note: The corresponding handler is onSwatchImageChanged.

Method Documentation

void createSwatch()

Creates a swatch image using the provided swatchOptions.

This method initiates a request to create a swatch image from this symbol. Once completed, the swatchImage property is updated with a URL pointing to a path handled by the image provider. The swatchImageChanged signal is emitted whenever the swatchImage changes.

If no swatchOptions have been provided then the defaults are used.

See also SwatchOptions.

bool equals(Symbol symbol)

Returns whether this instance and the other symbol are equal.

Feedback on this topic?