UNPKG

rc-leaflet

Version:
70 lines (69 loc) 2.08 kB
import L from 'leaflet'; export declare type Icon = Partial<{ iconUrl: string; iconSize: L.PointExpression; iconAnchor: L.PointExpression; popupAnchor: L.PointExpression; tooltipAnchor: L.PointExpression; }>; export interface Box { top: number; bottom: number; left: number; right: number; } export interface MassPoint extends Icon { position: L.LatLngExpression; [key: string]: any; } export interface EventTarget { index: number; point: MassPoint; } export interface MassLayerOptions extends L.InteractiveLayerOptions, Icon { points: MassPoint[]; throttleThreshold?: number; throttleDuration?: number; } export declare const defaultOptions: MassLayerOptions; export default class MassLayer extends L.Layer { private options; private canvas; ctx: CanvasRenderingContext2D; private icons; private iconsReady; private prevHover; private hover; private click; private throttledReset; constructor(options?: MassLayerOptions); private setThrottledReset; onAdd(map: L.Map): this; onRemove(map: L.Map): this; addTo(map: L.Map): this; getLatLng(): L.LatLngExpression; setOptions(options: MassLayerOptions): void; getOptions: () => MassLayerOptions; setPoints(points: MassPoint[]): void; getPoints: () => MassPoint[]; setIconUrl(url: string): void; getIconUrl: (point: MassPoint) => string; setIconSize(size: L.PointExpression): void; getIconSize(point: MassPoint): L.Point; setIconAnchor(anchor: L.PointExpression): void; getIconAnchor(point: MassPoint): L.Point; setPopupAnchor(anchor: L.PointExpression): void; getPopupAnchor(point: MassPoint): L.Point; setTooltipAnchor(anchor: L.PointExpression): void; getTooltipAnchor(point: MassPoint): L.Point; getIconBox(point: MassPoint): Box; private _getPopupAnchor; private _getTooltipAnchor; private prepareIcons; private draw; private onClick; private onMouseMove; private reset; private zoomAnim; private onPopupClose; }