VectorTileSource

Constructors

Link copied to clipboard
constructor(id: String, authenticator: XweatherAuthenticator? = null)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
var bounds: LatLonBounds?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val eventDispatcher: EventDispatcher
Link copied to clipboard
var glStencilMaskTileListener: (coord: TileCoord, coordHash: String, features: List<Feature>) -> Unit?

When set (GL stencil mask mode), invoked on the tile decode thread after each successful MVT parse with the same TileCoord / coord-hash key used by encoded raster meshes.

Link copied to clipboard
open override val id: String

Same id as the registered style source / descriptor.

Link copied to clipboard
open val isEncoded: Boolean
Link copied to clipboard
Link copied to clipboard
open override var isReady: Boolean

true when metadata (and any bootstrap work) is available so layers can request tiles safely.

Link copied to clipboard
Link copied to clipboard
open override val kind: DataSourceKind

High-level source family (raster, encoded, vector, …).

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

com.xweather.mapsgl.map.MapController.mapSessionId that owns in-flight / ready tile bookkeeping.

Link copied to clipboard
open override var tileCache: TileCache<DataType>
Link copied to clipboard
open var tileManager: TileRequestManager<VectorData>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override var timeRange: ClosedRange<Date>?

Optional interval filter for time-series products; drives tile requests with timeline state.

Link copied to clipboard

Alias for DataSource.kind (matches JS naming type).

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun abortTile(x: Int, y: Int, z: Int)
Link copied to clipboard
open override fun addConsumer(consumer: DataSourceConsumer)

Register a layer that should receive updates when this source loads or changes.

Link copied to clipboard
fun addCustomStencilTileListener(listenerId: String, listener: (coord: TileCoord, coordHash: String, features: List<Feature>) -> Unit): () -> Unit

Invoked on the tile decode thread after each successful parse, after glStencilMaskTileListener.

Link copied to clipboard
fun addStencilParseLayerDependency(sourceLayerTag: String): () -> Unit

Ensures parseVectorTile includes sourceLayerTag in decoded MVT layers (refcounted).

Link copied to clipboard
fun addToAnimationQueue(inputString: String)
Link copied to clipboard
fun adjustDateBySeconds(dateString: String, offsetSeconds: Long): String?

Used by prepareTileRequest() to increment or decremnet the time and reformate it for sources with time offets

Link copied to clipboard
open fun contains(coord: TileCoord): Boolean
Link copied to clipboard
fun <DataType : TileData> TileSource<DataType>.contains(coord: TileCoord): Boolean
Link copied to clipboard
open suspend override fun fetchMetadata(startDate: Date?, endDate: Date?): Result<Unit>

Returns the metadata for the source, which can be loaded from a remote source.

Link copied to clipboard
open override fun getMetadataURL(): URL?
Link copied to clipboard
open override fun getTileData(coord: TileCoord): Any?
Link copied to clipboard
fun <DataType : TileData> TileSource<DataType>.init(id: String, authenticator: Authenticator<MediaSession.Token>?)
Link copied to clipboard
fun intervalToIsoPathTime(intervalTime: String): String

Plain ISO-8601 for URL path {time} segments (encoded tile GET). Cache keys and POST validTimes still use bracketed ["…"] strings.

Link copied to clipboard
fun intervalToURLTime(intervalTime: String): String

convert from \"2025-04-22T03:49:31Z\" to 20250422030000

Link copied to clipboard
open fun invalidate()
Link copied to clipboard
fun makeTileURL(coord: TileCoord, variables: Map<String, Any>?): URL
Link copied to clipboard
Link copied to clipboard
fun onTileError(tile: TileType, error: Error)
Link copied to clipboard
suspend fun parseTile(tile: TileType, data: ByteArray, headers: <Error class: unknown class><Any, Any>?): Bitmap
Link copied to clipboard
inline fun <EventType : Event> EventSource.publisher(eventType: Class<EventType>): Flow<EventType>
Link copied to clipboard
open override fun removeConsumer(layerId: String)

Unregister a layer previously added with addConsumer.

Link copied to clipboard
Link copied to clipboard
open suspend fun requestTile(x: Int, y: Int, z: Int, mapZoomForDensity: Double? = null, visibleGeoBounds: VisibleGeoBounds? = null): VectorData?
Link copied to clipboard
open suspend override fun requestTiles(coord: TileCoord, options: TileRequestOptions, currentDate: String, fromAnimation: Boolean, intervals: List<String>?, trackDownloadProgress: Boolean): Any
Link copied to clipboard
fun setBatchInvalidateFunction(batchInvalidateFunction: (List<Triple<Int, Int, Int>>) -> Unit?)
Link copied to clipboard
fun setInvalidateFunction(invalidateFunction: (Int, Int, Int) -> Unit?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <EventType : Event> EventSource.subscribe(eventType: Class<EventType>, crossinline handler: (EventType) -> Unit)
Link copied to clipboard