public class

GraphicsLayer

extends Layer
java.lang.Object
   ↳ com.esri.android.map.Layer
     ↳ com.esri.android.map.GraphicsLayer
Known Direct Subclasses

Class Overview

The GraphicsLayer class represents a layer that contains one or more Graphic features. The MapView can contain one or more graphic layers.

The following is an example of how you can work with the GraphicsLayer class in Java.

Java usage:

 //GraphicsLayer class is used to define the Layer that is added to the
 //MapView object.
 MapView mv = new MapView(this);
 mv.addLayer(new GraphicsLayer());
 setContentView(mv);
 

Summary

[Expand]
Inherited Fields
From class com.esri.android.map.Layer
Public Constructors
GraphicsLayer()
The constructor is used if your are instantiating an empty GraphicsLayer (see the class description for an example of this usage).
GraphicsLayer(SpatialReference sr, Envelope fullextent)
The constructor with spatial reference and full extent.
Protected Constructors
GraphicsLayer(boolean initLayer)
The constructor is used internally to allow more controls over the layer initialization process.
GraphicsLayer(long handle)
The constructor is used internally to allow more controls over the layer initialization process.
Public Methods
int addGraphic(Graphic graphic)
Adds a graphic into GraphicsLayer.
int[] addGraphics(Graphic[] graphics)
Adds an array of Graphic.
void bringToFront(int id)
Brings the graphic to front.
void clearSelection()
Clears the current selection.
PopupInfo createPopupInfo(Graphic graphic)
Bitmap createSymbolImage(Symbol symbol, Geometry geometry, int width, int height, int color)
Returns a swatch image of the given geometry rendered with the specified symbol.
Bitmap[] createSymbolImages(Symbol[] symbol, Geometry[] geometry, int width, int height, int color)
Returns a swatch image array of for the given geometries rendered with the symbols.
int getDrawOrder(int uid)
Returns current draw order for the given graphic.
Graphic getGraphic(int uid)
Retrives a graphic instance using a unique ID.
int[] getGraphicIDs(float x, float y, int tolerance)
Returns the graphics near the Point.
int[] getGraphicIDs()
Retrieves an array of unique IDs representing all graphics in this layer.
int[] getGraphicIDs(float x, float y, int tolerance, int numberOfResults)
Returns the graphics near the Point.
int getMaxDrawOrder()
Returns the current maximum draw order of the graphics.
int getMinDrawOrder()
Returns the current minimum draw order of the graphics.
int getNumberOfGraphics()
Returns number of graphics.
Renderer<Graphic> getRenderer()
Gets the renderer of the GraphicsLayer.
int getSelectionColor()
Returns the color applied to a selected feature.
int[] getSelectionIDs()
Returns an array of selected graphic ids.
boolean isGraphicSelected(int id)
Returns true if the graphic with the supplied id is selected.
void removeAll()
Removes all graphics.
void removeGraphic(int id)
Removes graphic using a unique ID.
void sendToBack(int id)
Sends the graphic to back.
void setGraphicVisible(int uid, boolean visible)
Sets visibility of a graphic with a unique id.
void setRenderer(Renderer<Graphic> renderer)
Sets the renderer of the GraphicsLayer.
void setSelectedGraphics(int[] ids, boolean selected)
Selects the graphics with the supplied ids.
void setSelectionColor(int selectionColor)
Sets the color that is applied to a selected feature.
void updateGraphic(int id, Map<StringObject> attributes)
Updates the attributes of a graphic specified by id with an attribute map.
void updateGraphic(int id, InfoTemplate infoTemplate)
Updates the infotemplate of a graphic specified by id with an infotemplate.
void updateGraphic(int id, int drawOrder)
Updates the draw order of the graphic.
void updateGraphic(int id, Geometry geometry)
Updates the geometry of a graphic specified by id with a geometry.
void updateGraphic(int id, Symbol symbol)
Updates the symbol attribute of a graphic specified by id with a symbol.
void updateGraphic(int id, Graphic graphic)
Updates a graphic specified by an id with attributes of another graphic instance.
void updateGraphics(int[] ids, int[] drawOrder)
Updates an array of graphics with the corresponding draw order.
void updateGraphics(int[] ids, int drawOrder)
Updates the draw order of for a group graphics.
Protected Methods
long create()
void initLayer()
Initializes the layer.
[Expand]
Inherited Methods
From class com.esri.android.map.Layer
From class java.lang.Object

Public Constructors

public GraphicsLayer ()

The constructor is used if your are instantiating an empty GraphicsLayer (see the class description for an example of this usage).

This constructor assumes you have another layer as the bottom most layer defined for the MapView. In this instance the GraphicsLayer cannot be the bottom most layer.

public GraphicsLayer (SpatialReference sr, Envelope fullextent)

The constructor with spatial reference and full extent.

Parameters
sr The default spatial reference GraphicsLayer uses
fullextent The full extent of GraphicsLayer

Protected Constructors

protected GraphicsLayer (boolean initLayer)

The constructor is used internally to allow more controls over the layer initialization process.

protected GraphicsLayer (long handle)

The constructor is used internally to allow more controls over the layer initialization process.

Public Methods

public int addGraphic (Graphic graphic)

Adds a graphic into GraphicsLayer.

Parameters
graphic Graphic object
Returns
  • A unique ID representing the added Graphic if adding is successful. -1 if adding fails.

public int[] addGraphics (Graphic[] graphics)

Adds an array of Graphic.

Parameters
graphics An array of Graphic.
Returns
  • An array of unique IDs representing newly added Graphics if adding is successful.

public void bringToFront (int id)

Brings the graphic to front.

Parameters
id graphic id.

public void clearSelection ()

Clears the current selection.

public PopupInfo createPopupInfo (Graphic graphic)

public Bitmap createSymbolImage (Symbol symbol, Geometry geometry, int width, int height, int color)

Returns a swatch image of the given geometry rendered with the specified symbol.

Parameters
symbol to render the geometry with.
geometry the geometry to render in the swatch.
width the width of the swatch in pixels.
height the height of the swatch in pixels.
color the background color in ARGB format.
Returns
  • the swatch Bitmap or null.

public Bitmap[] createSymbolImages (Symbol[] symbol, Geometry[] geometry, int width, int height, int color)

Returns a swatch image array of for the given geometries rendered with the symbols.

Parameters
symbol a symbol array
geometry a geometry array
width the width of the swatch in pixels.
height the height of the swatch in pixels.
color the background color in ARGB format.
Returns
  • a Bitmap array

public int getDrawOrder (int uid)

Returns current draw order for the given graphic.

Parameters
uid graphic id.
Returns
  • integer the current draw order

public Graphic getGraphic (int uid)

Retrives a graphic instance using a unique ID.

Parameters
uid Unique ID representing a graphic
Returns
  • A graphic instance if a graphic with the same UID exists, otherwise a null is returned.

public int[] getGraphicIDs (float x, float y, int tolerance)

Returns the graphics near the Point. The point is specified by the x,y in pixels.
The returned results are sorted:

  • Array returns with closest features to x & y sorted
  • Points have highest priority, then lines, then polygons. If a point, line, and polygon are equidistant to x,y the point will be the first position in the array, then the line, and finally the polygon.

Parameters
x the x screen coordinates of the point for searching.
y the y screen coordinates of the point for searching.
tolerance the search tolerance in pixels
Returns
  • the first 10 graphics within the search tolerance.

public int[] getGraphicIDs ()

Retrieves an array of unique IDs representing all graphics in this layer.

Returns
  • an array of unique IDs

public int[] getGraphicIDs (float x, float y, int tolerance, int numberOfResults)

Returns the graphics near the Point. The point is specified by the x,y in pixels.
The returned results are sorted:

  • Array returns with closest features to x & y sorted
  • Points have highest priority, then lines, then polygons. If a point, line, and polygon are equidistant to x,y the point will be the first position in the array, then the line, and finally the polygon.

Parameters
x the x screen coordinates of the point for searching.
y the y screen coordinates of the point for searching.
tolerance the search tolerance in pixels
numberOfResults the maximum number of result can be returned.
Returns
  • the graphics within the search tolerance.

public int getMaxDrawOrder ()

Returns the current maximum draw order of the graphics.

Returns
  • integer the current maximum draw order.

public int getMinDrawOrder ()

Returns the current minimum draw order of the graphics.

Returns
  • integer the current minimum draw order.

public int getNumberOfGraphics ()

Returns number of graphics.

Returns
  • number of graphics

public Renderer<Graphic> getRenderer ()

Gets the renderer of the GraphicsLayer.

Returns
  • Returns the renderer.

public int getSelectionColor ()

Returns the color applied to a selected feature.

Returns
  • the color applied to a selected feature.
See Also
  • #setSelectionColor(Color)
  • #getSelectionSymbol()

public int[] getSelectionIDs ()

Returns an array of selected graphic ids.

Returns
  • an integer array of graphic ids.

public boolean isGraphicSelected (int id)

Returns true if the graphic with the supplied id is selected.

Parameters
id the id
Returns
  • true if the graphic with the supplied id is selected; false otherwise.

public void removeAll ()

Removes all graphics.

public void removeGraphic (int id)

Removes graphic using a unique ID.

Parameters
id Unique ID representing a Graphic.

public void sendToBack (int id)

Sends the graphic to back.

Parameters
id graphic id.

public void setGraphicVisible (int uid, boolean visible)

Sets visibility of a graphic with a unique id.

Parameters
uid Unique ID representing an existing graphic.
visible False if graphic is invisible.

public void setRenderer (Renderer<Graphic> renderer)

Sets the renderer of the GraphicsLayer.

Parameters
renderer The renderer to set.

public void setSelectedGraphics (int[] ids, boolean selected)

Selects the graphics with the supplied ids.

Parameters
ids the ids
selected if true the graphic will be added to current selections, otherwise it will be unselected from current selection.

public void setSelectionColor (int selectionColor)

Sets the color that is applied to a selected feature.

Parameters
selectionColor color that is applied to a selected feature.
See Also

public void updateGraphic (int id, Map<StringObject> attributes)

Updates the attributes of a graphic specified by id with an attribute map.

Parameters
id Unique ID representing an existing graphic.
attributes Attribute map used for update.

public void updateGraphic (int id, InfoTemplate infoTemplate)

Updates the infotemplate of a graphic specified by id with an infotemplate.

Parameters
id Unique ID representing an existing graphic.
infoTemplate InfoTemplate instance used for update.
Throws
Exception the exception

public void updateGraphic (int id, int drawOrder)

Updates the draw order of the graphic. Higher valued graphics are drawn on top of those with lower value.

Parameters
id id Unique ID representing an existing graphic.
drawOrder an integer for drawing order

public void updateGraphic (int id, Geometry geometry)

Updates the geometry of a graphic specified by id with a geometry.

Parameters
id Unique ID representing an existing graphic.
geometry Geometry instance used for update.

public void updateGraphic (int id, Symbol symbol)

Updates the symbol attribute of a graphic specified by id with a symbol.

Parameters
id Unique ID representing an existing graphic.
symbol Symbol instance used for update.

public void updateGraphic (int id, Graphic graphic)

Updates a graphic specified by an id with attributes of another graphic instance. Its graphic order is updated also.

Parameters
id Unique ID representing an existing graphic.
graphic Graphic instance whose attributes is used in update.

public void updateGraphics (int[] ids, int[] drawOrder)

Updates an array of graphics with the corresponding draw order. Higher valued graphics are drawn on top of those with lower value.

Parameters
ids graphic ids.
drawOrder draw order corresponding to corresponding graphic id.

public void updateGraphics (int[] ids, int drawOrder)

Updates the draw order of for a group graphics. Higher valued graphics are drawn on top of those with lower value.

Parameters
ids array of graphic IDs.
drawOrder draw order.

Protected Methods

protected long create ()

protected void initLayer ()

Initializes the layer. The implementation should submit the OnStatusChangedListener.STATUS event accordingly.