diff --git a/packages/types/src/base.d.ts b/packages/types/src/base.d.ts index 8b5b2c31..38c3f941 100644 --- a/packages/types/src/base.d.ts +++ b/packages/types/src/base.d.ts @@ -168,6 +168,29 @@ declare namespace AMap { */ toString?(): string; } + class GeometryUtil { + distance(p1, p2): number; + ringArea(ring: LngLat[] | [number, number][]): number; + ringAreaByAltitude(params: any): number; + isClockwise(ring: LngLat[] | [number, number][]): boolean; + typePolygon(ring: LngLat[] | [number, number][]): boolean; + makesureClockwise(ring: LngLat[] | [number, number][]): [number, number][]; + makesureAntiClockwise(ring: LngLat[] | [number, number][]): [number, number][]; + distanceOfLine(ring: LngLat[] | [number, number][]): number; + isPointInRing(p: LngLat | [number, number],ring: LngLat[] | [number, number][]): boolean; + distanceToLine(p: LngLat | [number, number],line: LngLat[] | [number, number][]): number; + } + + interface DistrictSearchOptions { + level: string; showbiz: boolean; extensions: string; subdistrict: number + } + /** + * 需引入相关plugin + */ + class DistrictSearch { + constructor(opts: DistrictSearchOptions); + search(keywords: string, callback: (status: string, result: any) => void): void; + } class MapEventListener { /** * 设置控件可见 diff --git a/packages/types/src/core.d.ts b/packages/types/src/core.d.ts index 982f6c59..e169b009 100644 --- a/packages/types/src/core.d.ts +++ b/packages/types/src/core.d.ts @@ -40,11 +40,16 @@ declare namespace AMap { * @param duration */ setZoom(zoom: number, immediately?: boolean, duration?: number): void; + /** + * 设置当前地图可现实的缩放级别, 取值范围为[2, 20] + * @param zoomRange 缩放级别范围 + */ + setZooms(zoomRange: [number, number]): void; /** * 获取当前地图缩放级别, 默认取值范围为[2, 20] * @param digits zoom级别的小数位精度,缺省为2 */ - getZoom(digits: number): number; + getZoom(digits?: number): number; /** 地图放大一级显示 */ zoomIn(): void; /** 地图缩小一级显示 */ @@ -252,6 +257,23 @@ declare namespace AMap { * @returns 新的地图视口范围 */ setFitView(overlays: Array | null, immediately: boolean, avoid: Array, maxZoom?: number): Bounds; + /** + * 根据 overlays 计算出合适的中心点和 zoom 级别 + * 参数说明: + * @param overlays (Array) 覆盖物 + * @param avoid (Array = [0,0,0,0]) 四周边距,上、下、左、右 + * @param maxZoom (Number = CoreMap.defaultZooms[1]) 最大 zoom 级别 + */ + getFitZoomAndCenterByOverlays(overlays: Array | null, avoid: number[], maxZoom: number): void; + /** + * 根据 overlays 计算出合适的中心点和 zoom 级别 + * 参数说明: + * @param bounds ((Array | Bounds)) 需要计算的范围 + * @param avoid (Array = [0,0,0,0]) 四周边距,上、下、左、右 + * @param maxZoom (Number = CoreMap.defaultZooms[1]) 最大 zoom 级别 + */ + getFitZoomAndCenterByBounds(bounds: (number[] | Bounds), avoid: number[], maxZoom: number): void; + /** * 添加控件。参数可以是插件列表中的任何插件对象,如:ToolBar、OverView、Scale等 * @param control 控件对象 diff --git a/packages/types/src/overlay.d.ts b/packages/types/src/overlay.d.ts index ee00daee..982eccb0 100644 --- a/packages/types/src/overlay.d.ts +++ b/packages/types/src/overlay.d.ts @@ -356,7 +356,7 @@ declare namespace AMap { * @param point */ contains(point: LngLatLike): boolean; - + destroy(): void; } interface PolylineEvents extends EventsCommonProps { onDragStart?(event:MapsEvent):void; @@ -478,6 +478,7 @@ declare namespace AMap { setExtData(extData: any): void; /** 获取圆形的属性 */ getOptions(): CircleOptions; + destroy(): void; } interface CircleEvents extends EventsCommonProps { } interface CircleOptions { @@ -555,6 +556,7 @@ declare namespace AMap { setExtData(extData: any): void; /** 获取圆形的属性 */ getOptions(): CircleMarkerOptions; + destroy(): void; } interface CircleMarkerEvents extends EventsCommonProps { } interface CircleMarkerOptions { @@ -606,6 +608,7 @@ declare namespace AMap { getExtData(): any; /** 设置用户自定义属性,支持JavaScript API任意数据类型 */ setExtData(extData: any): void; + destroy(): void; } interface EllipseOptions { /** @@ -694,6 +697,7 @@ declare namespace AMap { setExtData(extData: any): void; /** 获取矩形的属性 */ getOptions(): RectangleOptions; + destroy(): void; } interface RectangleOptions { /** 要显示该覆盖物的地图对象 */ @@ -770,6 +774,7 @@ declare namespace AMap { getLength(): number; /** 获取当前折线的矩形范围对象 */ getBounds(): Bounds | undefined; + destroy(): void; } interface BezierCurveOptions { /** @@ -838,6 +843,12 @@ declare namespace AMap { /** 多边形 */ class Polygon extends MapEventListener<'hide' | 'show' | 'touchstart' | 'mouseout' | 'mouseover' | 'mouseup' | 'mousedown' | 'rightclick' | 'click' | 'dblclick' | 'touchend' | 'touchmove'> { constructor(opts: PolygonOptions); + hide(): void; + show(): void; + /** 获取用户自定义属性 */ + getExtData(): any; + /** 设置用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等 */ + setExtData(ext: any): void; /** 设置多边形轮廓线节点数组,当为“环”多边形时,path为二维数组,数组元素为多边形轮廓线的节点坐标数组 */ setPath(path: Array | Array>): void; /** 获取多边形轮廓线节点数组。其中lat和lng是经纬度参数。 */ @@ -848,14 +859,11 @@ declare namespace AMap { getOptions(): PolygonOptions; /** 获取当前多边形的矩形范围对象。(自v1.2 新增) */ getBounds(): Bounds; + destroy(): void; /** 获取多边形的面积(单位:平方米)(自v1.1 新增) */ getArea(): number; /** 在指定地图上显示当前的多边形。参数取值为null时,在地图上移除当前多边形(自v1.2 新增) */ setMap(map: Map | null): void; - /** 设置用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等 */ - setExtData(ext: any): void; - /** 获取用户自定义属性 */ - getExtData(): any; /** 判断指定点坐标是否在多边形范围内 */ contains(point: LngLat): boolean; }