import { EventsKey } from '../events'; import BaseEvent from '../events/Event'; import { Extent } from '../extent'; import LineString from '../geom/LineString'; import Point from '../geom/Point'; import { ObjectEvent } from '../Object'; import Projection from '../proj/Projection'; import RenderEvent from '../render/Event'; import Stroke from '../style/Stroke'; import Text from '../style/Text'; import VectorLayer from './Vector'; export interface GraticuleLabelDataType { geom: Point; text: string; } export interface Options { className?: string | undefined; opacity?: number | undefined; visible?: boolean | undefined; extent?: Extent | undefined; zIndex?: number | undefined; minResolution?: number | undefined; maxResolution?: number | undefined; minZoom?: number | undefined; maxZoom?: number | undefined; maxLines?: number | undefined; strokeStyle?: Stroke | undefined; targetSize?: number | undefined; showLabels?: boolean | undefined; lonLabelFormatter?: ((p0: number) => string) | undefined; latLabelFormatter?: ((p0: number) => string) | undefined; lonLabelPosition?: number | undefined; latLabelPosition?: number | undefined; lonLabelStyle?: Text | undefined; latLabelStyle?: Text | undefined; intervals?: number[] | undefined; wrapX?: boolean | undefined; } export default class Graticule extends VectorLayer { constructor(opt_options?: Options); /** * Get the list of meridians. Meridians are lines of equal longitude. */ getMeridians(): LineString[]; /** * Get the list of parallels. Parallels are lines of equal latitude. */ getParallels(): LineString[]; /** * Update geometries in the source based on current view */ loaderFunction(extent: Extent, resolution: number, projection: Projection): void; /** * Strategy function for loading features based on the view's extent and * resolution. */ strategyFunction(extent: Extent, resolution: number): Extent[]; on(type: string | string[], listener: (p0: any) => any): EventsKey | EventsKey[]; once(type: string | string[], listener: (p0: any) => any): EventsKey | EventsKey[]; un(type: string | string[], listener: (p0: any) => any): void; on(type: 'change', listener: (evt: BaseEvent) => void): EventsKey; once(type: 'change', listener: (evt: BaseEvent) => void): EventsKey; un(type: 'change', listener: (evt: BaseEvent) => void): void; on(type: 'change:extent', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:extent', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:extent', listener: (evt: ObjectEvent) => void): void; on(type: 'change:maxResolution', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:maxResolution', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:maxResolution', listener: (evt: ObjectEvent) => void): void; on(type: 'change:maxZoom', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:maxZoom', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:maxZoom', listener: (evt: ObjectEvent) => void): void; on(type: 'change:minResolution', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:minResolution', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:minResolution', listener: (evt: ObjectEvent) => void): void; on(type: 'change:minZoom', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:minZoom', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:minZoom', listener: (evt: ObjectEvent) => void): void; on(type: 'change:opacity', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:opacity', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:opacity', listener: (evt: ObjectEvent) => void): void; on(type: 'change:source', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:source', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:source', listener: (evt: ObjectEvent) => void): void; on(type: 'change:visible', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:visible', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:visible', listener: (evt: ObjectEvent) => void): void; on(type: 'change:zIndex', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'change:zIndex', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'change:zIndex', listener: (evt: ObjectEvent) => void): void; on(type: 'error', listener: (evt: BaseEvent) => void): EventsKey; once(type: 'error', listener: (evt: BaseEvent) => void): EventsKey; un(type: 'error', listener: (evt: BaseEvent) => void): void; on(type: 'postcompose', listener: (evt: RenderEvent) => void): EventsKey; once(type: 'postcompose', listener: (evt: RenderEvent) => void): EventsKey; un(type: 'postcompose', listener: (evt: RenderEvent) => void): void; on(type: 'postrender', listener: (evt: RenderEvent) => void): EventsKey; once(type: 'postrender', listener: (evt: RenderEvent) => void): EventsKey; un(type: 'postrender', listener: (evt: RenderEvent) => void): void; on(type: 'precompose', listener: (evt: RenderEvent) => void): EventsKey; once(type: 'precompose', listener: (evt: RenderEvent) => void): EventsKey; un(type: 'precompose', listener: (evt: RenderEvent) => void): void; on(type: 'prerender', listener: (evt: RenderEvent) => void): EventsKey; once(type: 'prerender', listener: (evt: RenderEvent) => void): EventsKey; un(type: 'prerender', listener: (evt: RenderEvent) => void): void; on(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'propertychange', listener: (evt: ObjectEvent) => void): void; on(type: 'rendercomplete', listener: (evt: RenderEvent) => void): EventsKey; once(type: 'rendercomplete', listener: (evt: RenderEvent) => void): EventsKey; un(type: 'rendercomplete', listener: (evt: RenderEvent) => void): void; }