UNPKG

6.94 kBTypeScriptView Raw
1import { EventsKey } from '../events';
2import BaseEvent from '../events/Event';
3import { Extent } from '../extent';
4import Feature from '../Feature';
5import Geometry from '../geom/Geometry';
6import { ObjectEvent } from '../Object';
7import { Pixel } from '../pixel';
8import PluggableMap, { FrameState } from '../PluggableMap';
9import { OrderFunction } from '../render';
10import RenderEvent from '../render/Event';
11import VectorSource from '../source/Vector';
12import VectorTile from '../source/VectorTile';
13import { StyleFunction, StyleLike } from '../style/Style';
14import Layer from './Layer';
15
16export interface Options {
17 className?: string | undefined;
18 opacity?: number | undefined;
19 visible?: boolean | undefined;
20 extent?: Extent | undefined;
21 zIndex?: number | undefined;
22 minResolution?: number | undefined;
23 maxResolution?: number | undefined;
24 minZoom?: number | undefined;
25 maxZoom?: number | undefined;
26 renderOrder?: OrderFunction | undefined;
27 renderBuffer?: number | undefined;
28 source?: VectorSource<Geometry> | undefined;
29 map?: PluggableMap | undefined;
30 declutter?: boolean | undefined;
31 style?: StyleLike | null | undefined;
32 updateWhileAnimating?: boolean | undefined;
33 updateWhileInteracting?: boolean | undefined;
34}
35export default class BaseVectorLayer<
36 VectorSourceType extends VectorSource | VectorTile = VectorSource | VectorTile
37> extends Layer<VectorSourceType> {
38 constructor(opt_options?: Options);
39 getDeclutter(): boolean;
40 /**
41 * Get the topmost feature that intersects the given pixel on the viewport. Returns a promise
42 * that resolves with an array of features. The array will either contain the topmost feature
43 * when a hit was detected, or it will be empty.
44 * The hit detection algorithm used for this method is optimized for performance, but is less
45 * accurate than the one used in {@link module:ol/PluggableMap~PluggableMap#getFeaturesAtPixel}: Text
46 * is not considered, and icons are only represented by their bounding box instead of the exact
47 * image.
48 */
49 getFeatures(pixel: Pixel): Promise<Feature<Geometry>[]>;
50 getRenderBuffer(): number | undefined;
51 getRenderOrder(): (p0: Feature<Geometry>, p1: Feature<Geometry>) => number | null | undefined;
52 /**
53 * Get the style for features. This returns whatever was passed to the style
54 * option at construction or to the setStyle method.
55 */
56 getStyle(): StyleLike | null | undefined;
57 /**
58 * Get the style function.
59 */
60 getStyleFunction(): StyleFunction | undefined;
61 getUpdateWhileAnimating(): boolean;
62 getUpdateWhileInteracting(): boolean;
63 /**
64 * Render declutter items for this layer
65 */
66 renderDeclutter(frameState: FrameState): void;
67 setRenderOrder(renderOrder: OrderFunction | null | undefined): void;
68 /**
69 * Set the style for features. This can be a single style object, an array
70 * of styles, or a function that takes a feature and resolution and returns
71 * an array of styles. If set to null, the layer has no style (a null style),
72 * so only features that have their own styles will be rendered in the layer. Call
73 * setStyle() without arguments to reset to the default style. See
74 * {@link module:ol/style} for information on the default style.
75 */
76 setStyle(opt_style?: StyleLike | null): void;
77 on(type: string | string[], listener: (p0: any) => any): EventsKey | EventsKey[];
78 once(type: string | string[], listener: (p0: any) => any): EventsKey | EventsKey[];
79 un(type: string | string[], listener: (p0: any) => any): void;
80 on(type: 'change', listener: (evt: BaseEvent) => void): EventsKey;
81 once(type: 'change', listener: (evt: BaseEvent) => void): EventsKey;
82 un(type: 'change', listener: (evt: BaseEvent) => void): void;
83 on(type: 'change:extent', listener: (evt: ObjectEvent) => void): EventsKey;
84 once(type: 'change:extent', listener: (evt: ObjectEvent) => void): EventsKey;
85 un(type: 'change:extent', listener: (evt: ObjectEvent) => void): void;
86 on(type: 'change:maxResolution', listener: (evt: ObjectEvent) => void): EventsKey;
87 once(type: 'change:maxResolution', listener: (evt: ObjectEvent) => void): EventsKey;
88 un(type: 'change:maxResolution', listener: (evt: ObjectEvent) => void): void;
89 on(type: 'change:maxZoom', listener: (evt: ObjectEvent) => void): EventsKey;
90 once(type: 'change:maxZoom', listener: (evt: ObjectEvent) => void): EventsKey;
91 un(type: 'change:maxZoom', listener: (evt: ObjectEvent) => void): void;
92 on(type: 'change:minResolution', listener: (evt: ObjectEvent) => void): EventsKey;
93 once(type: 'change:minResolution', listener: (evt: ObjectEvent) => void): EventsKey;
94 un(type: 'change:minResolution', listener: (evt: ObjectEvent) => void): void;
95 on(type: 'change:minZoom', listener: (evt: ObjectEvent) => void): EventsKey;
96 once(type: 'change:minZoom', listener: (evt: ObjectEvent) => void): EventsKey;
97 un(type: 'change:minZoom', listener: (evt: ObjectEvent) => void): void;
98 on(type: 'change:opacity', listener: (evt: ObjectEvent) => void): EventsKey;
99 once(type: 'change:opacity', listener: (evt: ObjectEvent) => void): EventsKey;
100 un(type: 'change:opacity', listener: (evt: ObjectEvent) => void): void;
101 on(type: 'change:source', listener: (evt: ObjectEvent) => void): EventsKey;
102 once(type: 'change:source', listener: (evt: ObjectEvent) => void): EventsKey;
103 un(type: 'change:source', listener: (evt: ObjectEvent) => void): void;
104 on(type: 'change:visible', listener: (evt: ObjectEvent) => void): EventsKey;
105 once(type: 'change:visible', listener: (evt: ObjectEvent) => void): EventsKey;
106 un(type: 'change:visible', listener: (evt: ObjectEvent) => void): void;
107 on(type: 'change:zIndex', listener: (evt: ObjectEvent) => void): EventsKey;
108 once(type: 'change:zIndex', listener: (evt: ObjectEvent) => void): EventsKey;
109 un(type: 'change:zIndex', listener: (evt: ObjectEvent) => void): void;
110 on(type: 'error', listener: (evt: BaseEvent) => void): EventsKey;
111 once(type: 'error', listener: (evt: BaseEvent) => void): EventsKey;
112 un(type: 'error', listener: (evt: BaseEvent) => void): void;
113 on(type: 'postrender', listener: (evt: RenderEvent) => void): EventsKey;
114 once(type: 'postrender', listener: (evt: RenderEvent) => void): EventsKey;
115 un(type: 'postrender', listener: (evt: RenderEvent) => void): void;
116 on(type: 'prerender', listener: (evt: RenderEvent) => void): EventsKey;
117 once(type: 'prerender', listener: (evt: RenderEvent) => void): EventsKey;
118 un(type: 'prerender', listener: (evt: RenderEvent) => void): void;
119 on(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey;
120 once(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey;
121 un(type: 'propertychange', listener: (evt: ObjectEvent) => void): void;
122}