leaflet-polydraw
Version:
Advanced polygon drawing and editing plugin for Leaflet with drag-and-drop, smart merging, and comprehensive editing tools
58 lines • 1.75 kB
TypeScript
import { MarkerPosition } from './enums';
import * as L from 'leaflet';
import defaultConfig from './config.json';
export declare const isTouchDevice: () => boolean;
/**
* Utility for polygon bounds.
*/
type ICompass = {
East: L.LatLngLiteral;
North: L.LatLngLiteral;
NorthEast: L.LatLngLiteral;
NorthWest: L.LatLngLiteral;
South: L.LatLngLiteral;
SouthEast: L.LatLngLiteral;
SouthWest: L.LatLngLiteral;
West: L.LatLngLiteral;
};
export declare class PolyDrawUtil {
/**
* Gets the bounds of the polygon with optional padding.
* @param polygon Array of LatLng points.
* @param padding Padding factor.
* @returns The LatLngBounds.
*/
static getBounds(polygon: L.LatLngLiteral[], padding?: number): L.LatLngBounds;
}
/**
* Class for compass directions based on bounds.
*/
export declare class Compass {
direction: ICompass;
constructor(minLat?: number, minLng?: number, maxLat?: number, maxLng?: number);
getDirection(direction: MarkerPosition): L.LatLngLiteral;
getPositions(startPosition?: MarkerPosition, clockwise?: boolean, addClosingNode?: boolean): number[][];
private getPositionAsArray;
}
/**
* Class for calculating perimeter in different units.
*/
export declare class Perimeter {
metricLength: string;
metricUnit: string;
imperialLength: string;
imperialUnit: string;
constructor(length: number, config: typeof defaultConfig);
}
/**
* Class for calculating area in different units.
*/
export declare class Area {
metricArea: string;
metricUnit: string;
imperialArea: string;
imperialUnit: string;
constructor(sqrMeterArea: number, config: typeof defaultConfig);
}
export {};
//# sourceMappingURL=utils.d.ts.map