export interface ISelf { self: any; discriminator: string; } export interface IMap extends ISelf { on(eventName: string, callback: Function); add(obj: IMarker|ITileLayer|any); remove(obj: IMarker|ITileLayer|any); clearMap(); containerToLngLat(e:IPixel): ILngLat; //地图容器像素坐标转经纬度 setCity(city: string); getCity(callback: Function): any; setZoom(zoom: number); setZoomAndCenter(zoom: number, pos: number[]); getZoom(): number; setCenter(pos: number[]|ILngLat); getCenter(): ILngLat; getBounds(): any; distance(a:number[],b:number[]): any; setAdministrativeAreaStyle(conponent:any,getData?:Function,setData?:Function): any; //自定义 行政区划 样式 } export interface IMapOptions { zoom?: number; zooms?: number[]; } export interface IMarker extends ISelf { id: string; _position:number[]; on(eventName: string, callback: Function); setPosition(x:ILngLat|number[]) setContent(html:string) setMap(); } export interface IMarkerCluster extends ISelf { on(eventName: string, callback: Function): void; setData(list: any[]); } 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 { x:number y:number getArray():number[] } export interface ILngLat extends ISelf { typeName:string lng: number lat: number KL:number kT:number offset(x: number, y: number):ILngLat getArray():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(posStart?: ILngLat, posEnd?: ILngLat, callback?:Function); } export interface IAutocomplete extends ISelf { on(eventName: string, callback: Function) search(address: string,callback: Function) } type SearchRender = (...args) => any[]; 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: IMap) }