Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DataSource

Derive a class from DataSource to contribute data and geometries to the MapView.

Hierarchy

Index

Constructors

constructor

Properties

addGroundPlane

addGroundPlane: boolean = false

Whether the datasource should have a ground plane (this plane covers the tile entirely and has the minimum possible renderOrder), this can be required in some cases when fallback parent tiles need to be covered by the children, otherwise the content will overlap. Default is false

allowOverlappingTiles

allowOverlappingTiles: boolean = true

cacheable

cacheable: boolean = false

Set to true if the MapView can cache tiles produced by this DataSource.

dataSourceOrder

dataSourceOrder: number = 0

Overrides the default rendering order of this DataSource.

remarks

When dataSourceOrder is defined, all the objects created by this DataSource will be rendered on top of the objects created by other DataSources with lower dataSourceOrder values.

defaultvalue

undefined

enablePicking

enablePicking: boolean = true

enabled

enabled: boolean = true

Set to true if this DataSource is enabled; false otherwise.

Protected Optional languages

languages: string[]

An array of ISO 639-1 language codes.

maxDataLevel

maxDataLevel: number = 20

The maximum zoom level at which data is available.

maxDisplayLevel

maxDisplayLevel: number = 20

The maximum zoom level at which DataSource is displayed.

minDataLevel

minDataLevel: number = 1

The minimum zoom level at which data is available.

minDisplayLevel

minDisplayLevel: number = 1

The minimum zoom level at which DataSource is displayed.

name

name: string

The unique name of a DataSource instance.

useGeometryLoader

useGeometryLoader: boolean = false

Set to true if the loader should be used to get the tile contents.

Accessors

mapView

maxGeometryHeight

  • get maxGeometryHeight(): number
  • set maxGeometryHeight(value: number): void
  • Maximum geometry height above ground level this DataSource can produce.

    Used in first stage of frustum culling before {@link Tile.maxGeometryHeight} data is available.

    default

    0.

    Returns number

  • Maximum geometry height above ground level this DataSource can produce.

    Used in first stage of frustum culling before {@link Tile.maxGeometryHeight} data is available.

    default

    0.

    Parameters

    • value: number

    Returns void

maxZoomLevel

  • get maxZoomLevel(): number
  • set maxZoomLevel(level: number): void

minGeometryHeight

  • get minGeometryHeight(): number
  • set minGeometryHeight(value: number): void
  • Minimum geometry height below ground level this DataSource can produce. A negative number specifies a value below ground level.

    Used in first stage of frustum culling before {@link Tile.minGeometryHeight} data is available.

    default

    0.

    Returns number

  • Minimum geometry height below ground level this DataSource can produce. A negative number specifies a value below ground level.

    Used in first stage of frustum culling before {@link Tile.minGeometryHeight} data is available.

    default

    0.

    Parameters

    • value: number

    Returns void

minZoomLevel

  • get minZoomLevel(): number
  • set minZoomLevel(level: number): void

projection

storageLevelOffset

  • get storageLevelOffset(): number
  • set storageLevelOffset(levelOffset: number): void
  • The difference between storage level and display level of tile.

    Storage level offset is a value applied (added) to current zoom level giving a final tile level being displayed. This way we may differentiate current zoom level from the storage level that is displayed, giving fine grained control over the tiles being decoded an displayed.

    Returns number

  • Setup the relative offset between storage level and display level of tile.

    Storage level offset is a value applied (added) to current zoom level giving a final tile level being displayed. This way we may differentiate current zoom level from the storage level that is displayed, giving fine grained control over the tiles being decoded an displayed.

    Parameters

    • levelOffset: number

      Difference between zoom level and display level.

    Returns void

styleSetName

  • get styleSetName(): string | undefined
  • set styleSetName(styleSetName: string | undefined): void

Methods

addEventListener

  • addEventListener(type: string, listener: (event: Event) => void): void
  • Adds a listener to an event type.

    Parameters

    • type: string

      The type of event to listen to.

    • listener: (event: Event) => void

      The function that gets called when the event is fired.

        • (event: Event): void
        • Parameters

          • event: Event

          Returns void

    Returns void

attach

canGetTile

  • canGetTile(zoomLevel: number, tileKey: TileKey): boolean
  • Returns true if DataSource can load tile with given {@link @here/harp-geoutils#TileKey} and zoom level.

    Parameters

    • zoomLevel: number

      The zoom level of the MapView.

    • tileKey: TileKey

      The unique identifier for a map tile.

    Returns boolean

    true if the tile for the given {@link @here/harp-geoutils#TileKey} can be loaded.

clearCache

  • clearCache(): void

clearFeatureState

  • clearFeatureState(): void

connect

  • connect(): Promise<void>
  • This method is called when the DataSource is added to a MapView. Override this method to provide any custom initialization, such as, to establish a network connection, or to initialize complex data structures.

    Returns Promise<void>

detach

dispatchEvent

  • dispatchEvent(event: { type: string }): void
  • Fire an event type.

    Parameters

    • event: { type: string }
      • [attachment: string]: any
      • type: string

    Returns void

dispose

  • dispose(): void

getDataZoomLevel

  • getDataZoomLevel(zoomLevel: number): number

getFeatureState

  • getFeatureState(featureId: number | string): ValueMap | undefined

Abstract getTile

  • getTile(tileKey: TileKey, delayLoad?: undefined | false | true): Tile | undefined
  • This method is called when MapView needs to visualize or preload the content of a {@link @here/harp-geoutils#TileKey}.

    default

    false.

    Parameters

    • tileKey: TileKey

      The unique identifier for a map tile.

    • Optional delayLoad: undefined | false | true

      If true, the Tile will be created, but Tile.load will not be called

    Returns Tile | undefined

Abstract getTilingScheme

hasEventListener

  • hasEventListener(type: string, listener: (event: Event) => void): boolean
  • Checks if listener is added to an event type.

    Parameters

    • type: string

      The type of event to listen to.

    • listener: (event: Event) => void

      The function that gets called when the event is fired.

        • (event: Event): void
        • Parameters

          • event: Event

          Returns void

    Returns boolean

isDetached

  • isDetached(): boolean

isFullyCovering

  • isFullyCovering(): boolean
  • Boolean which says whether a DataSource produces tiles that fully cover the tile, i.e. tiles underneath are completely hidden. Must be overridden for DataSource's that don't have a ground plane, but which still fully cover the tile, e.g. web tiles.

    Returns boolean

isVisible

  • isVisible(zoomLevel: number): boolean

ready

  • ready(): boolean

removeEventListener

  • removeEventListener(type: string, listener: (event: Event) => void): void
  • Removes a listener from an event type.

    Parameters

    • type: string

      The type of the listener that gets removed.

    • listener: (event: Event) => void

      The listener function that gets removed.

        • (event: Event): void
        • Parameters

          • event: Event

          Returns void

    Returns void

removeFeatureState

  • removeFeatureState(featureId: number | string): void
  • Removes the state associated to the given feature.

    Parameters

    • featureId: number | string

      The id of the feature. Id numbers are deprecated in favor of strings.

    Returns void

requestUpdate

  • requestUpdate(): void

setEnableElevationOverlay

  • setEnableElevationOverlay(enable: boolean): void
  • Enables or disables overlay of geometry on elevation. It must be overloaded by data sources supporting this feature.

    Parameters

    • enable: boolean

    Returns void

setFeatureState

  • setFeatureState(featureId: number | string, state: ValueMap): void
  • Sets the state of the given feature id.

    dataSource.setFeatureState(featureId, { enabled: true });

    Parameters

    • featureId: number | string

      The id of the feature. Id numbers are deprecated in favor of strings.

    • state: ValueMap

      The new state of the feature.

    Returns void

setLanguages

  • setLanguages(languages?: string[]): void
  • Used to configure the languages used by the DataSource according to priority; the first language in the array has the highest priority.

    Parameters

    • Optional languages: string[]

      An array of ISO 639-1 language codes.

    Returns void

setPoliticalView

  • setPoliticalView(pov?: undefined | string): void
  • Used to express different country point of view (political view).

    note

    Set to undefined (or empty string) if you want to reset to default point of view.

    Parameters

    • Optional pov: undefined | string

      The country code which point of view should be presented in lower-case ISO 3166-1 alpha-2 format.

    Returns void

setTheme

  • setTheme(theme: Theme): Promise<void>
  • Apply the {@link @here/harp-datasource-protocol#Theme} to this data source.

    If DataSource depends on a styleSet defined by this theme or languages, it must update its tiles' geometry.

    Parameters

    • theme: Theme

      The Theme to be applied

    Returns Promise<void>

shouldPreloadTiles

  • shouldPreloadTiles(): boolean
  • This method is called by the MapView to determine if the content of the surrounding tiles must be preloaded.

    Returns boolean

    true if the MapView should try to preload tiles surrounding the visible tiles; false otherwise. The default is false.

shouldRenderText

  • shouldRenderText(zoomLevel: number, tileKey: TileKey): boolean
  • Returns true if MapView should render the text elements with the given {@link @here/harp-geoutils#TileKey} and zoom level.

    remarks

    This is an additional check for the tiles that are already selected for rendering so the default implementation returns true.

    Parameters

    • zoomLevel: number

      The zoom level.

    • tileKey: TileKey

      The unique identifier for a map tile.

    Returns boolean

    true if the text elements created for the given {@link @here/harp-geoutils#TileKey} should be rendered.

shouldSubdivide

  • shouldSubdivide(zoomLevel: number, tileKey: TileKey): boolean
  • Returns true if MapView should traverse tiles further with given {@link @here/harp-geoutils#TileKey} and zoom level.

    Parameters

    • zoomLevel: number

      The zoom level of the MapView.

    • tileKey: TileKey

      The unique identifier for a map tile.

    Returns boolean

    true if the subtiles of the given {@link @here/harp-geoutils#TileKey} should be checked for collisions.

updateTile

  • updateTile(tile: Tile): void

Generated using TypeDoc