Class sap.ui.vbm.GeoJsonLayerModule: sap/ui/vbm/GeoJsonLayer

extends Element
known direct subclasses: FeatureCollection

GeoJsonLayer aggregation container. A GeoJsonLayer 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,
  • LineString, and
  • Point
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.
The GeoJSON can be given as a URL using property srcURL, directly as object using property data, or as a combination of both.

Constructor Summary
new sap.ui.vbm.GeoJsonLayer(sId?, mSettings?)Constructor for a new GeoJsonLayer.
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.GeoJsonLayer.extend(sClassName, oClassInfo?, FNMetaImpl?)Creates a new subclass of class sap.ui.vbm.GeoJsonLayer with name sClassName and enriches it with the information contained in oClassInfo.
sap.ui.vbm.GeoJsonLayer.getMetadata()Returns a metadata object for class sap.ui.vbm.GeoJsonLayer.
addData(aData)Add GeoJSON object to the layer
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.GeoJsonLayer.
attachContextMenu(oData?, fnFunction, oListener?)Attaches event handler fnFunction to the contextMenu event of this sap.ui.vbm.GeoJsonLayer.
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.GeoJsonLayer.
detachContextMenu(fnFunction, oListener)Detaches event handler fnFunction from the contextMenu event of this sap.ui.vbm.GeoJsonLayer.
fireClick(mArguments?)Fires event click to attached listeners.
fireContextMenu(mArguments?)Fires event contextMenu to attached listeners.
getData()Gets current value of property data.
getDefaultBorderColor()Gets current value of property defaultBorderColor.
getDefaultFillColor()Gets current value of property defaultFillColor.
getDefaultLineWidth()Gets current value of property defaultLineWidth.
getFeaturesInfo(aFeatureIds)Returns Properties for Features like name, bounding box, and midpoint
getItems()Gets content of aggregation items.
getSrcURL()Gets current value of property srcURL.
indexOfItem(oItem)Checks for the provided sap.ui.vbm.Feature in the aggregation items.
insertItem(oItem, iIndex)Inserts a item into the aggregation items.
openContextMenu(oFeature, oMenu)open the context menu
openDetailWindow(oFeature, oParams)open a Detail Window
removeAllItems()Removes all the controls from the aggregation items.
removeItem(vItem)Removes a item from the aggregation items.
setData(oData)Sets a new value for property data.
setDefaultBorderColor(sDefaultBorderColor)Sets a new value for property defaultBorderColor.
setDefaultFillColor(sDefaultFillColor)Sets a new value for property defaultFillColor.
setDefaultLineWidth(iDefaultLineWidth)Sets a new value for property defaultLineWidth.
setSrcURL(sSrcURL)Sets a new value for property srcURL.
Constructor Detail
new sap.ui.vbm.GeoJsonLayer(sId?, mSettings?)
Constructor for a new GeoJsonLayer.

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:

  • Properties
  • 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.core.Element 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.GeoJsonLayer.extend(sClassName, oClassInfo?, FNMetaImpl?): function
Creates a new subclass of class sap.ui.vbm.GeoJsonLayer 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.core.Element.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.GeoJsonLayer.getMetadata(): sap.ui.base.Metadata
Returns a metadata object for class sap.ui.vbm.GeoJsonLayer.
Returns:
{sap.ui.base.Metadata} Metadata object describing this class
addData(aData): void
Add GeoJSON object to the layer
Parameters:
{object}aData GeoJSON object or an array of those
addItem(oItem): sap.ui.vbm.GeoJsonLayer
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.GeoJsonLayer} Reference to this in order to allow method chaining
attachClick(oData?, fnFunction, oListener?): sap.ui.vbm.GeoJsonLayer
Attaches event handler fnFunction to the click event of this sap.ui.vbm.GeoJsonLayer.

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.GeoJsonLayer 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.GeoJsonLayer itself
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
attachContextMenu(oData?, fnFunction, oListener?): sap.ui.vbm.GeoJsonLayer
Attaches event handler fnFunction to the contextMenu event of this sap.ui.vbm.GeoJsonLayer.

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.GeoJsonLayer 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.GeoJsonLayer itself
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
destroyItems(): sap.ui.vbm.GeoJsonLayer
Destroys all the items in the aggregation items.
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
detachClick(fnFunction, oListener): sap.ui.vbm.GeoJsonLayer
Detaches event handler fnFunction from the click event of this sap.ui.vbm.GeoJsonLayer.

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.GeoJsonLayer} Reference to this in order to allow method chaining
detachContextMenu(fnFunction, oListener): sap.ui.vbm.GeoJsonLayer
Detaches event handler fnFunction from the contextMenu event of this sap.ui.vbm.GeoJsonLayer.

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.GeoJsonLayer} Reference to this in order to allow method chaining
fireClick(mArguments?): sap.ui.vbm.GeoJsonLayer
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.GeoJsonLayer} Reference to this in order to allow method chaining
fireContextMenu(mArguments?): sap.ui.vbm.GeoJsonLayer
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.GeoJsonLayer} Reference to this in order to allow method chaining
getData(): object
Gets current value of property data.

GeoJSON object according to the http://geojson.org/geojson-spec.html#geojson-objects|specification or array of such objects

Returns:
{object} Value of property data
getDefaultBorderColor(): sap.ui.core.CSSColor
Gets current value of property defaultBorderColor.

Default border color for GeoJSON features, if applicable (Polygons and LineStrings)

Default value is rgba(255, 255, 255, 1.0).

Returns:
{sap.ui.core.CSSColor} Value of property defaultBorderColor
getDefaultFillColor(): sap.ui.core.CSSColor
Gets current value of property defaultFillColor.

Default Fill color for GeoJSON features (Polygons and LineStrings)

Default value is rgba(186, 193, 196, 0.5).

Returns:
{sap.ui.core.CSSColor} Value of property defaultFillColor
getDefaultLineWidth(): int
Gets current value of property defaultLineWidth.

Default line width for LineStrings

Default value is 5.

Returns:
{int} Value of property defaultLineWidth
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[]}
getSrcURL(): string
Gets current value of property srcURL.

Source URL for GeoJSON

Returns:
{string} Value of property srcURL
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.GeoJsonLayer
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.GeoJsonLayer} Reference to this in order to allow method chaining
openContextMenu(oFeature, oMenu): void
open the context menu
Parameters:
{sap.ui.vbm.Feature}oFeature VO instance for which the Detail Window should be opened
{object}oMenu the context menu to be opened
openDetailWindow(oFeature, oParams): void
open a Detail Window
Parameters:
{sap.ui.vbm.Feature}oFeature VO instance for which the Detail Window should be opened
{object}oParams Parameter object
{string}oParams.caption Text for Detail Window caption
{string}oParams.offsetX position offset in x-direction from the anchor point
{string}oParams.offsetY position offset in y-direction from the anchor point
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
setData(oData): sap.ui.vbm.GeoJsonLayer
Sets a new value for property data.

GeoJSON object according to the http://geojson.org/geojson-spec.html#geojson-objects|specification or array of such objects

When called with a value of null or undefined, the default value of the property will be restored.

Parameters:
{object}oData New value for property data
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
setDefaultBorderColor(sDefaultBorderColor): sap.ui.vbm.GeoJsonLayer
Sets a new value for property defaultBorderColor.

Default border color for GeoJSON features, if applicable (Polygons and LineStrings)

When called with a value of null or undefined, the default value of the property will be restored.

Default value is rgba(255, 255, 255, 1.0).

Parameters:
{sap.ui.core.CSSColor}sDefaultBorderColor New value for property defaultBorderColor
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
setDefaultFillColor(sDefaultFillColor): sap.ui.vbm.GeoJsonLayer
Sets a new value for property defaultFillColor.

Default Fill color for GeoJSON features (Polygons and LineStrings)

When called with a value of null or undefined, the default value of the property will be restored.

Default value is rgba(186, 193, 196, 0.5).

Parameters:
{sap.ui.core.CSSColor}sDefaultFillColor New value for property defaultFillColor
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
setDefaultLineWidth(iDefaultLineWidth): sap.ui.vbm.GeoJsonLayer
Sets a new value for property defaultLineWidth.

Default line width for LineStrings

When called with a value of null or undefined, the default value of the property will be restored.

Default value is 5.

Parameters:
{int}iDefaultLineWidth New value for property defaultLineWidth
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining
setSrcURL(sSrcURL): sap.ui.vbm.GeoJsonLayer
Sets a new value for property srcURL.

Source URL for GeoJSON

When called with a value of null or undefined, the default value of the property will be restored.

Parameters:
{string}sSrcURL New value for property srcURL
Returns:
{sap.ui.vbm.GeoJsonLayer} Reference to this in order to allow method chaining