/// /** 数据驱动样式表达式,如 ['match', ['get', 'name'], 'a', '#f00', '#00f'](SDK 表达式语法) */ export type LineStyleExpr = unknown[]; export interface LineLayerStyle { strokeColor?: string | LineStyleExpr; strokeWeight?: number | LineStyleExpr; strokeOpacity?: number | LineStyleExpr; strokeStyle?: string | LineStyleExpr; strokeLineCap?: string; strokeLineJoin?: string; borderColor?: string | LineStyleExpr; borderWeight?: number | LineStyleExpr; dashArray?: number[]; strokeTextureUrl?: string | LineStyleExpr; strokeTextureWidth?: number | LineStyleExpr; strokeTextureHeight?: number; /** 是否按纹理序列渲染(贴图沿线重复) */ sequence?: boolean; /** 纹理之间的间隔长度 */ marginLength?: number; [k: string]: unknown; } export interface LineLayerOptions { style?: LineLayerStyle; idKey?: string; crs?: string; isFlat?: boolean; drawPart?: boolean; selectedColor?: string; selectedIndex?: number; enablePicked?: boolean; /** 拾取时是否自动切换 selectedIndex(配合 feature-state 高亮时通常设 false,自己控制状态) */ enableChangeSelectIndexByPick?: boolean; autoSelect?: boolean; popEvent?: boolean; pickWidth?: number; pickHeight?: number; /** 命中要素时是否自动改变鼠标样式 */ mouseStyleChange?: boolean; /** 参考中心点(Point) */ referCenter?: unknown; isTop?: boolean; isLowText?: boolean; /** 是否渐变线 */ isLinear?: boolean; /** 渐变纹理 */ linearTexture?: unknown; nodeShow?: boolean; nodeMask?: boolean; nodeStrict?: boolean; nodeJoin?: boolean; nodeBreakpoint?: boolean; nodeMiddleShow?: boolean; nodeMinZoom?: number; linkLine?: boolean; visible?: boolean; opacity?: number; minZoom?: number; maxZoom?: number; zIndex?: number; } /** 图层拾取事件对象(enablePicked=true 时点击/悬停命中要素;dataIndex=-1 表示点空白) */ export interface LineLayerEvent { value?: { dataIndex?: number; dataItem?: { properties?: Record; [k: string]: unknown; }; [k: string]: unknown; }; [k: string]: unknown; } export interface LineLayerProps extends LineLayerOptions { /** GeoJSON 数据源,变化时调用 raw.setData() */ data?: object; /** setData 第二参(如 { changeCenter: true } 自动定位到数据范围) */ setDataParams?: object; /** 点击要素(需 enablePicked)。e.value.dataIndex 为命中要素索引,-1 表示点空白 */ onClick?: (e: LineLayerEvent) => void; /** 双击要素(需 enablePicked) */ onDblClick?: (e: LineLayerEvent) => void; onRightClick?: (e: LineLayerEvent) => void; /** 鼠标在要素上移动(需 enablePicked)。SDK 不派发 mouseover/mouseout,hover 进出请自行用 dataIndex 变化推导 */ onMouseMove?: (e: LineLayerEvent) => void; /** 图层创建并挂载后回调,拿到原生 LineLayer 实例做命令式操作(如 updateState/clearState/traceControl) */ onReady?: (layer: any) => void; } export declare const LineLayer: import('react').NamedExoticComponent;