UNPKG

@igo2/geo

Version:
124 lines (123 loc) 4.31 kB
import { OnDestroy, OnInit } from '@angular/core'; import { MediaService } from '@igo2/core/media'; import OlFeature from 'ol/Feature'; import type { default as OlGeometry } from 'ol/geom/Geometry'; import RenderFeature from 'ol/render/Feature'; import { Feature } from '../../feature/shared/feature.interfaces'; import { FeatureStore } from '../../feature/shared/store'; import { VectorLayer, VectorTileLayer } from '../../layer/shared/layers'; import { MapBrowserComponent } from '../../map/map-browser/map-browser.component'; import { IgoMap } from '../../map/shared/map'; import { StyleByAttribute } from '../../style/shared/vector/vector-style.interface'; import { StyleService } from '../../style/style-service/style.service'; import * as i0 from "@angular/core"; /** * This directive makes the mouse coordinate trigger a reverse search on available search sources. * The search results are placed into a label, on a cross icon, representing the mouse coordinate. * By default, no search sources. Config in config file must be defined. * the layer level. */ export declare class HoverFeatureDirective implements OnInit, OnDestroy { private component; private mediaService; private styleService; store: FeatureStore<Feature>; private pointerHoverFeatureStore; private lastTimeoutRequest; private store$$; private selectionLayer; private selectionMVT; private mvtStyleOptions; /** * Listener to the pointer move event */ private pointerMoveListener; private singleClickMapListener; private hoverFeatureId; /** * The delay where the mouse must be motionless before trigger the reverse search */ igoHoverFeatureDelay: number; /** * If the user has enabled or not the directive */ igoHoverFeatureEnabled: boolean; mouseout(): void; /** * IGO map * @internal */ get map(): IgoMap; get mapProjection(): string; constructor(component: MapBrowserComponent, mediaService: MediaService, styleService: StyleService); /** * Start listening to pointermove and reverse search results. * @internal */ ngOnInit(): void; /** * Initialize the pointer position store * @internal */ private initStore; createHoverStyle(feature: RenderFeature | OlFeature<OlGeometry>, hoverStyle: StyleByAttribute, resolution: number): any; /** * Stop listening to pointermove and reverse search results. * @internal */ ngOnDestroy(): void; /** * Subscribe to pointermove result store * @internal */ subscribeToPointerStore(): void; /** * On map pointermove */ private listenToMapPointerMove; /** * On map singleclick */ private listenToMapClick; /** * Unsubscribe to pointer store. * @internal */ unsubscribeToPointerStore(): void; /** * Stop listening for map pointermove * @internal */ private unlistenToMapPointerMove; /** * Stop listening for map singleclick * @internal */ private unlistenToMapSingleClick; /** * Trigger clear layer on singleclick. * @param event OL map browser singleclick event */ private onMapSingleClickEvent; /** * Trigger hover when the mouse is motionless during the defined delay (pointerMoveDelay). * @param event OL map browser pointer event */ private onMapEvent; canProcessHover(igoLayer: VectorLayer | VectorTileLayer): boolean; handleRenderFeature(feature: RenderFeature | OlFeature<OlGeometry>): OlFeature<OlGeometry>; /** * Add a feature to the pointer store * @param text string */ private addFeatureOverlay; private setLayerStyleFromOptions; private getHoverSummary; private getGeometry; /** * Clear the pointer store features */ private clearLayer; static ɵfac: i0.ɵɵFactoryDeclaration<HoverFeatureDirective, [{ self: true; }, null, null]>; static ɵdir: i0.ɵɵDirectiveDeclaration<HoverFeatureDirective, "[igoHoverFeature]", never, { "igoHoverFeatureDelay": { "alias": "igoHoverFeatureDelay"; "required": false; }; "igoHoverFeatureEnabled": { "alias": "igoHoverFeatureEnabled"; "required": false; }; }, {}, never, never, true, never>; }