///
export type TStyle = string | mapboxgl.Style;
export interface ICreateLine {
type: 'csv' | 'json' | 'geojson' | 'image' | 'raster' | 'rasterTile' | 'mvt' | 'geojsonvt';
data: any;
name?: string;
}
export type TlngLat = {
lng: number;
lat: number;
} | Array;
export type ElementType = HTMLElement | HTMLElement[] | DocumentFragment | Text | string;
export type position = 'topleft' | 'lefttop' | 'topright' | 'righttop' | 'bottomleft' | 'leftbottom' | 'bottomright' | 'rightbottom' | 'topcenter' | 'bottomcenter' | 'leftcenter' | 'rightcenter' | Element;
interface IControl {
position?: position;
className?: string;
style?: string;
}
export interface IControlZoom extends IControl {
zoomInText?: string;
zoomOutText?: string;
zoomInTitle?: string;
zoomOutTitle?: string;
}
export type zoomOnType = 'add' | 'remove' | 'show' | 'hide';
export type zoomOnCb = (e: Function) => void;
export interface IControlScale extends IControl {
lockWidth?: boolean;
maxWidth?: number;
metric?: boolean;
imperial?: boolean;
}
export interface IControlFullScreen extends IControl {
btnIcon?: HTMLElement | SVGAElement;
btnText?: string;
title?: string;
vertical?: boolean;
exitBtnIcon?: HTMLElement | SVGAElement;
exitBtnText?: string;
exitTitle?: string;
}
export interface IControlLocate extends IControl {
position?: position;
btnIcon?: HTMLElement | SVGAElement;
btnText?: string;
title?: string;
vertical?: boolean;
transform?: (position: [number, number]) => [number, number];
}
export interface IcontrolMouseLocation extends IControl {
transform?: (position: [number, number]) => [number, number];
}
export interface IMarker {
color?: string;
element?: HTMLElement | string;
anchor?: 'center' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
offset?: [number, number];
extData?: any;
}
export type AnchorType = 'center' | 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'right';
export interface IPopup {
lnglat?: TlngLat;
text?: string;
html?: ElementType;
title?: ElementType;
closeOnClick?: boolean;
closeOnEsc?: boolean;
maxWidth?: number;
anchor?: AnchorType;
offset?: [number, number];
}
export {};