Class sap.ui.vbm.FeatureCollectionModule: sap/ui/vbm/FeatureCollection

extends GeoJsonLayer

FeatureCollection aggregation container. A FeatureCollection can render the content of an assigned GeoJSON. The naming is associated to the GeoJSON standard. All features found in the GeoJSON are rendered as separated objects. From the possible feature types only

  • Polygon and
  • Multipolygon
are supported so far. The feature type support will be extended in the upcoming releases.
All features from the GeoJSON will be rendered with the given default colors and are inactive. They do not react on mouse over, except with tooltip, or raise any events on click or right click.
By adding Feature elements to the items aggregation you can make the match (by id) feature from the GeoJSON interactive and give it alternative colors.

Constructor Summary
new sap.ui.vbm.FeatureCollection(sId?, mSettings?)Constructor for a new FeatureCollection.
Event Summary
click(oControlEvent)The event is raised when there is a click action on an aggregated Feature.
contextMenu(oControlEvent)The event is raised when there is a right click or a tap and hold action on an aggregated Feature.
Method Summary
sap.ui.vbm.FeatureCollection.extend(sClassName, oClassInfo?, FNMetaImpl?)Creates a new subclass of class sap.ui.vbm.FeatureCollection with name sClassName and enriches it with the information contained in oClassInfo.
sap.ui.vbm.FeatureCollection.getMetadata()Returns a metadata object for class sap.ui.vbm.FeatureCollection.
addItem(oItem)Adds some item to the aggregation items.
attachClick(oData?, fnFunction, oListener?)Attaches event handler fnFunction to the click event of this sap.ui.vbm.FeatureCollection.
attachContextMenu(oData?, fnFunction, oListener?)Attaches event handler fnFunction to the contextMenu event of this sap.ui.vbm.FeatureCollection.
destroyItems()Destroys all the items in the aggregation items.
detachClick(fnFunction, oListener)Detaches event handler fnFunction from the click event of this sap.ui.vbm.FeatureCollection.
detachContextMenu(fnFunction, oListener)Detaches event handler fnFunction from the contextMenu event of this sap.ui.vbm.FeatureCollection.
fireClick(mArguments?)Fires event click to attached listeners.
fireContextMenu(mArguments?)Fires event contextMenu to attached listeners.
getFeaturesInfo(aFeatureIds)Returns Properties for Features like name, bounding box, and midpoint
getItems()Gets content of aggregation items.
indexOfItem(oItem)Checks for the provided sap.ui.vbm.Feature in the aggregation items.
insertItem(oItem, iIndex)Inserts a item into the aggregation items.
removeAllItems()Removes all the controls from the aggregation items.
removeItem(vItem)Removes a item from the aggregation items.
Constructor Detail
new sap.ui.vbm.FeatureCollection(sId?, mSettings?)
Constructor for a new FeatureCollection.

Accepts an object literal mSettings that defines initial property values, aggregated and associated objects as well as event handlers. See sap.ui.base.ManagedObject for a general description of the syntax of the settings object.

The supported settings are:

  • Aggregations
    • items : sap.ui.vbm.Feature[] (default)
  • Events
    • click : fnListenerFunction or [fnListenerFunction, oListenerObject] or [oData, fnListenerFunction, oListenerObject]
    • contextMenu : fnListenerFunction or [fnListenerFunction, oListenerObject] or [oData, fnListenerFunction, oListenerObject]

In addition, all settings applicable to the base type sap.ui.vbm.GeoJsonLayer can be used as well.

Parameters:
{string}sId? id for the new control, generated automatically if no id is given
{object}mSettings? initial settings for the new control
Event Detail
click(oControlEvent)
The event is raised when there is a click action on an aggregated Feature. Clicks on other Features from the GeoJSON are ignored.
Parameters:
{sap.ui.base.Event}oControlEvent
{sap.ui.base.EventProvider}oControlEvent.getSource
{object}oControlEvent.getParameters
{string}oControlEvent.getParameters.featureId Id of clicked Feature
contextMenu(oControlEvent)
The event is raised when there is a right click or a tap and hold action on an aggregated Feature. Clicks on other Features from the GeoJSON are ignored.
Parameters:
{sap.ui.base.Event}oControlEvent
{sap.ui.base.EventProvider}oControlEvent.getSource
{object}oControlEvent.getParameters
{string}oControlEvent.getParameters.featureId Id of clicked Feature
Method Detail
sap.ui.vbm.FeatureCollection.extend(sClassName, oClassInfo?, FNMetaImpl?): function
Creates a new subclass of class sap.ui.vbm.FeatureCollection with name sClassName and enriches it with the information contained in oClassInfo.

oClassInfo might contain the same kind of information as described in sap.ui.vbm.GeoJsonLayer.extend.

Parameters:
{string}sClassName Name of the class being created
{object}oClassInfo? Object literal with information about the class
{function}FNMetaImpl? Constructor function for the metadata object; if not given, it defaults to sap.ui.core.ElementMetadata
Returns:
{function} Created class / constructor function
sap.ui.vbm.FeatureCollection.getMetadata(): sap.ui.base.Metadata
Returns a metadata object for class sap.ui.vbm.FeatureCollection.
Returns:
{sap.ui.base.Metadata} Metadata object describing this class
Adds some item to the aggregation items.
Parameters:
{sap.ui.vbm.Feature}oItem the item to add; if empty, nothing is inserted
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
attachClick(oData?, fnFunction, oListener?): sap.ui.vbm.FeatureCollection
Attaches event handler fnFunction to the click event of this sap.ui.vbm.FeatureCollection.

When called, the context of the event handler (its this) will be bound to oListener if specified, otherwise it will be bound to this sap.ui.vbm.FeatureCollection itself.

The event is raised when there is a click action on an aggregated Feature. Clicks on other Features from the GeoJSON are ignored.

Parameters:
{object}oData? An application-specific payload object that will be passed to the event handler along with the event object when firing the event
{function}fnFunction The function to be called when the event occurs
{object}oListener? Context object to call the event handler with. Defaults to this sap.ui.vbm.FeatureCollection itself
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
attachContextMenu(oData?, fnFunction, oListener?): sap.ui.vbm.FeatureCollection
Attaches event handler fnFunction to the contextMenu event of this sap.ui.vbm.FeatureCollection.

When called, the context of the event handler (its this) will be bound to oListener if specified, otherwise it will be bound to this sap.ui.vbm.FeatureCollection itself.

The event is raised when there is a right click or a tap and hold action on an aggregated Feature. Clicks on other Features from the GeoJSON are ignored.

Parameters:
{object}oData? An application-specific payload object that will be passed to the event handler along with the event object when firing the event
{function}fnFunction The function to be called when the event occurs
{object}oListener? Context object to call the event handler with. Defaults to this sap.ui.vbm.FeatureCollection itself
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
Destroys all the items in the aggregation items.
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
detachClick(fnFunction, oListener): sap.ui.vbm.FeatureCollection
Detaches event handler fnFunction from the click event of this sap.ui.vbm.FeatureCollection.

The passed function and listener object must match the ones used for event registration.

Parameters:
{function}fnFunction The function to be called, when the event occurs
{object}oListener Context object on which the given function had to be called
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
detachContextMenu(fnFunction, oListener): sap.ui.vbm.FeatureCollection
Detaches event handler fnFunction from the contextMenu event of this sap.ui.vbm.FeatureCollection.

The passed function and listener object must match the ones used for event registration.

Parameters:
{function}fnFunction The function to be called, when the event occurs
{object}oListener Context object on which the given function had to be called
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
fireClick(mArguments?): sap.ui.vbm.FeatureCollection
Fires event click to attached listeners.

Expects the following event parameters:

  • featureId of type stringId of clicked Feature
Parameters:
{Map}mArguments? The arguments to pass along with the event
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
fireContextMenu(mArguments?): sap.ui.vbm.FeatureCollection
Fires event contextMenu to attached listeners.

Expects the following event parameters:

  • featureId of type stringId of clicked Feature
Parameters:
{Map}mArguments? The arguments to pass along with the event
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
getFeaturesInfo(aFeatureIds): array
Returns Properties for Features like name, bounding box, and midpoint
Parameters:
{string[]}aFeatureIds Array of Feature Ids. The Feature Id must match the GeoJSON tag.
Returns:
{array} Array of Feature Information Objects. Each object in the array has the properties BBox: Bounding Box for the Feature in format "lonMin;latMin;lonMax;latMax", Midpoint: Centerpoint for Feature in format "lon;lat", Name: Name of the Feature, and Properties: Array of name-value-pairs associated with the Feature
getItems(): sap.ui.vbm.Feature[]
Gets content of aggregation items.

Feature object aggregation

Returns:
{sap.ui.vbm.Feature[]}
indexOfItem(oItem): int
Checks for the provided sap.ui.vbm.Feature in the aggregation items. and returns its index if found or -1 otherwise.
Parameters:
{sap.ui.vbm.Feature}oItem The item whose index is looked for
Returns:
{int} The index of the provided control in the aggregation if found, or -1 otherwise
insertItem(oItem, iIndex): sap.ui.vbm.FeatureCollection
Inserts a item into the aggregation items.
Parameters:
{sap.ui.vbm.Feature}oItem the item to insert; if empty, nothing is inserted
{int}iIndex the 0-based index the item should be inserted at; for a negative value of iIndex, the item is inserted at position 0; for a value greater than the current size of the aggregation, the item is inserted at the last position
Returns:
{sap.ui.vbm.FeatureCollection} Reference to this in order to allow method chaining
removeAllItems(): sap.ui.vbm.Feature[]
Removes all the controls from the aggregation items.

Additionally, it unregisters them from the hosting UIArea.

Returns:
{sap.ui.vbm.Feature[]} An array of the removed elements (might be empty)
removeItem(vItem): sap.ui.vbm.Feature
Removes a item from the aggregation items.
Parameters:
{int|string|sap.ui.vbm.Feature}vItem The itemto remove or its index or id
Returns:
{sap.ui.vbm.Feature} The removed item or null