Class: BuiltinExternalTileLayer

OM.layer. BuiltinExternalTileLayer


new BuiltinExternalTileLayer(name, pluginName, customParameters)

This class extends TileLayer. It provides the basis for writing plugins that
can display map tiles served by third party tile services.

By extending this class and implementing the few required methods, any third
party map tile service API can be used to display their map tiles within
the V2 API framework and integrate seamlessly with other map layers.

A plugin extending this class must implement the three methods init,
pan and setCenterAndZoomlevel. Inside these
methods the plugin is free to call vendor specific APIs that interact with
the target tile service. For details on what type of contextual information
are provided to the plugin by the V2 API, please see the documentation of
the three required methods.

A plugin must also register itself to the V2 API, using the static method
OM.layer.BuiltinExternalTileLayer.register(). The registration consists of
the plugin name as well as the tile layer's zoom level configuration.

Finally it is the application's responsibility to ensure that all the vendor
specific dependent API libraries are imported prior to using the plugin.

Parameters:
Name Type Description
name String

A unique tile layer name.

pluginName String

the registered name of the map tile layer plugin

customParameters Object

an optional JSON object containing various
custom parameters that the plugin might require at
run time.

Extends

Methods


bringForward()

Bring the layer to the front by one step (closer to the top of the map).

Inherited From:
Returns:

The new z-index

Type
int

bringToTop()

Bring the layer all the way to the top of the map

Inherited From:
Returns:

The new z-index

Type
int

enableInfoWindow(enable)

Enable or disable the feature info window.

Parameters:
Name Type Description
enable boolean

Enable or disable feature info window. By default,
the info window is enabled.

Inherited From:
Returns:
Type
void

enableUTFGridInfoWindow(status)

Enable or disable the UTFGrid Info Window when applicable

Parameters:
Name Type Description
status boolean

true or false to enable or disable the default (built-in) utfgrid info window

Inherited From:

getCustomTags()

Get custom tags from tile layer

Inherited From:
Returns:

An object defined custom tags if any

Type
Object

getEnableInfoWindow()

get the enable infowindow status: true for enabled and false otherwise
the info window is enabled.

Inherited From:
Returns:

true or false

Type
boolean

getName()

Get the layer name.

Inherited From:
Returns:

The layer name

Type
String

getOpacity()

Get the layer's current opacity setting.

Inherited From:
Returns:

The layer's opacity. Is a value between 0 and 1.

Type
float

getTileLayerConfig(callBack)

Get the tile layer configuration.

Parameters:
Name Type Description
callBack function

Getting tile layer config is asynchronous. So
you need a callback fucntion to get result.

Inherited From:
Returns:
Type
void

getUTFGridResolution(res)

parse and return the utfgrid resolution

Parameters:
Name Type Description
res string

The utfgrid resolution. Can be either a string or a number

Inherited From:
Returns:

the utfgrid resolution

Type
number

getZIndex()

Get the layer's z-index.

Inherited From:
Returns:

The z-index value. Returns -1 if the layer was not added to the map.

Type
int

init(container)

Abstract method to be implemented by a plugin. This method will be called
when the tile layer defined by the plugin is first created and added to the
OM.Map.

The V2 API will provide a container DIV for the plugin to display its map
tiles. You can access the DIV object using this.container. If you just need
the ID of the DIV object, use this.container.id.

The plugin may also wish to access the current map context info such as the map
center and zoom level. This is obtained through this.parentMap.getMapContext(),
which returns a MapContext instance.

To transfrom the coordinate you can call this.parentMap.getMapContext().getCenterPoint().transform(8307) at client side
or call this.parentMap.getMapContext().getCenterPoint().transform(8307, function(geom){}) at server side;

Parameters:
Name Type Description
container Object

The HTML DIV element where the layer content is displayed.

Overrides:
  • OM.layer.TileLayer#init
Returns:
Type
void

isInZoomLevelRange(curLevel)

Checks if the current map zoom level is within this layer's visible zoom-level range.

Parameters:
Name Type Description
curLevel int

Optional, the zoom level to check if it is within the minVisibleLevel and maxVisibleLevel
range. If not specified, then the current zoom level is used.

Inherited From:
Returns:

true if the current map level is within the layer's zoom level range for
it to be visible.

Type
Boolean

isVisible(curLevel)

Get the visibility of the layer.

Parameters:
Name Type Description
curLevel int

Optional, the zoom level to check if it is within the minVisibleLevel and maxVisibleLevel
range. If not specified, then the current zoom level is used.

Inherited From:
Returns:

True if the theme-based FOI layer is currently visible,
False if the theme-based FOI layer is currently not visible

Type
Boolean

on()

A shorthand name for the member function addListener.

Inherited From:
Mixes In:

pan(xOffset, yOffset)

Abstract method. This method will be called on a map pan operation.

Parameters:
Name Type Description
xOffset int

Move the map xOffset pixels on x axis

yOffset int

Move the map yOffset pixels on the y axis

Overrides:
  • OM.layer.TileLayer#pan
Returns:
Type
void

redraw()

Refresh the display of the layer's existing data.

Inherited From:
Returns:

None


resize()

Abstract method. Resize the map.

Returns:
Type
void

sendBackward()

Sendthe layer to the back by one step (closer to the bottom of the map).

Inherited From:
Returns:

The new z-index

Type
int

sendToBottom()

Send the layer all the way to the bottom of the map

Inherited From:
Returns:

The new z-index

Type
int

setInfoWindowTrigger(status)

Enable or disable the UTFGridInfoWindow when applicable

Parameters:
Name Type Description
status boolean

true or false to enable or disable the default (built-in) utfgrid info window

Inherited From:

setMapCenterAndZoomlevel()

Set or change the map center and zoom level.
The new or modified center and zoom level are stored in and subsequently retrieved from the map context.
you can call "this.parentMap.getMapContext()" to get the map context.
To transfrom the coordinate you can call "this.parentMap.getMapContext().getCenterPoint().transform(8307)" at client side
or call "this.parentMap.getMapContext().getCenterPoint().transform(8307, function(geom){})" at server side;

Returns:
Type
void

setName(newName)

Set the layer name with the given name.

Parameters:
Name Type Description
newName String

The new layer name to be assigned to this layer.

Inherited From:
Returns:
Type
None

setOpacity(opacity)

Set the layer's opacity. A value between 0 (transparnet) and 1 (opaque).

Parameters:
Name Type Description
opacity float

It should be a number between 0 and 1. e.g. 0.5 means 50% opacity.

Inherited From:
Returns:
Type
void

setVisible(visibility)

Sets the visibility of the layer.
Note that the visibility change will NOT be made if the current map zoom level is
outside the layer's 'visible zoom level range' which is set by setZoomLevelRange() method.

Parameters:
Name Type Description
visibility Boolean

A Boolean true (show the layer, i.e. make it visible) or false
(hide the layer).

Inherited From:
Returns:

void}

Type
None

setVisibleBound(bound)

Set a bound (MBR) for the layer visibility. Only content within the supplied bound will be rendered.
That is, the map client will only fetch and display map content within this bound.

Parameters:
Name Type Description
bound OM.geometry.Rectangle

Specifies the layer boundary

Inherited From:
Returns:
Type
void

setZIndex()

Set the z-index for the layer.

Note: A valid layer z-index should be a number between 1 and n, where n is
the number of layers that are currently displayed in the map. When the newIndex
parameter of setZIndex is less than 1, it will be set to 1. If it is
greater than n, it will be set to n. If z-Index value, newIndex, is already assigned
to another layer, then it will still be assigned to the current layer (on which this function is invoked).
One or more of the other layer will be assigned a different z-index value. The changes will depend on
whether this layer was inserted into the current layer stack or just moved within the layer stack.

Inherited From:
Returns:

The old z-index

Type
int

setZoomLevelRange(minLevel, maxLevel)

Set the zoom level range within which this layer is visible. By default
a layer is set to be visible between a minmum zoom level of 0 and a maximum
(theoretical) zoom level of 100.

Parameters:
Name Type Description
minLevel int

Specifies the min level. The layer will not be
visible if the zoom level is lower than this vlaue.

maxLevel int

Specifies the max level. The layer will not be
visible if the zoom level is higher than this value.

Inherited From:
Returns:
Type
None