@tuoyuan/map-adapter-amap
Version:
高德地图适配器
97 lines (96 loc) • 3.44 kB
TypeScript
import { BaseMap, Position, ERouteType, ERoutePolicy, ERoutePanel, AbstractMap, AbstractMarker, AbstractPolygon, AbstractPolyline, CoordinateSystem, IMapInitOptions, IMarker, IOrientation, IPolygon, IPolyline } from '@tuoyuan/map-adapter-lib';
import { AMapMarker } from './Marker';
import { AMapPolyline } from './Polyline';
import { AMapPolygon } from './Polygon';
/** 高德 */
export interface IAMapConfig {
/** 高德平台key */
key: string;
/** 高德平台密钥 */
secret?: string;
}
export interface IAMapLoadOptions {
/** 呼吸点 */
loca?: boolean;
}
export interface IAMapInitOptions {
/** 是否开启路网 */
isRoadNet?: boolean;
/**
* 底图图层
* - standard-标准图层
* - satellite-卫星图层
*/
layer?: 'standard' | 'satellite';
/** 项目边界之外配置 */
beyondTheBoundary?: {
/** 是否限制地图区域 */
limit?: string;
/** 是否隐藏 */
hide?: boolean;
/** 颜色 */
color?: string;
/** 透明度 */
opacity?: string;
};
}
export declare class AMap extends BaseMap implements AbstractMap {
protected AMap: any;
protected mapInstance: any;
coordinateSystem: CoordinateSystem;
constructor();
/** 加载依赖 */
load(config: IAMapConfig, options?: IAMapLoadOptions): Promise<void>;
/** 初始化地图 */
init(options: IMapInitOptions, selfOptions?: IAMapInitOptions): Promise<any>;
protected initEvent(): void;
/** 添加点 */
addMarker(marker: IMarker): Promise<AMapMarker<any>>;
/** 删除点 */
removeMarker(marker: AbstractMarker | AbstractMarker[]): Promise<void>;
/** 添加折线 */
addPolyline(polyline: IPolyline): Promise<AMapPolyline<any>>;
/** 删除折线 */
removePolyline(polyline: AbstractPolyline | AbstractPolyline[]): Promise<void>;
/** 添加多边形 */
addPolygon(polygon: IPolygon): Promise<AMapPolygon<any>>;
/** 删除多边形 */
removePolygon(polygon: AbstractPolygon | AbstractPolygon[]): Promise<void>;
/** 飞行到某个坐标 */
panTo(position: ConstructorParameters<typeof Position>, orientation?: IOrientation): void;
/** 设置中心点 */
setCenter(center: ConstructorParameters<typeof Position>): void;
/** 获取中心点 */
getCenter(): Promise<Position>;
/** 设置地图显示的缩放级别 */
setZoom(zoom: number): void;
/** 获取东北角 */
getNorthEast(): Promise<Position>;
/** 获取西北角 */
getNorthWest(): Promise<Position>;
/** 获取东南角 */
getSouthEast(): Promise<Position>;
/** 获取西南角 */
getSouthWest(): Promise<Position>;
/** 获取地图边角点位 */
getViewBounds(): Promise<{
NorthEast: Position;
NorthWest: Position;
SouthEast: Position;
SouthWest: Position;
}>;
getNavigationPlan(origin: Position, destination: Position, type: ERouteType, policy: ERoutePolicy, options?: {
panel: ERoutePanel;
}): Promise<{
path: Position[];
time: number;
distance: number;
instruction: string;
}>;
/** 销毁地图 */
destroy(): void;
/** 自适应地图范围 */
setFitView(overlays: any[]): Promise<void>;
/** 根据像素和缩放级别计算距离 */
getDistanceFromPixels(pixels: number, zoom: number): Promise<number>;
}