import { NgZone } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import * as mapTypes from './daum-maps-types'; import { Polyline, ControlPosition, ZoomControl } from './daum-maps-types'; import { PolylineOptions } from './daum-maps-types'; import { MapsAPILoader } from './maps-api-loader/maps-api-loader'; /** * Wrapper class that handles the communication with the Daum Maps Javascript * API v3 */ export declare class DaumMapsAPIWrapper { private _loader; private _zone; private _map; private _mapResolver; constructor(_loader: MapsAPILoader, _zone: NgZone); createMap(el: HTMLElement, mapOptions: mapTypes.MapOptions): Promise; setMapOptions(options: mapTypes.MapOptions): void; /** * Creates a daum map marker with the map context */ createMarker(options?: mapTypes.MarkerOptions): Promise; createZoomControl(): Promise; addZommControl(zoomControl: ZoomControl, position: ControlPosition): Promise; createInfoWindow(options?: mapTypes.InfoWindowOptions): Promise; /** * Creates a daum.map.Circle for the current map. */ createCircle(options: mapTypes.CircleOptions): Promise; createPolyline(options: PolylineOptions): Promise; createPolygon(options: mapTypes.PolygonOptions): Promise; /** * Determines if given coordinates are insite a Polygon path. */ containsLocation(latLng: mapTypes.LatLngLiteral, polygon: mapTypes.Polygon): Promise; subscribeToMapEvent(eventName: string): Observable; createLatLng(lat: number | (() => number), lng: number | (() => number)): any; addControl(control: any, position: any): Promise; removeControl(control: any): Promise; setCenter(latLng: mapTypes.LatLngLiteral): Promise; getZoom(): Promise; getBounds(): Promise; setZoom(zoom: number): Promise; getCenter(): Promise; panTo(latLng: mapTypes.LatLngLiteral): Promise; relayout(): void; /** * Returns the native Daum Maps Map instance. Be careful when using this instance directly. */ getNativeMap(): Promise; /** * Triggers the given event name on the map instance. */ triggerMapEvent(eventName: string): Promise; }