amap-jsapi-v2-types
Version:
高德 JSAPI v2 类型声明文件
202 lines (194 loc) • 5.86 kB
TypeScript
import type { PixelLike } from '../common/Pixel';
import type { SizeLike } from '../common/Size';
import type { LngLatLike, LngLat } from '../common/LngLat';
import type { MoveAnimation } from '../animates/MoveAnimation';
import type { Overlay } from './Overlay';
import type Bounds from '../common/Bounds';
type TextStyleOptions = {
/** 文字大小,默认值: 12 */
fontSize?: number;
/** 文字颜色 */
fillColor?: string;
/** 文字描边颜色 */
strokeColor?: string;
/** 文字 padding。默认值: [3, 3, 3, 3] */
padding?: string | Array<string | number>;
/** 文字背景颜色 */
backgroundColor?: string;
/** 文字背景描边颜色 */
borderColor?: string;
/** 文字背景描边粗细 */
borderWidth?: number;
/** 文字是否折行(6个字一折行) */
fold?: boolean;
};
export type LabelMarkerTextOptions = {
content?: string;
direction?: string;
offset?: PixelLike;
zooms?: [number, number];
style?: TextStyleOptions;
};
export type LabelMarkerIconOptions = {
image?: string;
size?: SizeLike;
offset?: PixelLike;
anchor?: string | PixelLike;
/**
* 图标所在图片偏移位置,默认值: [0, 0]
* @waring 未验证文档是否有误
*/
clipOrigin: PixelLike;
/**
* 图标所在图片裁剪大小,若未设置,则使用图片大小
* @waring 未验证文档是否有误
*/
clipSize: SizeLike;
};
export type LabelMarkerOptions<ExtraData = any> = {
/** 标注名称,作为标注标识,并非最终在地图上显示的文字内容,显示文字内容请设置 opts.text.content */
name?: string;
/** 标注位置 */
position?: LngLatLike;
/** 标注显示级别范围, 可选值: [2,20] */
zooms?: [number, number];
/** 标注透明度,默认值: 1 */
opacity?: number;
/** 避让优先级,获取标注的优先级,该优先级用于 labelsLayer 支持避让时,rank 值大的标注会避让掉 rank 值低的标注。默认值:1 */
rank?: number;
/** 同一 LabelsLayer 内标注显示层级,数字越大越靠前,默认值: 1 */
zIndex?: number;
/** 标注是否可见, 默认值: true */
visible?: boolean;
/** 用户自定义类型数据,可将自定义数据保存在该属性上,方便后续操作使用。 */
extData?: ExtraData;
/** 未验证文档是否有误 */
icon?: LabelMarkerIconOptions;
text?: LabelMarkerTextOptions;
};
export type LabelMarkerEventType =
| 'click'
| 'mousemove'
| 'mouseover'
| 'mouseout'
| 'mousedown'
| 'mouseup'
| 'touchstart'
| 'touchmove'
| 'touchend';
/**
* 标注类
* https://lbs.amap.com/api/javascript-api-v2/documentation#labelmarker
*/
export declare class LabelMarker<ExtraData = any>
extends Overlay<ExtraData, LabelMarkerEventType>
implements MoveAnimation {
constructor(options: LabelMarkerOptions<ExtraData>);
/**
* 获取标注的名称,作为标注标识,并非最终在地图上显示的文字内容
* @returns {string | undefined}
*/
getName(): string | undefined;
/**
* 设置标注的名称,作为标注标识,并非最终在地图上显示的文字内容
* @param {string} name
*/
setName(name: string): void;
/**
* 获取标注的显示位置
* @returns {LngLat}
*/
getPosition(): LngLat;
/**
* 设置标注的位置
* @param {LngLat | [number] | string} position
*/
setPosition(position: LngLatLike | string): void;
/**
* 获取标注显示级别范围
* @returns {[number, number]}
*/
getZooms(): [number, number];
/**
* 设置显示级别范围
* @param {[number, number]} zooms
*/
setZooms(zooms: [number, number]): void;
/**
* 获取标注透明度值
* @returns {number}
*/
getOpacity(): number;
/**
* 设置标注透明度
* @param {number} opacity
*/
setOpacity(opacity: number): void;
/**
* 获取标注的叠加顺序
* @returns {number}
*/
getzIndex(): number;
/**
* 设置标注的叠加顺序
* @param {number} zIndex
*/
setzIndex(zIndex: number): void;
/**
* 获取标注的优先级,该优先级用于 labelsLayer 支持避让时,rank 值大的标注会避让掉 rank 值低的标注。
* @returns {number}
*/
getRank(): number;
/**
* 设置标注的优先级,该优先级用于 labelsLayer 支持避让时,rank 值大的标注会避让掉 rank 值低的标注。
* @param {number} rank
*/
setRank(rank: number): void;
/**
* 获取标注的文本设置
* @returns {LabelMarkerTextOptions | null}
*/
getText(): LabelMarkerTextOptions | null;
/**
* 设置标注的文本设置,可设置显示的文字内容和文字样式等
* @param {LabelMarkerTextOptions} textOpts
*/
setText(textOpts: LabelMarkerTextOptions): void;
/**
* 获取标注的图标设置
* @returns {LabelMarkerIconOptions | null}
*/
getIcon(): LabelMarkerIconOptions | null;
/**
* 设置标注的图标设置,可设置显示的标注图片
* @param {LabelMarkerIconOptions} iconOpts
*/
setIcon(iconOpts: LabelMarkerIconOptions): void;
/**
* 是否设置置顶标注,设置为 true 表示该标注会显示在所有标注之前
* @param {boolean} isTop
*/
setTop(isTop: boolean): void;
/**
* 获取该标注的可见性
* @returns {boolean}
*/
getVisible(): boolean;
/**
* 获取该标注是否被避让,从而没有显示
* @returns {boolean}
*/
getCollision(): boolean;
/**
* @returns {Bounds}
*/
getBounds(): Bounds;
// MoveAnimation implementation
moveTo: MoveAnimation['moveTo'];
moveAlong: MoveAnimation['moveAlong'];
startMove: MoveAnimation['startMove'];
stopMove: MoveAnimation['stopMove'];
pauseMove: MoveAnimation['pauseMove'];
resumeMove: MoveAnimation['resumeMove'];
}
export default LabelMarker;