UNPKG

@mint-ui/map

Version:

- React map library - Control various map with one interface - Google, Naver, Kakao map supported now - Typescript supported - Canvas marker supported

71 lines (70 loc) 3.35 kB
import { MapType, MapVendorType } from '../types/CommonTypes'; import { Drawable, Marker, MarkerOptions, Polygon, PolygonOptions, Polyline, PolylineOptions } from '../types/MapDrawables'; import { EventCallback, EventParamType, MapEvent, MapEventName, MapUIEvent } from '../types/MapEventTypes'; import { Bounds, Offset, Position, Spacing } from '../types/MapTypes'; import { MintMapProps } from '../types/MintMapProps'; import { Property } from "csstype"; export declare abstract class MintMapController { abstract type: MapType; abstract map: MapVendorType | null; abstract scriptUrl: string; abstract scriptModules: string[]; abstract initializingMap(divElement: HTMLDivElement): Promise<MapVendorType>; abstract destroyMap(): void; abstract loadMapApi(): Promise<boolean>; abstract getCurrBounds(): Bounds; abstract panningTo(targetCenter: Position): void; abstract getZoomLevel(): number; abstract setZoomLevel(zoom: number): void; abstract getCenter(): Position; abstract setCenter(position: Position): void; abstract setMapCursor(cursor: Property.Cursor): void; abstract focusPositionsToFitViewport(positions: Position[], spacing?: number | Spacing): void; abstract createMarker(marker: Marker): void; abstract updateMarker(marker: Marker, options: MarkerOptions): void; abstract clearDrawable(drawable: Drawable): boolean; abstract markerToTheTop(marker: Marker): void; abstract isMapDragged(): boolean; abstract setMapDragged(value: boolean): void; abstract setMarkerZIndex(marker: Marker, zIndex: number): void; abstract createPolyline(polyline: Polyline): void; abstract updatePolyline(polyline: Polyline, options: PolylineOptions): void; abstract createPolygon(polygon: Polygon): void; abstract updatePolygon(polygon: Polygon, options: PolygonOptions): void; protected abstract mapEvent: MapEvent; protected abstract mapUIEvent: MapUIEvent; abstract addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void; abstract removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void; abstract removeAllEventListener(eventName?: MapEventName): void; mapProps: MintMapProps; mapApiLoaded: boolean; mapInitialized: boolean; mapDivElement: HTMLDivElement; constructor(props: MintMapProps); getMap(): MapVendorType | null; getMapType(): MapType; positionToOffset(position: Position): Offset; offsetToPosition(offset: Offset): Position; loadScript(url: string, id: string, checkLoaded: () => boolean): Promise<boolean>; getRandomFunctionName(prefix: string): string; /** * URL 빌더 메서드 * * @param {string} baseUrl: 기본 URL * @param {{ [ key: string ]: string | string[] }} param: 파라미터 JSON * @returns {string} URL */ buildUrl(baseUrl: string, param: { [key: string]: string | string[] | boolean; }): string; private processedTime; /** * 쓰로틀링 처리 * @returns */ checkBoundsChangeThrottleTime(): boolean; getBaseToMapZoom(zoomBase: number): number; getMapToBaseZoom(mapZoom: number): number; morph(position: Position, zoom: number, option?: Record<string, unknown>): void; printStatus(): void; }