export interface ISelf { self: any; discriminator: string; } export interface IMap extends ISelf { on(eventName: string, callback: Function); plugin(eventName: string[]|string, callback: Function); add(obj: IMarker|any): any; remove(obj: any): any; clearMap(); containerToLngLat(e:any); setFitView(options:any); setBounds(zoom?:any, x?:any, y?:any, is?:boolean); setCity(city: string): any; getCity(callback: Function): any; setZoom(zoom: number): any; setZoomAndCenter(zoom: number, pos: number[]): any; getZoom(): any; setCenter(x: number[]): any; getCenter(): any; getBounds(): any; distance(a:number[],b:number[]): any; } export interface IMapOptions { zoom?: number; zooms?: number[]; } export interface IMarker extends ISelf { id: string; _position:number[]; on(eventName: string, callback: Function); setPosition(x:number[]) setContent(html:string) setMap(); } export interface IMarkerCluster extends ISelf { } type HtmlRender = (...args) => string | HTMLElement; type PixelRender = (...args) => IPixel; export interface IRenderClusterMarker { getFirstImages(context: any): string; contentRender: HtmlRender; contentNonRender: HtmlRender; pixelRender: PixelRender; pixelNonRender: PixelRender; } export class IMarkOptions { position?: ILngLat | number[]; content?: string; offset?: IPixel; map?: IMap; draggable?: boolean } export interface IPixel extends ISelf { } export interface ILngLat extends ISelf { offset(x: number, y: number) } export interface ILayer extends ISelf { } export interface IIconOptions { size?: ISize; imageSize?: ISize; image?: string; } export interface IIcon extends ISelf { } export interface ISize extends ISelf { } export interface ITileLayer extends ISelf { Satellite(); RoadNet(); } export interface IDrivingOptions { map?: IMap; policy?: string showTraffic?: boolean isOutline?: boolean } export interface IDriving extends ISelf { clear(); search(x?:any, y?:any, callback?:Function); } export interface IAutocomplete extends ISelf { on(eventName: string, callback: Function) search(address: string,callback: Function) } export interface IPlaceSearch extends ISelf { search(text:string, callback: Function); } export interface IMouseTool extends ISelf { rule(options:any) measureArea(options:any) close(isTrue:boolean) } export interface IInfoWindow extends ISelf { open(map:IMap); listen(html:any, event:string, callback: Function) } export interface ICircle extends ISelf { setRadius(num: number); setCenter(pos: number[]) setMap(map: any) }