///
/** 图层拾取事件对象(enablePicked=true 时点击/悬停命中要素) */
export interface PointIconLayerEvent {
/** 命中的要素:value.dataItem.properties 为该点的属性 */
value?: {
dataItem?: {
properties?: Record;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
}
export interface PointIconStyle {
icon?: string;
iconObj?: (style: object, properties: object) => {
id?: number;
canvas: HTMLCanvasElement;
};
visibility?: boolean;
sizes?: [number, number];
width?: number;
height?: number;
userSizes?: boolean;
anchors?: [number, number];
offset?: [number, number];
scale?: number;
rotation?: number;
opacity?: number;
}
export interface PointIconLayerOptions {
isFlat?: boolean;
isFixed?: boolean;
style?: PointIconStyle;
idKey?: string;
crs?: string;
selectedIndex?: number;
selectedColor?: string;
visible?: boolean;
opacity?: number;
minZoom?: number;
maxZoom?: number;
zIndex?: number;
enablePicked?: boolean;
autoSelect?: boolean;
popEvent?: boolean;
pickWidth?: number;
pickHeight?: number;
}
export interface PointIconLayerProps extends PointIconLayerOptions {
/** GeoJSON 数据源,变化时调用 raw.setData() */
data?: object;
/** 点击要素(需 enablePicked)。e.value.dataItem.properties 为选中要素属性 */
onClick?: (e: PointIconLayerEvent) => void;
/** 双击要素(需 enablePicked) */
onDblClick?: (e: PointIconLayerEvent) => void;
onRightClick?: (e: PointIconLayerEvent) => void;
/** 鼠标在要素上移动(需 enablePicked)。SDK 不派发 mouseover/mouseout */
onMouseMove?: (e: PointIconLayerEvent) => void;
}
export declare const PointIconLayer: import('react').NamedExoticComponent;