import type { ILngLat, IMarkerContainerAndBounds, IMarkerOption, IPoint, IPopup, L7Container } from '@antv/l7-core'; import { anchorType } from '@antv/l7-utils'; import { EventEmitter } from 'eventemitter3'; export default class Marker extends EventEmitter { private markerOption; private popup; private mapsService; private lngLat; private scene; private added; private preLngLat; private visible; getMarkerLayerContainerSize(): IMarkerContainerAndBounds | void; constructor(option?: Partial); getDefault(): { element: undefined; anchor: anchorType; offsets: number[]; color: string; draggable: boolean; overflowHide: boolean; }; addTo(scene: L7Container): this; remove(): this; /** * Hide the marker visually but keep it in the layer's data structures. */ hide(): this; /** * Show the marker if it was hidden. */ show(): this; setLnglat(lngLat: ILngLat | IPoint): this; getLnglat(): ILngLat; getElement(): HTMLElement; setElement(el: HTMLElement): this; openPopup(): this; closePopup(): this; setPopup(popup: IPopup): this; togglePopup(): this; getPopup(): IPopup; getOffset(): number[]; setDraggable(draggable: boolean): void; getDraggable(): boolean; getExtData(): any; setExtData(data: any): void; update(): void; private updatePositionWhenZoom; private onMapClick; private getCurrentContainerSize; private updateDraggable; private onMarkerDragStart; private onMarkerDragMove; private onMarkerDragEnd; private updatePosition; private init; private registerMarkerEvent; private unRegisterMarkerEvent; private eventHandle; /** * 高德 2.x 使用了 fastClick.js 避免延迟,导致 IOS 移动端的 click 事件不会正常触发,需要手动触发 * @param e */ private touchStartTime; private polyfillEvent; }