1 | import { EventsKey } from '../events';
|
2 | import BaseEvent from '../events/Event';
|
3 | import { Extent } from '../extent';
|
4 | import Feature from '../Feature';
|
5 | import Geometry from '../geom/Geometry';
|
6 | import { ObjectEvent } from '../Object';
|
7 | import { Pixel } from '../pixel';
|
8 | import PluggableMap, { FrameState } from '../PluggableMap';
|
9 | import { OrderFunction } from '../render';
|
10 | import RenderEvent from '../render/Event';
|
11 | import VectorSource from '../source/Vector';
|
12 | import VectorTile from '../source/VectorTile';
|
13 | import { StyleFunction, StyleLike } from '../style/Style';
|
14 | import Layer from './Layer';
|
15 |
|
16 | export 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 | }
|
35 | export 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 | }
|