UNPKG

@equinor/videx-map

Version:

Component for Pixi-overlay in Leaflet.

48 lines (47 loc) 1.83 kB
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 {};