@equinor/videx-map
Version:
Component for Pixi-overlay in Leaflet.
48 lines (47 loc) • 1.83 kB
TypeScript
import * as PIXI from 'pixi.js';
import Vector2 from '@equinor/videx-vector2';
import { ModuleInterface } from '../ModuleInterface';
import { EventHandler } from '../EventHandler';
import { default as GeoJSONMultiPolygon } from './multipolygon';
import { default as GeoJSONPolygon } from './polygon';
import { default as GeoJSONLineString } from './linestring';
import { default as GeoJSONPoint } from './point';
import { ResizeConfig, LabelResizeConfig } from '../ResizeConfigInterface';
import { FeatureProps } from './interfaces';
/** Interface for config. */
interface Config {
customEventHandler?: EventHandler;
onFeatureHover?: (event: MouseEvent, data: any) => void;
outlineResize?: ResizeConfig;
labelResize?: LabelResizeConfig;
}
/** Module for displaying fields. */
export default class GeoJSONModule extends ModuleInterface {
onFeatureHover: (event: MouseEvent, data: any) => void;
points: GeoJSONPoint;
linestrings: GeoJSONLineString;
polygons: GeoJSONPolygon;
multipolygons: GeoJSONMultiPolygon;
_eventHandler: EventHandler;
mapmoving: boolean;
labelRoot: PIXI.Container;
config?: Config;
constructor(config?: Config);
set(data: GeoJSON.FeatureCollection, props?: (feature: any) => FeatureProps): void;
/**
* Check for features at the given coordinates.
* Will give a list of feature data if any are hit or an empty list if not.
* @param pos Target position in lat-long
* @returns List of features at the given position
*/
testPosition(pos: Vector2): any;
onAdd(map: import('leaflet').Map): void;
onRemove(_map: import('leaflet').Map): void;
resize(zoom: number): void;
private handleMouseMove;
private handleMouseOut;
private handleMouseClick;
private handleMouseDown;
private handleMouseUp;
}
export {};