import { TileLayer, TileLayerOptions } from '.'; import { TileDataSource } from '../datasources'; import { ElevationDataDecoder } from '../rastertiles'; import { Color } from '@nativescript/core'; import { DefaultLatLonKeys, DoubleVector, GenericMapPos, IntVector, MapPos, MapPosVector } from '../core'; export enum RasterTileFilterMode { RASTER_TILE_FILTER_MODE_NEAREST, RASTER_TILE_FILTER_MODE_BILINEAR, RASTER_TILE_FILTER_MODE_BICUBIC } export enum HillshadeMethod { STANDARD, COMBINED, IGOR, MULTIDIRECTIONAL, BASIC } export interface RasterTileClickInfo { clickType: ClickType; layer: BaseVectorTileLayer; position: GenericMapPos; nearestColor: Color; interpolatedColor: Color; } export interface RasterTileEventListener { onRasterTileClicked(info: RasterTileClickInfo): boolean; } export interface RasterTileLayerOptions extends TileLayerOptions { tileFilterMode?: RasterTileFilterMode; dataSource?: TileDataSource; hillshadeMethod?: HillshadeMethod; } export class RasterTileLayer extends TileLayer { // dataSource?: TileDataSource; tileFilterMode?: RasterTileFilterMode; setRasterTileEventListener(listener: RasterTileEventListener, projection?: Projection): void; } export interface HillshadeRasterTileLayerOptions extends RasterTileLayerOptions { decoder?: ElevationDataDecoder; heightScale?: number; contrast?: number; illuminationDirection?: MapVec | [number, number, number]; highlightColor?: Color; accentColor?: Color; shadowColor?: Color; exagerateHeightScaleEnabled?: boolean; normalMapLightingShader?: string; } export class HillshadeRasterTileLayer extends TileLayer { heightScale?: number; contrast?: number; illuminationDirection?: MapVec | [number, number, number]; highlightColor?: Color; shadowColor?: Color; accentColor?: Color; exagerateHeightScaleEnabled?: boolean; normalMapLightingShader?: string; tileFilterMode?: RasterTileFilterMode; hillshadeMethod?: HillshadeMethod; public getElevation(pos: GenericMapPos): number; public getElevationAsync(pos: GenericMapPos, callback: (error: Error, res: number) => void); public getElevations(pos: MapPosVector | GenericMapPos[]): DoubleVector; public getElevationsAsync(pos: MapPosVector | GenericMapPos[], callback: (error: Error, res: DoubleVector) => void); setRasterTileEventListener(listener: RasterTileEventListener, projection?: Projection): void; }