rc-leaflet
Version:
React Map Components of Leaflet
70 lines (69 loc) • 2.08 kB
TypeScript
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;
}