Class: Provider

Class: Provider

Class: Provider

new H.service.mapAttributes.Provider (service, style, options)

This class represents a provider for tiles to represent vector data from the HERE Map Attributes API v8

ATTENTION:
It's preferred to use H.service.mapAttributes.Service#createLayer, as it derives the layer's min zoom level from the provider's level and ensures max is greater than or equal to min, which avoids the pitfalls described below.
If you create a provider directly and pass it to the H.map.layer.TileLayer constructor, then keep the following points in mind:

  • The provider's min and max are both set to the given level.

  • The layer's min, when not defined, defaults to the provider's min, and the layer's max, when not defined, defaults to the provider's max.

  • Make sure layer's min is greater than or equal to the provider's level, otherwise lower zoom levels would request a very high number of tiles.

Name Type Description
service H.service.mapAttributes.Service

The Map Attributes service.

style H.map.render.Style.<!Object>

The style to use for rendering map attributes vector tile data from the provider.

options H.service.mapAttributes.Provider.Options

The options to instantiate the provider

Throws:

in case of invalid service, style or options

Type
H.lang.InvalidArgumentError

Extends

Members

H.service.mapAttributes.Provider.GeometryType number static

Enumeration of geometry types to provide

Properties:
Name Description
POINT

Provide points

LINE

Provide lines

POLYGON

Provide polygons

max number inherited

This property holds a value indicating the maximum zoom level at which the given provider can serve data. The value is set at construction time.

min number inherited

This property holds a value indicating the minimum zoom level at which the given provider can serve data. The value is set at construction time.

tileSize number inherited

This property holds the size of a tile representing edge length in pixels. Its value must be 2^n where n is in range [0…30], default is 512.

uid string inherited

This property holds the unique identifier for the provider instance. The value is generated at construction time.

uri string inherited

This property holds the provider's unique resource identifier. If it is not provided at construction time, it defaults to provider's uid.

Methods

addEventListener (type, handler, opt_capture, opt_scope) inherited

This method adds a listener for a specific event.

Note that to prevent potential memory leaks, you must either call removeEventListener or dispose on the given object when you no longer need it.

Name Type Description
type string

The name of the event

handler function

An event handler function

opt_capture boolean optional

true indicates that the method should listen in the capture phase (bubble otherwise)

opt_scope Object optional

An object defining the scope for the handler function

addOnDisposeCallback (callback, opt_scope) inherited

This method adds a callback which is triggered when the EventTarget object is being disposed.

Name Type Description
callback function

The callback function.

opt_scope Object optional

An optional scope for the callback function

cancelTile (x, y, z) inherited

This method cancels a tile request, using the caller-supplied tile coordinates.

Name Type Description
x number

The tile coordinate on x-axis (column index)

y number

The tile coordinate on y-axis (row index)

z number

The tile zoom level

cancelTileByKey (tileKey) inherited

This method cancels a tile request, using a tile key.

Name Type Description
tileKey string

The key identifying the tile

createTileInternal (x, y, z, data, opt_options)H.map.provider.Tile inherited

The internal method to create a tile. It must be overridden by sub-classes.

Name Type Description
x number

The tile coordinate on x-axis (column index)

y number

The tile coordinate on y-axis (row index)

z number

The tile zoom level

data HTMLImageElement | HTMLCanvasElement | Object

A data that represents the tile

opt_options Object.<string, *> optional

The options to configure the tile-specific rendering

Returns:
Type Description
H.map.provider.Tile The created tile

dispatchEvent (evt) inherited

This method dispatches an event on the EventTarget object.

Name Type Description
evt H.util.Event | string

An object representing the event or a string with the event name

dispose () inherited

This method removes listeners from the given object. Classes that extend EventTarget may need to override this method in order to remove references to DOM Elements and additional listeners.

This method retrieves a tile cache of this provider.

Returns:
Type Description
H.util.ICache An object representing a tile cache

getCopyrights (boundingBox, level)Array.<!H.map.ICopyright> inherited

This method retrieves the copyrights for the provided content for a certain geographical area and zoom level.

Note: This function may be overridden by H.map.provider.Provider.Options getCopyrights property. The default implementation returns null.

Name Type Description
boundingBox H.geo.Rect

The rectangular area for which to retrieve the copyright information

level number

The zoom level for which to retrieve the copyright information

Returns:
Type Description
Array.<!H.map.ICopyright> A list of copyright information objects for the provided area and zoom level

getStyle ()H.map.render.Style.<!Object>

To obtain the style used for rendering the provider data.

Returns:
Type Description
H.map.render.Style.<!Object>

getStyleInternal ()H.map.render.Style.<!Object> inherited

This methods returns the style used to render the provider data.

Returns:
Type Description
H.map.render.Style.<!Object>

getTileKey (x, y, z)string inherited

This method creates a tile key consisting of the provider's URI, and the x, y and z coordinates of the tile, separated by underscores, for example "4711_7_42_23".

Name Type Description
x number

The x tile coordinate (column)

y number

The y tile coordinate (row)

z number

The tile zoom level

Returns:
Type Description
string A string containing the tile key

providesGeoJSON ()boolean inherited

This method checks whether this provider will provide data in GeoJSON format. A concrete implementation of RemoteTileProvider must override it if it will provide GeoJSON data.

Returns:
Type Description
boolean A value indicating if the given provider provides GeoJSON data (true) or not (false)

providesOMV ()boolean inherited

This method checks whether this provider will provide data in OMV format. A concrete implementation of RemoteTileProvider must override it if it will provide OMV data.

Returns:
Type Description
boolean A value indicating if the given provider provides OMV data (true) or not (false)

providesRasters ()boolean inherited

This method checks whether this provider provides bitmap images as tiles. A concrete implementation of RemoteTileProvider must override it if it provides raster tiles.

Returns:
Type Description
boolean A value indicating if the given provider provides raster tiles (true) or not (false)

reload (hard) inherited overrides

This method instructs the provider to reload data from its source.

Two reload modes are possible:

  • hard: This mode immediately removes tiles from the tile cache and forces the provider to re-fetch them. Currently cached tiles are not used for rendering.
  • soft: This mode only marks tiles as invalid and requests the tiles to be re-fetched as soon as possible. The provider does not invalidate the cache immediately. This means that cached tiles can still be rendered while the updated tiles are fetched.
Name Type Description
hard boolean

A Boolean flag indicating whether to invalidate in hard mode (true) or in soft mode (false);

removeEventListener (type, handler, opt_capture, opt_scope) inherited

This method removes a previously added listener from the EventTarget instance.

Name Type Description
type string

The name of the event

handler function

A previously added event handler

opt_capture boolean optional

true indicates that the method should listen in the capture phase (bubble otherwise)

opt_scope Object optional

An object defining the scope for the handler function

requestInternal (x, y, z, onResponse, onError, opt_priority)H.util.ICancelable inherited overrides

To request a tile from a remote service. This method must be implemented by deriving classes.

Name Type Description
x number

The row number of the tile

y number

The column number of the tile

z number

The zoom level for which the tile is requested

onResponse function((HTMLImageElement|HTMLCanvasElement|ArrayBuffer|Object), *=)

A function which is called when a response arrives

onError function(Error)

A function which is called on a communication error

opt_priority H.util.Job.Priority optional

An optional request priority level

Returns:
Type Description
H.util.ICancelable An object implementing ICancelable

requestTile (x, y, z, cacheOnly)H.map.provider.Tile | undefined inherited

This method requests data for a tile.

Name Type Description
x number

The tile coordinate on x-axis (column index)

y number

The tile coordinate on y-axis (row index)

z number

The zoom level for which the tile is requested

cacheOnly boolean

A value indicating whether only cached tiles are to be considered (true) or not (false)

Returns:
Type Description
H.map.provider.Tile | undefined The tile object if it can be obtained, otherwise undefined

setStyle (style)

Sets the style to be used for rendering the provider data.

Name Type Description
style H.map.render.Style.<!Object>

setStyleInternal (style, opt_suppressChangeEvent) inherited

This method sets the style to be used to render the provider data.

Name Type Description
style H.map.render.Style.<!Object>

The style to use for rendering the provider data.

opt_suppressChangeEvent boolean optional

Flag to suppress firing of config change event.

Type Definitions

H.service.mapAttributes.Provider.Options Object

This object contains configuration options for a TileProvider instance.

Properties:
Name Type Argument Description
uri string <optional>

The provider's unique resource identifier which must not contain an underscore "_". If omitted, an auto-generated unique Session ID is used. If a consistent ID across sessions is needed (for example for storing provider data), this property must be specified.

layer string

The name of the layer to request from the HERE Map Attributes API.

level number

The level for the specified layer.

geometryTypes number

The geometry type(s) to provide, see H.service.mapAttributes.Provider.GeometryType. Multiple types can be combined using a bitwise OR operation.

Events

configchange inherited

Fired when the provider's style (which is used to render the provider's data) changes. If applicable, the event's newValue and oldValue properties contain the new and old configuration data respectively.

Type:

update inherited

Fired when the provider's data updates.

Type: