public class

ArcGISFeatureLayer

extends GraphicsLayer
implements PopupLayer TimeAwareLayer
java.lang.Object
   ↳ com.esri.android.map.Layer
     ↳ com.esri.android.map.GraphicsLayer
       ↳ com.esri.android.map.ags.ArcGISFeatureLayer

Class Overview



ArcGISFeatureLayer is a special type of GraphicsLayer that allows you to display features from a layer hosted by an ArcGIS Server map service or feature service. The layer can be either a spatial layer or a non-spatial table. If the layer is editable, you can add, update and delete features. The following are examples of how you might work with the ArcGISFeatureLayer class.

Java usage:

// Retrieve the map and initial extent from XML layout
mMapView = (MapView)findViewById(R.id.map);
// create layers
basemap = new ArcGISTiledMapServiceLayer(this.getResources().getString(R.string.basemap_url));
windTurbine = new ArcGISFeatureLayer(this.getResources().getString(R.string.featurelayer_url), MODE.SNAPSHOT);
// add basemap layer
mMapView.addLayer(basemap);
// add feature layer
mMapView.addLayer(windTurbine);

Summary

Nested Classes
class ArcGISFeatureLayer.EditCapabilities  
enum ArcGISFeatureLayer.MODE The feature layer can work under 3 modes. 
class ArcGISFeatureLayer.Options The options to instantiate the feature layer. 
enum ArcGISFeatureLayer.SELECTION_METHOD The modes used for the select features method. 
[Expand]
Inherited Fields
From class com.esri.android.map.Layer
Public Constructors
ArcGISFeatureLayer(String url, ArcGISFeatureLayer.Options layerOption)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.
ArcGISFeatureLayer(String url, ArcGISFeatureLayer.Options layerOption, UserCredentials credentials)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.
ArcGISFeatureLayer(String url, ArcGISFeatureLayer.MODE mode)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code (see the class description for an example of this usage).
ArcGISFeatureLayer(String url, String layerDefinition, ArcGISFeatureLayer.MODE mode)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.
ArcGISFeatureLayer(String url, String layerDefinition, ArcGISFeatureLayer.MODE mode, boolean initLayer)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code (see the class description for an example of this usage).
ArcGISFeatureLayer(String url, String layerDefinition, ArcGISFeatureLayer.MODE mode, boolean initLayer, UserCredentials credentials)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code (see the class description for an example of this usage).
ArcGISFeatureLayer(String url, ArcGISFeatureLayer.MODE mode, UserCredentials credentials)
The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.
ArcGISFeatureLayer(String layerDefinition, FeatureSet featureCollection, ArcGISFeatureLayer.Options layerOption)
The constructor is used if you are instantiating the ArcGISFeatureLayer using a feature collection.
ArcGISFeatureLayer(String layerDef, String layerDefinitionOverride, FeatureSet featureCollection, ArcGISFeatureLayer.Options layerOption, boolean initLayer)
This constructor is to be used with a mapnotes layer defined in webmap only.
Public Methods
void addAttachment(int objectId, File file, CallbackListener<FeatureEditResult> callback)
Adds an attachment to the feature specified by the ObjectId.
void addAttachment(int objectId, File file, String mime, CallbackListener<FeatureEditResult> callback)
Adds an attachment to the feature specified by the ObjectId.
void applyEdits(Graphic[] adds, Graphic[] deletes, Graphic[] updates, CallbackListener<FeatureEditResult[][]> callback)
Applies edits to the editable feature layer.
void clear()
Clears all selection and removes all graphics from the layer.
Graphic createFeatureWithTemplate(FeatureTemplate template, Geometry geometry)
Creates a new feature based on the specified feature SubType and feature template.
Graphic createFeatureWithType(FeatureType type, Geometry geometry)
Creates a new feature based on the specified feature SubType.
ArcGISPopupInfo createPopupInfo()
Creates the popup info.
void deleteAttachments(int objectId, int[] attachmentids, CallbackListener<FeatureEditResult[]> callback)
Deletes one or more attachments for the feature specified by the input ObjectId.
int getBufferFactor()
Returns the factor used to calculate buffered extent.
String getCapabilities()
Gets the capabilities list of the associated feature service.
String getDefaultDefinitionExpression()
Returns the Metadata describing the default definition expression for the layer as defined by the service.
String getDefinitionExpression()
Returns the current definition expression.
String getDisplayField()
Returns the name of the field that contains the Display Field for the layer.
ArcGISFeatureLayer.EditCapabilities getEditCapabilities(Graphic graphic)
Gets the edit capabilities.
EditFieldsInfo getEditFieldsInfo()
Gets the edit fields info.
EditInfo getEditInfo(Graphic graphic, EditInfo.ACTION_TYPE action)
Gets the available editing information for the graphic.
int getExpirationInterval()
Returns the time interval in seconds that features in the layer will expire when the layer is in ONDEMAND mode.
Field getField(String fieldName)
This method returns the field object when the fieldname is passed in.
Field[] getFields()
The array of fields in the layer.
Geometry.Type getGeometryType()
Gets the type of the geometry holding by the feature layer.
String getGlobalIdField()
Returns the name of the field that contains the GlobalId field for the layer.
ArcGISFeatureLayer.MODE getMode()
Returns the layer mode.
String getObjectIdField()
Returns the name of the field that contains the ObjectID field for the layer.
String[] getOutFields()
The array of field names included in the feature layer based on the ArcGISFeatureLayer.Options.outFields parameter.
OwnershipBasedAccessControlForFeatures getOwnershipBasedAccessControlForFeatures()
Gets the ownership based access control for features.
ArcGISPopupInfo getPopupInfo(int sublayerId)
Gets the PopupInfo associated with the sub-layer id.
ArcGISPopupInfo getPopupInfo()
Gets the PopupInfo associated with this feature layer.
Graphic[] getSelectedFeatures()
Returns the selected features.
Symbol getSelectionSymbol()
Returns the selection symbol for the feature layer.
FeatureTemplate[] getTemplates()
Returns an array of feature templates defined in the feature service layer.
TimeExtent getTimeExtent()
Gets the valid TimeExtent object for the Layer or null if this service does not support time based queries.
TimeInfo getTimeInfo()
Get all the time awareness information for this layer.@return
TimeExtent getTimeInterval()
Get the current date/time range that this layer is filtered by.
FeatureType getType(String type)
Gets the type.
String getTypeIdField()
Returns the name of the field that contains the SubType field for the layer.
FeatureType[] getTypes()
Returns an array of feature types defined in the feature service layer.
boolean hasAttachments()
True if attachments are enabled on the feature layer.
boolean isAllowGeometryUpdates()
Returns true if the geometry of the features in the layer can be edited.
boolean isAutoRefreshOnExpiration()
True if the layer will refresh automatically when the expiration interval is reached.
boolean isEditable()
Returns true if the feature layer is editable.
boolean isPopupAllowGeometryUpdate(Graphic graphic)
Returns true if this PopupView is editable, false otherwise.
boolean isPopupDeletable(Graphic graphic)
Returns true if this Popup is deletable, false otherwise.
boolean isPopupEditable(Graphic graphic)
Returns true if this Popup is editable, false otherwise.
boolean isTable()
Returns true if the type of layer is "Table".
boolean isTimeAware()
Indicates whether or not this particular layer instance is time aware.
void queryAttachmentInfos(int objectId, CallbackListener<AttachmentInfo[]> callback)
Queries for information about attachments associated with the specified ObjectIds.
void queryFeatures(Query query, CallbackListener<FeatureSet> callback)
Query features from the feature layer.
void queryIds(Query query, CallbackListener<int[]> callback)
Query for ObjectIds.
void recycle()
Releases resources referenced by the Layer so that they can be recycled.
void refresh()
Based on the mode of the feature layer, the method call can update the graphics from the associate service or refresh the layer from local cache.
InputStream retrieveAttachment(int objectId, int attachmentId)
Fetches the contents of the specified attachment.
void selectFeatures(Query query, ArcGISFeatureLayer.SELECTION_METHOD selectionMethod, CallbackListener<FeatureSet> callback)
Selects features from the feature layer.
void setAutoRefreshOnExpiration(boolean autoRefreshOnExpiration)
Specifies whether or not the layer will refresh automatically when the expiration interval is reached.
void setBufferFactor(int bufferFactor)
Sets the factor used to calculate buffered extent.
void setDefinitionExpression(String expression)
Sets the definition expression of the feature layer.
void setExpirationInterval(int expirationInterval)
The time interval in seconds that features in the layer will expire when the layer is in ONDEMAND mode.
void setPopupInfos(Map<IntegerArcGISPopupInfo> popUpInfos)
Sets the popup infos.
void setSelectionSymbol(Symbol selectionSymbol)
Sets the selection symbol for the feature layer.
void setTimeInterval(TimeExtent timeExtent)
Set the current date/time range that this layer will be filtered by.
Protected Methods
void finalize()
void initLayer()
Initializes the layer.
void initialUpdate()
Called when ArcGISFeatureLayer updates its content very first time.
void updateSpatialReferenceStatus(int SRStatus)
The callback method is invoked when the layer is added to map.
[Expand]
Inherited Methods
From class com.esri.android.map.GraphicsLayer
From class com.esri.android.map.Layer
From class java.lang.Object
From interface com.esri.android.map.popup.PopupLayer
From interface com.esri.core.map.TimeAwareLayer

Public Constructors

public ArcGISFeatureLayer (String url, ArcGISFeatureLayer.Options layerOption)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.

Parameters
url the the URL of the feature layer service.
layerOption the option parameters. Sets to null to use the default options.

public ArcGISFeatureLayer (String url, ArcGISFeatureLayer.Options layerOption, UserCredentials credentials)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.

Parameters
url the the URL of the feature layer service.
layerOption the option parameters. Sets to null to use the default options.
credentials the user credentials for accessing a secure feature layer.

public ArcGISFeatureLayer (String url, ArcGISFeatureLayer.MODE mode)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code (see the class description for an example of this usage).

Parameters
url the the URL of the feature layer service.
mode the feature layer mode.

public ArcGISFeatureLayer (String url, String layerDefinition, ArcGISFeatureLayer.MODE mode)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.

Parameters
url the the URL of the feature layer service.
layerDefinition The definition of the layer represented in a JSON String. The structure is the same as the information returned by REST for a layer in a feature or map service.
mode the feature layer mode.

public ArcGISFeatureLayer (String url, String layerDefinition, ArcGISFeatureLayer.MODE mode, boolean initLayer)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code (see the class description for an example of this usage).

Parameters
url the the URL of the feature layer service.
layerDefinition The definition of the layer represented in a JSON String. The structure is the same as the information returned by REST for a layer in a feature or map service.
mode the feature layer mode.
initLayer set to true to initialize the the layer, or the layer will not initialized.

public ArcGISFeatureLayer (String url, String layerDefinition, ArcGISFeatureLayer.MODE mode, boolean initLayer, UserCredentials credentials)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code (see the class description for an example of this usage).

Parameters
url the the URL of the feature layer service.
layerDefinition The definition of the layer represented in a JSON String. The structure is the same as the information returned by REST for a layer in a feature or map service.
mode the feature layer mode.
initLayer set to true to initialize the the layer, or the layer will not initialized.
credentials the user credentials for accessing a secure feature layer.

public ArcGISFeatureLayer (String url, ArcGISFeatureLayer.MODE mode, UserCredentials credentials)

The constructor is used if you are instantiating the ArcGISFeatureLayer using Java code.

Parameters
url the the URL of the feature layer service.
mode the feature layer mode.
credentials the user credentials for accessing a secure feature layer.

public ArcGISFeatureLayer (String layerDefinition, FeatureSet featureCollection, ArcGISFeatureLayer.Options layerOption)

The constructor is used if you are instantiating the ArcGISFeatureLayer using a feature collection.

The feature layer, when initialized with a feature collection object has the following behavior:

  • Edits are applied on the client not posted to the server.
  • The feature layer generates a unique ObjectId for new features.
  • All queries are done on the client side.
  • Does not support operations that need to be performed on the server, e.g. attachment, appyEdit.

    You need to explicitly call clear() to release all cached feature collection when not needed.

  • Parameters
    layerDefinition The definition of the layer represented in a JSON String. The structure is the same as the information returned by REST for a layer in a feature or map service.
    featureCollection A collection of features. The spatial reference of the features must be same as the map's.
    layerOption the option parameters. Sets to null to use the default options.

    public ArcGISFeatureLayer (String layerDef, String layerDefinitionOverride, FeatureSet featureCollection, ArcGISFeatureLayer.Options layerOption, boolean initLayer)

    This constructor is to be used with a mapnotes layer defined in webmap only.

    Parameters
    layerDef the definition of the map notes layer represented in a JSON String. The structure is the same as the information returned by REST for a layer in a feature or map service.
    layerDefinitionOverride the definition of the feature layer represented in a JSON String. The structure is the same as the information returned by REST for a layer in a feature or map service.
    featureCollection the mapnotes layer
    layerOption option parameters.
    initLayer set to true to initialize the the layer, or the layer will not initialized.

    Public Methods

    public void addAttachment (int objectId, File file, CallbackListener<FeatureEditResult> callback)

    Adds an attachment to the feature specified by the ObjectId. Only applicable if isEditable() and

    Parameters
    objectId The ObjectId of the feature to which the attachment is added.
    file The path of the attachment on the device.
    callback The path of the attachment on the device. hasAttachments() are true.

    public void addAttachment (int objectId, File file, String mime, CallbackListener<FeatureEditResult> callback)

    Adds an attachment to the feature specified by the ObjectId. Only applicable if isEditable() and

    Parameters
    objectId The ObjectId of the feature to which the attachment is added.
    file The path of the attachment on the device.
    mime the content-type to send the file. e.g. text/plain. When mime is omitted the content-type is determined by the file extension of the attachment. By default the content-type is "application/octet-stream".
    callback The path of the attachment on the device. hasAttachments() are true.

    public void applyEdits (Graphic[] adds, Graphic[] deletes, Graphic[] updates, CallbackListener<FeatureEditResult[][]> callback)

    Applies edits to the editable feature layer. Only applicable for layers in a feature service.

  • For new features, the applyEdit will submit all the features to server side. If succeed, all of the new features will be updated with the OID and GID and will be added to the layer graphics.
  • For updating and deleting, the graphics will be adjusted based on the response.

  • Parameters
    adds Apply edits to the feature layer. Only applicable for layers in a feature service.
    deletes Array of features to be deleted. Features must have valid ObjectIds.
    updates Array of features whose geometry and/or attributes have changed. Features must have valid ObjectIds. The geometry of features is typically modified using the Editing tools. Attributes are modified using the Attribute Inspector.
    callback This listener will be called when the operation is complete or on error.

    public void clear ()

    Clears all selection and removes all graphics from the layer.

    public Graphic createFeatureWithTemplate (FeatureTemplate template, Geometry geometry)

    Creates a new feature based on the specified feature SubType and feature template. Note, the new feature is only available on the device at this point, it is not committed to the server.

    Parameters
    template the feature template to use while creating the feature.
    geometry the geometry to create the Graphic.
    Returns
    • the Graphic with the given geometry and the template.

    public Graphic createFeatureWithType (FeatureType type, Geometry geometry)

    Creates a new feature based on the specified feature SubType. Note, the new feature is only available on the device at this point, it is not committed to the server. This method uses the first template in the feature type.

    Parameters
    type the type of feature to create.
    geometry the geometry to create the Graphic.
    Returns
    • the Graphic with the given geometry and the template (defined in the type).

    public ArcGISPopupInfo createPopupInfo ()

    Creates the popup info.

    Returns
    • the arc gis popup info

    public void deleteAttachments (int objectId, int[] attachmentids, CallbackListener<FeatureEditResult[]> callback)

    Deletes one or more attachments for the feature specified by the input ObjectId. Only applicable if

    Parameters
    objectId The ObjectId of the feature from which the attachment is removed.
    attachmentids The ObjectId of the feature from which the attachment is removed.
    callback This listener will be called when the operation is complete or on error. isEditable() and hasAttachments() are true.

    public int getBufferFactor ()

    Returns the factor used to calculate buffered extent. When in ONDEMAND mode, you have a choice to fetch the features within current extent or buffered extent. The buffer is calculated as: width = extent.width * bufferFactor * 2 + 1); height = extent.height * (bufferFactor * 2 + 1);

    By default it is 1 (100%).

    Returns
    • the buffer factor

    public String getCapabilities ()

    Gets the capabilities list of the associated feature service. It is a comma separated list of supported capabilities - e.g. "Query, Editing". Only available if the feature service is published using ArcGIS Server version 10 or greater. You cannot call this method until the layer is loaded.

    When the Feature layer is instantiated without an associated feature service (e.g. FeatureCollection Mode), the method will always return null.

    Returns
    • the comma separated capabilities or null if the associated server doesn't support it.

    public String getDefaultDefinitionExpression ()

    Returns the Metadata describing the default definition expression for the layer as defined by the service. The default definition expression limits the features available for display and query. You cannot override this value but you define additional filters on the default expression using the setDefinitionExpression(String) method. For example, if the default definition expression is set to display data where "STATE_NAME = 'California'" you could use setDefinitionExpression to only display a subset of the features in California e.g., "COUNTY='San Diego'".

    Returns
    • the default definition expression

    public String getDefinitionExpression ()

    Returns the current definition expression.

    Returns
    • the definition.

    public String getDisplayField ()

    Returns the name of the field that contains the Display Field for the layer.

    Returns
    • the name of the field.

    public ArcGISFeatureLayer.EditCapabilities getEditCapabilities (Graphic graphic)

    Gets the edit capabilities.

    Parameters
    graphic the graphic
    Returns
    • the edits the capabilities

    public EditFieldsInfo getEditFieldsInfo ()

    Gets the edit fields info.

    Returns
    • the editFieldsInfo

    public EditInfo getEditInfo (Graphic graphic, EditInfo.ACTION_TYPE action)

    Gets the available editing information for the graphic.

    Parameters
    graphic the graphic to check.
    action the editing action.
    Returns
    • the editing information for the given graphic.

    public int getExpirationInterval ()

    Returns the time interval in seconds that features in the layer will expire when the layer is in ONDEMAND mode. Setting this to 0 will cause the features to not expire.

    Returns
    • interval in seconds

    public Field getField (String fieldName)

    This method returns the field object when the fieldname is passed in.

    Parameters
    fieldName name of the Field
    Returns
    • the Field object

    public Field[] getFields ()

    The array of fields in the layer.

    Returns
    • the field array.

    public Geometry.Type getGeometryType ()

    Gets the type of the geometry holding by the feature layer. You should not call this method until the layer is initialized.

    Returns
    • the geometry type or null if not initialized.

    public String getGlobalIdField ()

    Returns the name of the field that contains the GlobalId field for the layer.

    Returns
    • the name of the field.

    public ArcGISFeatureLayer.MODE getMode ()

    Returns the layer mode.

    Returns
    • the mode

    public String getObjectIdField ()

    Returns the name of the field that contains the ObjectID field for the layer.

    Returns
    • the name of the field.

    public String[] getOutFields ()

    The array of field names included in the feature layer based on the ArcGISFeatureLayer.Options.outFields parameter. If none are specified, in the ArcGISFeatureLayer.Options class then the feature layer will return all fields and this methods will return null. If "*" was specified in the ArcGISFeatureLayer.Options class this method will return ["*"]. If some field names are set in the ArcGISFeatureLayer.Options class, but the ObjectId field was not included it will be included in the feature layer and will also be returned in this String array.

    Returns
    • the name of the fields

    public OwnershipBasedAccessControlForFeatures getOwnershipBasedAccessControlForFeatures ()

    Gets the ownership based access control for features.

    Returns
    • the ownershipBasedAccessControlForFeatures

    public ArcGISPopupInfo getPopupInfo (int sublayerId)

    Gets the PopupInfo associated with the sub-layer id.

    Parameters
    sublayerId you should only set 0 for the feature layer.
    Returns

    public ArcGISPopupInfo getPopupInfo ()

    Gets the PopupInfo associated with this feature layer.

    Returns

    public Graphic[] getSelectedFeatures ()

    Returns the selected features.

    Returns
    • the selected features.

    public Symbol getSelectionSymbol ()

    Returns the selection symbol for the feature layer. If no symbol is specified, features are drawn using the layers's renderer.

    Returns
    • the symbol for highlight feature.

    public FeatureTemplate[] getTemplates ()

    Returns an array of feature templates defined in the feature service layer. Only applicable for ArcGIS Server feature service layers.

    Returns
    • the array of FeatureTemplate.

    public TimeExtent getTimeExtent ()

    Gets the valid TimeExtent object for the Layer or null if this service does not support time based queries.

    Returns
    • the valid range of dates for this layer.

    public TimeInfo getTimeInfo ()

    Get all the time awareness information for this layer.@return

    public TimeExtent getTimeInterval ()

    Get the current date/time range that this layer is filtered by.

    Returns
    • the current date/time range

    public FeatureType getType (String type)

    Gets the type.

    Parameters
    type the type
    Returns
    • the type

    public String getTypeIdField ()

    Returns the name of the field that contains the SubType field for the layer.

    Returns
    • the name of the field.

    public FeatureType[] getTypes ()

    Returns an array of feature types defined in the feature service layer. Only applicable for ArcGIS Server feature service layers.

    Returns
    • the array of FeatureType.

    public boolean hasAttachments ()

    True if attachments are enabled on the feature layer. Use the queryAttachmentInfos(int, CallbackListener) method to determine if the feature has attachments. If the layer is editable ( isEditable()) and supports attachments the following operations can be performed.

  • Add attachments to features.
  • Delete existing attachments.

  • Returns
    • true, if checks for attachments

    public boolean isAllowGeometryUpdates ()

    Returns true if the geometry of the features in the layer can be edited. This property is only available on ArcGIS Server 10.1 and above.

    Returns
    • true if the feature geometry is editable.

    public boolean isAutoRefreshOnExpiration ()

    True if the layer will refresh automatically when the expiration interval is reached.

    Returns
    • true, if checks if is auto refresh on expiration

    public boolean isEditable ()

    Returns true if the feature layer is editable. If the layer is editable the following operations can be performed.

  • Add new features.
  • Modify the geometry and attributes of existing features.
  • Delete features. You need to wait until the layer initialization is done before calling this method.

  • Returns
    • true if it is editable or false otherwise.

    public boolean isPopupAllowGeometryUpdate (Graphic graphic)

    Returns true if this PopupView is editable, false otherwise.

    Parameters
    graphic the graphic
    Returns
    • true if this PopupView is editable, false otherwise

    public boolean isPopupDeletable (Graphic graphic)

    Returns true if this Popup is deletable, false otherwise.

    Parameters
    graphic the graphic
    Returns
    • true if this Popup is deletable, false otherwise

    public boolean isPopupEditable (Graphic graphic)

    Returns true if this Popup is editable, false otherwise.

    Parameters
    graphic the graphic
    Returns
    • true if this Popup is editable, false otherwise

    public boolean isTable ()

    Returns true if the type of layer is "Table". The type of a feature layer can be "Graphic Layer" or "Table".

    Returns
    • true, if checks if is table

    public boolean isTimeAware ()

    Indicates whether or not this particular layer instance is time aware.

    Returns
    • True if this is a time aware layer, false otherwise.

    public void queryAttachmentInfos (int objectId, CallbackListener<AttachmentInfo[]> callback)

    Queries for information about attachments associated with the specified ObjectIds.

    Parameters
    objectId The ObjectId of the feature upon which the attachment information is queried.
    callback This listener will be called when the operation is complete or on error.

    public void queryFeatures (Query query, CallbackListener<FeatureSet> callback)

    Query features from the feature layer. Layer definition and time definition are honored. Whenever possible the feature layer will perform the query on the client.

    Parameters
    query The input query. The query object has the following restrictions to avoid conflicts between layer and map properties.
  • outFields specified by the query object are overridden by the outFields specified in the feature layer constructor.
  • The returnGeometry value specified by the query object is ignored and true is used.
  • The outSpatialReference set by the query object is ignored and the map's spatial reference is used.
  • callback The function to call when the method has completed.

    public void queryIds (Query query, CallbackListener<int[]> callback)

    Query for ObjectIds. There is no limit on the number of ObjectIds that are returned from the server. Like queryFeatures this operation will perform queries on the client (browser) whenever possible.

    Parameters
    query The input query. The query object has the following restrictions to avoid conflicts between layer and map properties.
  • outFields specified by the query object are overridden by the outFields specified in the feature layer constructor.
  • The returnGeometry value specified by the query object is ignored and true is used.
  • The outSpatialReference set by the query object is ignored and the map's spatial reference is used.
  • callback The function to call when the method has completed.

    public void recycle ()

    Releases resources referenced by the Layer so that they can be recycled.

    public void refresh ()

    Based on the mode of the feature layer, the method call can update the graphics from the associate service or refresh the layer from local cache.

    public InputStream retrieveAttachment (int objectId, int attachmentId)

    Fetches the contents of the specified attachment. Please make sure call the InputStream.close() after you get the data.

    Parameters
    objectId the ObjectId of the feature to which the attachment belongs.
    attachmentId the ID of the attachment to fetch.
    Returns
    • the input stream
    Throws
    Exception the exception

    public void selectFeatures (Query query, ArcGISFeatureLayer.SELECTION_METHOD selectionMethod, CallbackListener<FeatureSet> callback)

    Selects features from the feature layer. The selection method defines how query results are passed to the selection. The feature layer will highlight the current selection if a selection symbol has been defined. Whenever possible, the feature layer will perform the query operation on the client side.

    Parameters
    query The input query.
    selectionMethod the selection mode.
    callback The function to call when the method is completed or on error.

    public void setAutoRefreshOnExpiration (boolean autoRefreshOnExpiration)

    Specifies whether or not the layer will refresh automatically when the expiration interval is reached. Default is false. This is used only in ONDEMAND mode.

    Parameters
    autoRefreshOnExpiration the auto refresh on expiration

    public void setBufferFactor (int bufferFactor)

    Sets the factor used to calculate buffered extent. When in ONDEMAND mode, you have a choice to fetch the features within current extent or buffered extent. The buffered extent is calculated as: width = extent.width * bufferFactor * 2 + 1); height = extent.height * (bufferFactor * 2 + 1);

    By default it is 1 (100%).

    Parameters
    bufferFactor the buffer factor

    public void setDefinitionExpression (String expression)

    Sets the definition expression of the feature layer. Only the features that match the definition expression are displayed. A definition expression limits the features available for display and queries by applying constraints to the layer's attribute fields. Setting a definition expression is useful when the dataset is large and you don't want to bring everything to the client for analysis. This method is typically called before adding the layer to the map. If the method is called after the layer is added to the map the layer will refresh itself to reflect the new definition expression.

    Parameters
    expression the definition expression.

    public void setExpirationInterval (int expirationInterval)

    The time interval in seconds that features in the layer will expire when the layer is in ONDEMAND mode. Setting this to 0 will cause the features to not expire.

    Parameters
    expirationInterval interval in seconds

    public void setPopupInfos (Map<IntegerArcGISPopupInfo> popUpInfos)

    Sets the popup infos.

    Parameters
    popUpInfos the popup infos

    public void setSelectionSymbol (Symbol selectionSymbol)

    Sets the selection symbol for the feature layer. If no symbol is specified, features are drawn using the layers's renderer.

    Parameters
    selectionSymbol the selection symbol

    public void setTimeInterval (TimeExtent timeExtent)

    Set the current date/time range that this layer will be filtered by.

    Parameters
    timeExtent the new date/time range

    Protected Methods

    protected void finalize ()

    Throws
    Throwable

    protected void initLayer ()

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

    protected void initialUpdate ()

    Called when ArcGISFeatureLayer updates its content very first time.

    protected void updateSpatialReferenceStatus (int SRStatus)

    The callback method is invoked when the layer is added to map. 0 - Spatial Reference Invalid 1 - Spatial Reference NotNeeded 2 - Spatial Reference Projected 3 - Spatial Reference Good

    Parameters
    SRStatus an integer indicating the spatial reference status of layer