Class Symbol

  • All Implemented Interfaces:
    JsonSerializable
    Direct Known Subclasses:
    CompositeSymbol, FillSymbol, LineSymbol, MarkerSymbol, MultilayerSymbol, SceneSymbol

    public class Symbol
    extends Object
    implements JsonSerializable
    Defines the basic functionality for a Symbol and is the base class for all Symbols.

    Symbols describe how Graphics and Features can be displayed on a GeoView. Symbols are used to give geometric elements a visual presentation and help with communicating actions or ideas quickly through imagery.

    A swatch is an image that is used to display this Symbol.

    Properties of a swatch:

    • Height, length of image from bottom to top side.
    • Width, length of image from left to right side.
    • Dots Per Inch (dpi), the resolution of the image.
    • Color, interior color of the image.
    • Geometry, shape of the image.

    Depending on the Geometry of a Graphic or Feature different types of Symbols will be used.

    Since:
    100.0.0
    See Also:
    Graphic, Feature, Geometry
    • Method Detail

      • fromJson

        public static Symbol fromJson​(String json)
        Creates a Symbol instance from a JSON string.
        Parameters:
        json - a JSON string that represents a Symbol
        Returns:
        a Symbol instance
        Throws:
        IllegalArgumentException - if json is null or empty
        Since:
        100.0.0
      • toJson

        public String toJson()
        Description copied from interface: JsonSerializable
        Serializes this object to a JSON string. Note that unknown JSON is omitted from the serialized string.
        Specified by:
        toJson in interface JsonSerializable
        Returns:
        a JSON string
      • getUnknownJson

        public Map<String,​Object> getUnknownJson()
        Description copied from interface: JsonSerializable
        If this object was created from JSON, this method gets unknown data from the source JSON. Unknown JSON is a Map of values that were in the source JSON but are not known by the Runtime and therefore not exposed in the API.
        Specified by:
        getUnknownJson in interface JsonSerializable
        Returns:
        an unmodifiable Map containing unknown JSON data. The keys are Strings containing names. The types of the values depend on the types of tokens within the JSON as follows:
        • a Map<String, Object> represents an object in the JSON
        • a List<Object> represents an array in the JSON
        • a String represents a string in the JSON
        • a Double represents a number in the JSON
        • a Boolean represents true or false in the JSON
        • null represents null in the JSON
      • getUnsupportedJson

        public Map<String,​Object> getUnsupportedJson()
        Description copied from interface: JsonSerializable
        If this object was created from JSON, this method gets unsupported data from the source JSON. Unsupported JSON is a Map of values that are supported by webmaps and known to the version of the webmap specification the API supports (see system requirements), but are not explicitly exposed through the Runtime API.
        Specified by:
        getUnsupportedJson in interface JsonSerializable
        Returns:
        an unmodifiable Map containing unsupported JSON data. The keys are Strings containing names. The types of the values depend on the types of tokens within the JSON as follows:
        • a Map<String, Object> represents an object in the JSON
        • a List<Object> represents an array in the JSON
        • a String represents a string in the JSON
        • a Double represents a number in the JSON
        • a Boolean represents true or false in the JSON
        • null represents null in the JSON
      • createSwatchAsync

        public ListenableFuture<Image> createSwatchAsync​(int width,
                                                         int height,
                                                         float screenScale,
                                                         int backgroundColor,
                                                         Geometry geometry)
        Creates a scaled swatch asynchronously from a Geometry object. The specified geometry should be in density-independent pixels (dps) with the point {0,0} corresponding to the center point of the swatch image. The X-axis increases toward the right hand side of the swatch image. The Y-axis increases towards the top of the swatch image. The geometry type should correspond to the symbol type. For example, Points for MarkerSymbols, Polylines for LineSymbols and Polygons for FillSymbols. The spatial reference of the geometry is ignored.
        Parameters:
        width - width of the image in dp
        height - height of the image in dp
        screenScale - This value is used to scale the swatch. The value should be set appropriately in order to render swatches at the correct scale for a given display.
        backgroundColor - background color of the swatch as 0xAARRGGBB
        geometry - geometry of the swatch
        Returns:
        a ListenableFuture that represents the async operation of creating the swatch
        Throws:
        IllegalArgumentException - if geometry is null
        IllegalArgumentException - if width is less than 1
        IllegalArgumentException - if height is less than 1
        IllegalArgumentException - if screenScale is 0 or less
        Since:
        100.3.0
      • createSwatchAsync

        public ListenableFuture<Image> createSwatchAsync​(int width,
                                                         int height,
                                                         int backgroundColor,
                                                         Geometry geometry)
        Creates a swatch asynchronously from a Geometry object. The specified geometry should be in density-independent pixels (dps) with the point {0,0} corresponding to the center point of the swatch image. The X-axis increases toward the right hand side of the swatch image. The Y-axis increases towards the top of the swatch image. The geometry type should correspond to the symbol type. For example, Points for MarkerSymbols, Polylines for LineSymbols and Polygons for FillSymbols. The spatial reference of the geometry is ignored.
        Parameters:
        width - width of the image in dp
        height - height of the image in dp
        backgroundColor - background color of the swatch as 0xAARRGGBB
        geometry - geometry of the swatch, not null
        Returns:
        a ListenableFuture that represents the async operation of creating the swatch
        Throws:
        IllegalArgumentException - if geometry is null, or if either width or height are less than 1
        Since:
        100.0.0
      • createSwatchAsync

        public ListenableFuture<Image> createSwatchAsync​(int backgroundColor)
        Creates a swatch asynchronously with the given background color.
        Parameters:
        backgroundColor - background color of the swatch as 0xAARRGGBB
        Returns:
        a ListenableFuture that represents the async operation of creating the swatch
        Since:
        100.0.0
      • createSwatchAsync

        public ListenableFuture<Image> createSwatchAsync​(int backgroundColor,
                                                         float screenScale)
        Creates a swatch asynchronously with the given background color and screen scale.
        Parameters:
        backgroundColor - background color of the swatch as 0xAARRGGBB
        screenScale - This value is used to scale the swatch. The value should be set appropriately in order to render swatches at the correct scale for a given display.
        Returns:
        a ListenableFuture that represents the async operation of creating the swatch
        Throws:
        IllegalArgumentException - if screenScale is 0 or less
        Since:
        100.3.0
      • createSwatchAsync

        public ListenableFuture<Image> createSwatchAsync​(int width,
                                                         int height,
                                                         float screenScale,
                                                         int backgroundColor)
        Creates a swatch asynchronously with the given width, height, screen scale and background color.
        Parameters:
        width - width of the image in dp
        height - height of the image in dp
        screenScale - This value is used to scale the swatch. The value should be set appropriately in order to render swatches at the correct scale for a given display.
        backgroundColor - background color of the swatch as 0xAARRGGBB
        Returns:
        a ListenableFuture that represents the async operation of creating the swatch
        Throws:
        IllegalArgumentException - if screenScale is 0 or less
        Since:
        100.3.0