tianditu-types
Version:
58 lines (53 loc) • 2 kB
TypeScript
declare namespace T {
namespace Control {
class Zoom extends ControlZoom {}
class Scale extends ControlScale {}
class Copyright extends ControlCopyright {}
class OverviewMap extends ControlOverviewMap {}
class MapType extends ControlMapType {}
}
/**
* 自定义控件基类
*/
class Control {
// static Zoom: typeof ControlZoom;
// static Scale: typeof ControlScale;
// static Copyright: typeof ControlCopyright;
// static OverviewMap: typeof ControlOverviewMap;
// static MapType: typeof ControlMapType;
constructor(opts?: ControlOptions);
/**
* 设置控件的位置。参数请参见ControlPosition常量。
* @param position "topleft" | "topright" | "bottomleft" | "bottomright"
*/
setPosition(position?: ControlPosition): void;
/** 返回控件的位置 */
getPosition(): ControlPosition;
/** 向地图上添加叠加物。当调用map.addControl时,API将调用此方法。自定义控件时需要实现此方法。自定义控件时需要将控件对应的HTML元素返回 */
onAdd(map: Map): void;
/** 移除控件,释放控件对象所占用的内存。自定义控件时需要实现此方法 */
onRemove(): void;
/** 返回控件所在的容器的标签 */
getContainer(): HTMLElement;
/** 显示控件 */
show(): void;
/** 隐藏控件 */
hide(): void;
/** 判断控件的可见性 */
isVisible(): boolean;
/** 设置控件停靠的偏移量 */
setOffset(offset: Point): void;
/** 返回控件停靠的偏移量 */
getOffset(): Point;
/** 对ControlOptions属性值赋值 */
setOptions(opt: ControlOptions): ControlOptions;
}
type ControlPosition = "topleft" | "topright" | "bottomleft" | "bottomright";
interface ControlOptions {
/**
* 控件的位置。参数请参见ControlPosition常量。
* "topleft" | "topright" | "bottomleft" | "bottomright"
*/
position?: ControlPosition;
}
}