Module com.esri.arcgisruntime
Package com.esri.arcgisruntime.symbology
Class VectorMarkerSymbolElement
java.lang.Object
com.esri.arcgisruntime.symbology.VectorMarkerSymbolElement
Represents an element within a VectorMarkerSymbolLayer. Each VectorMarkerSymbolElement is made up of a geometry and
a symbol. The geometry of the VectorMarkerSymbolElement does not pertain to the geography of the map or scene.
Rather, the geometry property describes the shape of the multilayer symbol held by the element. The coordinate values
defining the geometry are only used to define the relative size and shape of elements and rely on the size from the
VectorMarkerSymbolLayer to be sized on the screen. This behavior facilitates creating a custom
VectorMarkerSymbolElement of custom shape and symbol, then combining it with zero or more additional elements to
form a vector marker.
For example, to create a red square, construct a VectorMarkerSymbolElement with a MultilayerPolygonSymbol that contains a red SolidFillSymbolLayer and a square geometry. When placed in a VectorMarkerSymbolLayer a red square will be displayed.
The symbol and geometry properties must create a meaningful combination to have a visual effect. For example, a MultilayerPolygonSymbol will not be rendered if the corresponding geometry is a point, but does render if the geometry is a polygon.
- Since:
- 100.5.0
-
Constructor Summary
ConstructorDescriptionVectorMarkerSymbolElement
(Geometry geometry, MultilayerSymbol symbol) Instantiates a new VectorMarkerSymbolElement with the given geometry and symbol. -
Method Summary
Modifier and TypeMethodDescriptionGets the geometry of this VectorMarkerSymbolElement.Gets the symbol of this VectorMarkerSymbolElement.void
setGeometry
(Geometry geometry) Sets the geometry of this VectorMarkerSymbolElement.void
setSymbol
(MultilayerSymbol symbol) Sets the symbol of this VectorMarkerSymbolElement.
-
Constructor Details
-
VectorMarkerSymbolElement
Instantiates a new VectorMarkerSymbolElement with the given geometry and symbol.- Parameters:
geometry
- the geometry for this symbol elementsymbol
- the symbol for this symbol element- Throws:
IllegalArgumentException
- if geometry or symbol are null- Since:
- 100.5.0
-
-
Method Details
-
getGeometry
Gets the geometry of this VectorMarkerSymbolElement. When rendering, the symbol draws according to the shape of the geometry.- Returns:
- the geometry
- Since:
- 100.5.0
-
setGeometry
Sets the geometry of this VectorMarkerSymbolElement. The geometry can be a point, polyline, or polygon. When rendering, the symbol draws according to the shape of the geometry. When setting a geometry, make sure that the corresponding symbol type is appropriate for the desired drawing effect. For instance, a polygon geometry should be paired with a MultilayerPolygonSymbol, which will draw the symbol inside the polygon geometry when rendered. The coordinate values defining the geometry are only used to define the relative size and shape of elements and rely on the size from the VectorMarkerSymbolLayer to be sized on the screen.- Parameters:
geometry
- the geometry to set- Throws:
IllegalArgumentException
- if geometry is null- Since:
- 100.5.0
-
getSymbol
Gets the symbol of this VectorMarkerSymbolElement. When rendering, the symbol is drawn according to the shape of the geometry.- Returns:
- the multilayer symbol
- Since:
- 100.5.0
-
setSymbol
Sets the symbol of this VectorMarkerSymbolElement. The symbol can be any arbitrary multilayer symbol. When rendering, the symbol draws according to the shape of the geometry. When setting a symbol, make sure that the corresponding geometry type is appropriate for the desired drawing effect. For instance, a polygon symbol should be paired with a polygon geometry.- Parameters:
symbol
- the symbol to set- Throws:
IllegalArgumentException
- if symbol is null- Since:
- 100.5.0
-