@antv/aimapui 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Component } from 'react';
2
2
  import { default as default_2 } from 'react';
3
3
  import { Feature } from 'geojson';
4
- import { JSX as JSX_2 } from 'react/jsx-runtime';
5
4
  import { ReactNode } from 'react';
6
5
  import { RefObject } from 'react';
7
6
  import { Scene } from '@antv/l7';
@@ -159,7 +158,7 @@ export declare type AdministrativeLevel = 'province' | 'city' | 'district';
159
158
  * <AiMap schema={fullSchema} />
160
159
  * ```
161
160
  */
162
- export declare function AiMap({ map, schema, theme, onSceneReady, onLayerClick, onLayerMouseMove, onLayerMouseEnter, onLayerMouseLeave, onMapMove, onMapZoom, autoFit, events, children, className, style, }: AiMapProps): JSX_2.Element;
161
+ export declare function AiMap({ map, schema, theme, onSceneReady, onLayerClick, onLayerMouseMove, onLayerMouseEnter, onLayerMouseLeave, onMapMove, onMapZoom, autoFit, events, children, className, style, }: AiMapProps): default_2.JSX.Element;
163
162
 
164
163
  /**
165
164
  * JSON Schema 导出 — 供 AI / LLM 理解 Schema 结构
@@ -959,7 +958,7 @@ export declare interface ArcFlowDataItem {
959
958
  * />
960
959
  * ```
961
960
  */
962
- export declare function ArcFlowLayer({ source, sourceType, sourceConfig, shape, color, gradientColors, colorMode, colorField, colorValues, lineWidth, lineWidthRange, weightField, opacity, blur, animate, animateSpeed, animateTrailLength, animateDuration, showNodes, nodeColor, nodeSize, nodeSizeRange, nodePulse, showTooltip, showNodePopup, activeColor, onArcHover, onArcClick, onNodeClick, style: extraStyle, }: ArcFlowLayerProps): JSX_2.Element;
961
+ export declare function ArcFlowLayer({ source, sourceType, sourceConfig, shape, color, gradientColors, colorMode, colorField, colorValues, lineWidth, lineWidthRange, weightField, opacity, blur, animate, animateSpeed, animateTrailLength, animateDuration, showNodes, nodeColor, nodeSize, nodeSizeRange, nodePulse, showTooltip, showNodePopup, activeColor, onArcHover, onArcClick, onNodeClick, style: extraStyle, }: ArcFlowLayerProps): default_2.JSX.Element;
963
962
 
964
963
  export declare interface ArcFlowLayerProps {
965
964
  /** OD 数据源 — JSON 数组 */
@@ -1055,7 +1054,7 @@ export declare type BasemapType = 'gaode' | 'mapbox' | 'maplibre' | 'tianditu' |
1055
1054
  * </BottomSheet>
1056
1055
  * ```
1057
1056
  */
1058
- export declare function BottomSheet({ children, defaultSnap, collapsedHeight, halfRatio, expandedRatio, onSnapChange, className, showHandle, borderRadius, }: BottomSheetProps): JSX_2.Element;
1057
+ export declare function BottomSheet({ children, defaultSnap, collapsedHeight, halfRatio, expandedRatio, onSnapChange, className, showHandle, borderRadius, }: BottomSheetProps): default_2.JSX.Element;
1059
1058
 
1060
1059
  export declare interface BottomSheetProps {
1061
1060
  /** 子内容 */
@@ -1096,7 +1095,7 @@ declare type BubbleAnchor = 'center' | 'top' | 'right' | 'bottom' | 'left' | 'to
1096
1095
  * - bubbleAnchor='center', labelAnchor='center' — 标签居中覆盖气泡(适合短文本)
1097
1096
  * - bubbleAnchor='bottom', labelAnchor='top' — 标签在气泡上方(经典布局)
1098
1097
  */
1099
- export declare function BubbleLayer({ source, sourceType, sourceConfig, labelField, labelColor, labelSize, showLabel, labelOffset, sizeDomain, bubbleAnchor, labelAnchor, hoverEffect, clickEffect, tooltipEffect, tooltipFields, tooltipTemplate, semanticColorField, color, size, sizeField, sizeValues, style, active, select, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: BubbleLayerProps): JSX_2.Element;
1098
+ export declare function BubbleLayer({ source, sourceType, sourceConfig, labelField, labelColor, labelSize, showLabel, labelOffset, sizeDomain, bubbleAnchor, labelAnchor, hoverEffect, clickEffect, tooltipEffect, tooltipFields, tooltipTemplate, semanticColorField, color, size, sizeField, sizeValues, style, active, select, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: BubbleLayerProps): default_2.JSX.Element;
1100
1099
 
1101
1100
  export declare interface BubbleLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1102
1101
  source: LayerSchema['source'];
@@ -1276,7 +1275,7 @@ declare interface ColorConfig {
1276
1275
  * </ControlContainer>
1277
1276
  * ```
1278
1277
  */
1279
- export declare function ControlContainer({ children, className, style }: ControlContainerProps): JSX_2.Element;
1278
+ export declare function ControlContainer({ children, className, style }: ControlContainerProps): default_2.JSX.Element;
1280
1279
 
1281
1280
  declare interface ControlContainerProps {
1282
1281
  children?: ReactNode;
@@ -1314,7 +1313,7 @@ export declare const ControlRegistry: {
1314
1313
  * 使用 ControlContainer 包裹,按 position 自动分组排列,
1315
1314
  * 同一角度的多个控件自动堆叠而不会重叠
1316
1315
  */
1317
- export declare function ControlRenderer({ controls, layers, onLayerToggle, containerRef }: ControlRendererProps): JSX_2.Element;
1316
+ export declare function ControlRenderer({ controls, layers, onLayerToggle, containerRef }: ControlRendererProps): default_2.JSX.Element;
1318
1317
 
1319
1318
  declare interface ControlRendererProps {
1320
1319
  controls: ControlSchema[];
@@ -1327,15 +1326,16 @@ export declare interface ControlSchema {
1327
1326
  type: ControlType;
1328
1327
  position?: ControlPosition;
1329
1328
  options?: Record<string, unknown>;
1329
+ /** 不可序列化的回调函数(仅用于编程式 API,不出现在 JSON Schema 中) */
1330
+ callbacks?: Record<string, unknown>;
1330
1331
  }
1331
1332
 
1332
1333
  export declare type ControlType = 'zoom' | 'scale' | 'fullscreen' | 'geoLocate' | 'mapTheme' | 'mouseLocation' | 'exportImage' | 'layerSwitch' | 'draw' | 'imageCalibration';
1333
1334
 
1334
1335
  /**
1335
1336
  * 底图工厂 — 根据配置创建 L7 Map 实例
1336
- * 动态导入各底图模块,避免未使用时打包
1337
1337
  */
1338
- export declare function createBasemap(schema: MapSchema): Promise<unknown>;
1338
+ export declare function createBasemap(schema: MapSchema): unknown;
1339
1339
 
1340
1340
  /**
1341
1341
  * 创建 EventBus 实例
@@ -1575,7 +1575,7 @@ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBo
1575
1575
  state: ErrorBoundaryState;
1576
1576
  static getDerivedStateFromError(error: Error): ErrorBoundaryState;
1577
1577
  componentDidCatch(error: Error, errorInfo: default_2.ErrorInfo): void;
1578
- render(): string | number | boolean | Iterable<default_2.ReactNode> | JSX_2.Element | null | undefined;
1578
+ render(): string | number | boolean | Iterable<default_2.ReactNode> | default_2.JSX.Element | null | undefined;
1579
1579
  }
1580
1580
 
1581
1581
  declare interface ErrorBoundaryProps {
@@ -1618,7 +1618,7 @@ export declare class EventBus {
1618
1618
  clear(): void;
1619
1619
  }
1620
1620
 
1621
- export declare function EventBusProvider({ events, children }: EventBusProviderProps): JSX_2.Element;
1621
+ export declare function EventBusProvider({ events, children }: EventBusProviderProps): default_2.JSX.Element;
1622
1622
 
1623
1623
  declare interface EventBusProviderProps {
1624
1624
  /** 初始事件监听(从 AiMap events prop 传入) */
@@ -1704,12 +1704,33 @@ export declare interface ExportResult {
1704
1704
  outputHeight: number;
1705
1705
  }
1706
1706
 
1707
+ /** 导出上传数据包 */
1708
+ declare interface ExportUploadData {
1709
+ /** 所有瓦片切片 */
1710
+ tiles: Array<{
1711
+ blob: Blob;
1712
+ row: number;
1713
+ col: number;
1714
+ extent: [number, number, number, number];
1715
+ corners: GeoCorners;
1716
+ width: number;
1717
+ height: number;
1718
+ }>;
1719
+ /** 完整配准后的图片 Blob */
1720
+ fullBlob: Blob;
1721
+ /** 完整图片的地理范围 */
1722
+ extent: [number, number, number, number];
1723
+ /** 输出尺寸 */
1724
+ outputWidth: number;
1725
+ outputHeight: number;
1726
+ }
1727
+
1707
1728
  declare type FillColorMapping = 'sequential' | 'diverging' | 'categorical';
1708
1729
 
1709
1730
  /**
1710
1731
  * 填充图组件(填充 + 描边 + 文字)
1711
1732
  */
1712
- export declare function FillLayer({ source, sourceType, colorMapping, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, stickySelection, tooltipEffect, tooltipFields, tooltipTemplate, regionIdField, highlightStrokeColor, highlightStrokeWidth, zoomToRegionOnClick, clickZoomPadding, clickZoomDelta, onRegionClick, onDrilldown, onLayerCreated, showLabel, labelField, labelColor, labelSize, labelAreaThreshold, labelHaloWidth, minLabelZoom, valueField, percentageField, nameField, color, colorField, colorValues, active, select, events, style, ...rest }: FillLayerProps): JSX_2.Element;
1733
+ export declare function FillLayer({ source, sourceType, colorMapping, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, stickySelection, tooltipEffect, tooltipFields, tooltipTemplate, regionIdField, highlightStrokeColor, highlightStrokeWidth, zoomToRegionOnClick, clickZoomPadding, clickZoomDelta, onRegionClick, onDrilldown, onLayerCreated, showLabel, labelField, labelColor, labelSize, labelAreaThreshold, labelHaloWidth, minLabelZoom, valueField, percentageField, nameField, color, colorField, colorValues, active, select, events, style, ...rest }: FillLayerProps): default_2.JSX.Element;
1713
1734
 
1714
1735
  export declare interface FillLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1715
1736
  source: LayerSchema['source'];
@@ -1745,7 +1766,7 @@ export declare interface FillLayerProps extends Omit<LayerSchema, 'type' | 'sour
1745
1766
  nameField?: string;
1746
1767
  }
1747
1768
 
1748
- export declare function FullscreenControl({ position, container, className, style, }: FullscreenControlProps): JSX_2.Element;
1769
+ export declare function FullscreenControl({ position, container, className, style, }: FullscreenControlProps): default_2.JSX.Element;
1749
1770
 
1750
1771
  /**
1751
1772
  * Fullscreen 全屏控件
@@ -1791,7 +1812,7 @@ number
1791
1812
  ]
1792
1813
  ];
1793
1814
 
1794
- export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): JSX_2.Element;
1815
+ export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): default_2.JSX.Element;
1795
1816
 
1796
1817
  /**
1797
1818
  * GeoLocate 定位控件
@@ -1839,7 +1860,7 @@ export declare function getPopperDirection(pos: L7ControlPosition): string;
1839
1860
  * - 碰撞检测:图标始终可见,仅文本被避让
1840
1861
  * - 缩放适配:L1(14+) 全显示 → L2(10-13) 仅图标 → L3(<10) 降级圆点
1841
1862
  */
1842
- export declare function GlyphLayer({ source, sourceType, sourceConfig, iconField, iconFontFamily, iconFontPath, iconFontMap, iconColor, iconSize, iconHaloColor, iconHaloWidth, iconStyle, iconAnchor, iconBgShape, iconBgShapeColor, iconBgShapeSize, iconBgStrokeColor, iconBgStrokeWidth, iconBgPadding, iconBgCornerRadius, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: GlyphLayerProps): JSX_2.Element | null;
1863
+ export declare function GlyphLayer({ source, sourceType, sourceConfig, iconField, iconFontFamily, iconFontPath, iconFontMap, iconColor, iconSize, iconHaloColor, iconHaloWidth, iconStyle, iconAnchor, iconBgShape, iconBgShapeColor, iconBgShapeSize, iconBgStrokeColor, iconBgStrokeWidth, iconBgPadding, iconBgCornerRadius, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: GlyphLayerProps): default_2.JSX.Element | null;
1843
1864
 
1844
1865
  export declare interface GlyphLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1845
1866
  source: LayerSchema['source'];
@@ -1930,7 +1951,7 @@ export declare interface H3DataItem {
1930
1951
  [key: string]: unknown;
1931
1952
  }
1932
1953
 
1933
- export declare function H3Layer({ source, h3Field, color, colorField, colorValues, opacity, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, showLabel, labelField, labelColor, labelSize, active, select, style, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: H3LayerProps): JSX_2.Element;
1954
+ export declare function H3Layer({ source, h3Field, color, colorField, colorValues, opacity, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, showLabel, labelField, labelColor, labelSize, active, select, style, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: H3LayerProps): default_2.JSX.Element;
1934
1955
 
1935
1956
  export declare interface H3LayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig' | 'shape' | 'shapeField' | 'shapeValues'> {
1936
1957
  source: H3DataItem[];
@@ -1955,7 +1976,7 @@ export declare interface H3LayerProps extends Omit<LayerSchema, 'type' | 'source
1955
1976
  *
1956
1977
  * 支持悬停高亮交互(对齐蜂窝热力图设计规范)
1957
1978
  */
1958
- export declare function HeatmapLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: HeatmapLayerProps): JSX_2.Element | null;
1979
+ export declare function HeatmapLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: HeatmapLayerProps): default_2.JSX.Element | null;
1959
1980
 
1960
1981
  export declare interface HeatmapLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1961
1982
  source: LayerSchema['source'];
@@ -1975,8 +1996,14 @@ export declare interface HeatmapLayerProps extends Omit<LayerSchema, 'type' | 's
1975
1996
 
1976
1997
  /**
1977
1998
  * 蜂窝热力图(六边形聚合)
1999
+ *
2000
+ * 遵循设计规范:
2001
+ * - 2D 模式:平面正六边形,可选描边
2002
+ * - 3D 模式:立体挤压柱体,高度映射权重
2003
+ * - 默认 hexSize=20(屏幕空间 20-40px 范围)
2004
+ * - 支持 hover 高亮反馈
1978
2005
  */
1979
- declare function HexagonLayer({ source, sourceType, sourceConfig, hexSize, weightField, weightMethod, onClick, onMouseMove, style, ...rest }: HexagonLayerProps): JSX_2.Element;
2006
+ declare function HexagonLayer({ source, sourceType, sourceConfig, mode, hexSize, weightField, weightMethod, showStroke, strokeColor, strokeWidth, hoverEffect, activeColor, onClick, onMouseMove, onMouseEnter, onMouseLeave, style, ...rest }: HexagonLayerProps): default_2.JSX.Element;
1980
2007
  export { HexagonLayer as HeatmapHexagonLayer }
1981
2008
  export { HexagonLayer }
1982
2009
 
@@ -1984,15 +2011,39 @@ declare interface HexagonLayerProps extends Omit<LayerSchema, 'type' | 'shape' |
1984
2011
  source: LayerSchema['source'];
1985
2012
  sourceType?: LayerSchema['sourceType'];
1986
2013
  sourceConfig?: LayerSchema['sourceConfig'];
2014
+ /** 渲染模式,默认 '3d'(立体挤压) */
2015
+ mode?: HexagonMode;
2016
+ /** 六边形半径(像素),默认 20(符合规范 20-40px 范围) */
1987
2017
  hexSize?: number;
2018
+ /** 权重字段,默认 'value' */
1988
2019
  weightField?: string;
2020
+ /** 聚合方法,默认 'sum' */
1989
2021
  weightMethod?: 'sum' | 'mean' | 'min' | 'max' | 'count';
2022
+ /** 是否显示描边,默认 false(2D 模式可开启) */
2023
+ showStroke?: boolean;
2024
+ /** 描边颜色,默认 'rgba(255,255,255,0.3)' */
2025
+ strokeColor?: string;
2026
+ /** 描边宽度,默认 0.5 */
2027
+ strokeWidth?: number;
2028
+ /** 是否启用 hover 高亮,默认 true */
2029
+ hoverEffect?: boolean;
2030
+ /** hover 高亮色,默认 '#fbbf24' (secondary) */
2031
+ activeColor?: string;
1990
2032
  onClick?: (payload: LayerEventPayload) => void;
1991
2033
  onMouseMove?: (payload: LayerEventPayload) => void;
2034
+ onMouseEnter?: (payload: LayerEventPayload) => void;
2035
+ onMouseLeave?: (payload: LayerEventPayload) => void;
1992
2036
  }
1993
2037
  export { HexagonLayerProps as HeatmapHexagonLayerProps }
1994
2038
  export { HexagonLayerProps }
1995
2039
 
2040
+ /**
2041
+ * 蜂窝热力图渲染模式
2042
+ * - 2d: 平面六边形,适合密度分布展示
2043
+ * - 3d: 立体挤压柱体,高度映射权重,增强视觉对比
2044
+ */
2045
+ declare type HexagonMode = '2d' | '3d';
2046
+
1996
2047
  /**
1997
2048
  * 将十六进制颜色转为 RGBA
1998
2049
  */
@@ -2019,7 +2070,7 @@ declare type IconAnchor_2 = 'center' | 'top' | 'bottom' | 'left' | 'right';
2019
2070
  * - 缩放适配:Zoom15+ 全显示 → 10-14 仅图标 → <10 降级圆点
2020
2071
  * - 碰撞检测:重叠时隐藏低优先级文本
2021
2072
  */
2022
- export declare function IconLayer({ source, sourceType, sourceConfig, iconField, iconMap, iconSize, iconAnchor, size, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: IconLayerProps): JSX_2.Element | null;
2073
+ export declare function IconLayer({ source, sourceType, sourceConfig, iconField, iconMap, iconSize, iconAnchor, size, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: IconLayerProps): default_2.JSX.Element | null;
2023
2074
 
2024
2075
  export declare interface IconLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2025
2076
  source: LayerSchema['source'];
@@ -2133,6 +2184,12 @@ export declare interface ImageCalibrationControlProps {
2133
2184
  onImageAdd?: (image: RegisteredImage) => void;
2134
2185
  /** 删除图片回调 */
2135
2186
  onImageRemove?: (imageId: string) => void;
2187
+ /** 文件上传到 CDN 的回调。提供时,组件会将原始 File 传给此回调,用返回的 CDN URL 进入后续流程 */
2188
+ onImageUpload?: OnImageUpload;
2189
+ /** 裁剪后上传到 CDN 的回调。提供时,裁剪后的 Blob 先传给此回调,返回的 CDN URL 作为最终图片源 */
2190
+ onCropUpload?: OnCropUpload;
2191
+ /** 导出上传到 CDN 的回调。提供时,导出对话框中展示"上传到云端"按钮,瓦片和完整图片传给此回调 */
2192
+ onExportUpload?: OnExportUpload;
2136
2193
  }
2137
2194
 
2138
2195
  /** 命令式 Handle */
@@ -2155,7 +2212,7 @@ export declare interface ImageCalibrationHandle {
2155
2212
  /**
2156
2213
  * 图片图层组件
2157
2214
  */
2158
- export declare function ImageLayer({ source, sourceType, sourceConfig, onClick, ...rest }: ImageLayerProps): JSX_2.Element | null;
2215
+ export declare function ImageLayer({ source, sourceType, sourceConfig, onClick, ...rest }: ImageLayerProps): default_2.JSX.Element | null;
2159
2216
 
2160
2217
  export declare interface ImageLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2161
2218
  source: LayerSchema['source'];
@@ -2178,7 +2235,7 @@ export declare const INDEPENDENT_MAP_THEME_PRESETS: ThemeOption[];
2178
2235
  *
2179
2236
  * 参考 L7 实现:使用 mapsService.getMarkerContainer() 作为 Marker/Popup 的 DOM 容器
2180
2237
  */
2181
- export declare function InteractionRenderer({ interactions }: InteractionRendererProps): JSX_2.Element;
2238
+ export declare function InteractionRenderer({ interactions }: InteractionRendererProps): default_2.JSX.Element;
2182
2239
 
2183
2240
  declare interface InteractionRendererProps {
2184
2241
  interactions: InteractionSchema[];
@@ -2260,7 +2317,7 @@ export declare interface LayerItem {
2260
2317
  /**
2261
2318
  * 批量渲染图层
2262
2319
  */
2263
- export declare function LayerRenderer({ layers, eventHandlers }: LayerRendererProps): JSX_2.Element | null;
2320
+ export declare function LayerRenderer({ layers, eventHandlers }: LayerRendererProps): default_2.JSX.Element | null;
2264
2321
 
2265
2322
  declare interface LayerRendererProps {
2266
2323
  layers: LayerSchema[];
@@ -2302,7 +2359,7 @@ export declare interface LayerSchema {
2302
2359
  events?: LayerEventSchema;
2303
2360
  }
2304
2361
 
2305
- export declare function LayerSwitchControl({ position, layers, onToggle, onOpacityChange, className, style, }: LayerSwitchControlProps): JSX_2.Element | null;
2362
+ export declare function LayerSwitchControl({ position, layers, onToggle, onOpacityChange, className, style, }: LayerSwitchControlProps): default_2.JSX.Element | null;
2306
2363
 
2307
2364
  export declare interface LayerSwitchControlProps {
2308
2365
  /** 控件位置,默认 topright */
@@ -2330,7 +2387,7 @@ export declare type LayerType = 'point' | 'line' | 'polygon' | 'heatmap' | 'rast
2330
2387
  *
2331
2388
  * @see legend.md §2 分类与枚举图例
2332
2389
  */
2333
- export declare function LegendCategories({ title, labels, colors, swatchShape, grid, className, interaction, }: LegendCategoriesProps): JSX_2.Element;
2390
+ export declare function LegendCategories({ title, labels, colors, swatchShape, grid, className, interaction, }: LegendCategoriesProps): default_2.JSX.Element;
2334
2391
 
2335
2392
  declare interface LegendCategoriesProps extends LegendCategoriesSchema {
2336
2393
  className?: string;
@@ -2349,7 +2406,7 @@ export declare interface LegendCategoriesSchema {
2349
2406
  grid?: boolean;
2350
2407
  }
2351
2408
 
2352
- export declare function LegendControl({ position, className, style, children, }: LegendControlProps): JSX_2.Element | null;
2409
+ export declare function LegendControl({ position, className, style, children, }: LegendControlProps): default_2.JSX.Element | null;
2353
2410
 
2354
2411
  export declare interface LegendControlProps {
2355
2412
  position?: L7ControlPosition;
@@ -2371,7 +2428,7 @@ export declare interface LegendControlProps {
2371
2428
  *
2372
2429
  * @see legend.md §4 离散与发散图例
2373
2430
  */
2374
- export declare function LegendDiverging({ title, colors, labels, middleLabel, className, }: LegendDivergingProps): JSX_2.Element;
2431
+ export declare function LegendDiverging({ title, colors, labels, middleLabel, className, }: LegendDivergingProps): default_2.JSX.Element;
2375
2432
 
2376
2433
  declare interface LegendDivergingProps extends LegendDivergingSchema {
2377
2434
  className?: string;
@@ -2402,7 +2459,7 @@ export declare interface LegendDivergingSchema {
2402
2459
  *
2403
2460
  * @see legend.md §2 分类与枚举图例 (图标变体)
2404
2461
  */
2405
- export declare function LegendIcon({ title, items, className, interaction }: LegendIconProps): JSX_2.Element;
2462
+ export declare function LegendIcon({ title, items, className, interaction }: LegendIconProps): default_2.JSX.Element;
2406
2463
 
2407
2464
  export declare interface LegendIconItem {
2408
2465
  icon: string;
@@ -2443,7 +2500,7 @@ export declare interface LegendInteractionCallbacks {
2443
2500
  *
2444
2501
  * @see legend.md — LineWidth 类型图例
2445
2502
  */
2446
- export declare function LegendLineWidth({ title, color, items, className, interaction, }: LegendLineWidthProps): JSX_2.Element;
2503
+ export declare function LegendLineWidth({ title, color, items, className, interaction, }: LegendLineWidthProps): default_2.JSX.Element;
2447
2504
 
2448
2505
  declare interface LegendLineWidthProps extends LegendLineWidthSchema {
2449
2506
  className?: string;
@@ -2475,7 +2532,7 @@ export declare interface LegendLineWidthSchema {
2475
2532
  *
2476
2533
  * @see LegendSize 为新版推荐的替代组件,提供更灵活的 items 配置
2477
2534
  */
2478
- export declare function LegendProportion({ title, labels, fillColor, className, }: LegendProportionProps): JSX_2.Element;
2535
+ export declare function LegendProportion({ title, labels, fillColor, className, }: LegendProportionProps): default_2.JSX.Element;
2479
2536
 
2480
2537
  declare interface LegendProportionProps extends LegendProportionSchema {
2481
2538
  className?: string;
@@ -2501,7 +2558,7 @@ export declare interface LegendProportionSchema {
2501
2558
  *
2502
2559
  * @see legend.md §3 连续与分级图例
2503
2560
  */
2504
- export declare function LegendRamp({ title, labels, colors, isContinuous, showTicks, brushable, className, interaction, }: LegendRampProps): JSX_2.Element;
2561
+ export declare function LegendRamp({ title, labels, colors, isContinuous, showTicks, brushable, className, interaction, }: LegendRampProps): default_2.JSX.Element;
2505
2562
 
2506
2563
  declare interface LegendRampProps extends LegendRampSchema {
2507
2564
  className?: string;
@@ -2533,7 +2590,7 @@ export declare interface LegendRampSchema {
2533
2590
  *
2534
2591
  * @see legend.md §1 基础视觉准则
2535
2592
  */
2536
- export declare function LegendRenderer({ legends, className, style, interaction, }: LegendRendererProps): JSX_2.Element | null;
2593
+ export declare function LegendRenderer({ legends, className, style, interaction, }: LegendRendererProps): default_2.JSX.Element | null;
2537
2594
 
2538
2595
  declare interface LegendRendererProps {
2539
2596
  legends: LegendSchema[];
@@ -2559,7 +2616,7 @@ export declare type LegendSchema = LegendCategoriesSchema | LegendRampSchema | L
2559
2616
  *
2560
2617
  * @see legend.md — Size / Proportion 类型图例
2561
2618
  */
2562
- export declare function LegendSize({ title, fillColor, items, className, }: LegendSizeProps): JSX_2.Element;
2619
+ export declare function LegendSize({ title, fillColor, items, className, }: LegendSizeProps): default_2.JSX.Element;
2563
2620
 
2564
2621
  declare interface LegendSizeProps extends LegendSizeSchema {
2565
2622
  className?: string;
@@ -2595,7 +2652,7 @@ export declare type LegendSwatchShape = 'square' | 'circle';
2595
2652
  *
2596
2653
  * @see legend.md §3.3 Threshold 自定义分段
2597
2654
  */
2598
- export declare function LegendThreshold({ title, ranges, colors, className, interaction, }: LegendThresholdProps): JSX_2.Element;
2655
+ export declare function LegendThreshold({ title, ranges, colors, className, interaction, }: LegendThresholdProps): default_2.JSX.Element;
2599
2656
 
2600
2657
  declare interface LegendThresholdProps extends LegendThresholdSchema {
2601
2658
  className?: string;
@@ -2621,7 +2678,7 @@ export declare interface LegendThresholdSchema {
2621
2678
  * </AiMap>
2622
2679
  * ```
2623
2680
  */
2624
- export declare function LineLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: LineLayerProps): JSX_2.Element | null;
2681
+ export declare function LineLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: LineLayerProps): default_2.JSX.Element | null;
2625
2682
 
2626
2683
  export declare interface LineLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2627
2684
  source: LayerSchema['source'];
@@ -2640,7 +2697,7 @@ declare interface LinkAnnotationProperties extends AnnotationPropertiesBase {
2640
2697
  title?: string;
2641
2698
  }
2642
2699
 
2643
- export declare function LogoControl({ logos, position, className, style, }: LogoControlProps): JSX_2.Element;
2700
+ export declare function LogoControl({ logos, position, className, style, }: LogoControlProps): default_2.JSX.Element;
2644
2701
 
2645
2702
  export declare interface LogoControlProps {
2646
2703
  /** Logo 列表,支持多张 */
@@ -2729,7 +2786,7 @@ export declare interface MapEventPayload {
2729
2786
  rotation: number;
2730
2787
  }
2731
2788
 
2732
- export declare function MapSceneRenderer({ mapSchema, children, onSceneReady, mapEventHandlers, events, className, style, }: MapSceneRendererProps): JSX_2.Element;
2789
+ export declare function MapSceneRenderer({ mapSchema, children, onSceneReady, mapEventHandlers, events, className, style, }: MapSceneRendererProps): default_2.JSX.Element;
2733
2790
 
2734
2791
  declare interface MapSceneRendererProps {
2735
2792
  mapSchema: MapSchema;
@@ -2762,7 +2819,7 @@ export declare type MapStylePreset = 'light' | 'dark' | 'normal' | 'darkblue' |
2762
2819
 
2763
2820
  export declare type MapTheme = 'light' | 'dark' | 'system';
2764
2821
 
2765
- export declare function MapThemeControl({ position, options: propOptions, defaultValue, onThemeChange, className, style, }: MapThemeControlProps): JSX_2.Element;
2822
+ export declare function MapThemeControl({ position, options: propOptions, defaultValue, onThemeChange, className, style, }: MapThemeControlProps): default_2.JSX.Element;
2766
2823
 
2767
2824
  export declare interface MapThemeControlProps {
2768
2825
  /** 控件位置,默认 topright */
@@ -2798,7 +2855,7 @@ declare interface MarkerAnnotationProperties extends AnnotationPropertiesBase {
2798
2855
  * - 视觉分级:小规模(2-99)、中规模(100-999)、大规模(1000+)
2799
2856
  * - 交互:悬停放大(scale-110)、点击缩放、最大级别蜘蛛布局展开
2800
2857
  */
2801
- export declare function MarkerClusterLayer({ source, sourceType, sourceConfig, gridSize, minClusterSize, animationDuration, easing, onPointClick, onClusterClick, }: MarkerClusterLayerProps): JSX_2.Element;
2858
+ export declare function MarkerClusterLayer({ source, sourceType, sourceConfig, gridSize, minClusterSize, animationDuration, easing, onPointClick, onClusterClick, }: MarkerClusterLayerProps): default_2.JSX.Element;
2802
2859
 
2803
2860
  export declare interface MarkerClusterLayerProps {
2804
2861
  source: LayerSchema['source'];
@@ -2910,7 +2967,7 @@ export declare interface MobileLegendConfig {
2910
2967
  * - 展开时 max-h-[65vh],收起时 max-h-14
2911
2968
  * - 支持所有图例类型
2912
2969
  */
2913
- export declare function MobileSheetLegend({ legends, className, interaction, }: MobileSheetLegendProps): JSX_2.Element | null;
2970
+ export declare function MobileSheetLegend({ legends, className, interaction, }: MobileSheetLegendProps): default_2.JSX.Element | null;
2914
2971
 
2915
2972
  declare interface MobileSheetLegendProps {
2916
2973
  legends: LegendSchema[];
@@ -2921,7 +2978,7 @@ declare interface MobileSheetLegendProps {
2921
2978
  /**
2922
2979
  * 移动端底部工具栏
2923
2980
  */
2924
- export declare function MobileToolbar({ config, className }: MobileToolbarProps): JSX_2.Element;
2981
+ export declare function MobileToolbar({ config, className }: MobileToolbarProps): default_2.JSX.Element;
2925
2982
 
2926
2983
  export declare interface MobileToolbarConfig {
2927
2984
  items: string[];
@@ -2933,7 +2990,7 @@ declare interface MobileToolbarProps {
2933
2990
  className?: string;
2934
2991
  }
2935
2992
 
2936
- export declare function MouseLocationControl({ position, precision, transform, className, style, }: MouseLocationControlProps): JSX_2.Element;
2993
+ export declare function MouseLocationControl({ position, precision, transform, className, style, }: MouseLocationControlProps): default_2.JSX.Element;
2937
2994
 
2938
2995
  /**
2939
2996
  * MouseLocation 鼠标坐标控件
@@ -2963,6 +3020,18 @@ declare interface NoteAnnotationProperties extends AnnotationPropertiesBase {
2963
3020
  body?: string;
2964
3021
  }
2965
3022
 
3023
+ /** 裁剪后 Blob 上传到 CDN 的回调 */
3024
+ declare type OnCropUpload = (blob: Blob, dimensions: {
3025
+ width: number;
3026
+ height: number;
3027
+ }) => Promise<UploadResult>;
3028
+
3029
+ /** 导出上传到 CDN 的回调 */
3030
+ declare type OnExportUpload = (exportData: ExportUploadData) => Promise<void>;
3031
+
3032
+ /** 文件上传到 CDN 的回调 */
3033
+ declare type OnImageUpload = (file: File) => Promise<UploadResult>;
3034
+
2966
3035
  /**
2967
3036
  * Mapbox / Maplibre 主题预设 — 基于 openfreemap 样式
2968
3037
  */
@@ -2982,7 +3051,7 @@ export declare function parseSchema(schema: AiMapSchema): AiMapSchema;
2982
3051
  * </AiMap>
2983
3052
  * ```
2984
3053
  */
2985
- export declare function PointLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PointLayerProps): JSX_2.Element | null;
3054
+ export declare function PointLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PointLayerProps): default_2.JSX.Element | null;
2986
3055
 
2987
3056
  export declare interface PointLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2988
3057
  /** 数据源 — JSON 数组、GeoJSON 或 URL */
@@ -3006,7 +3075,7 @@ export declare interface PointLayerProps extends Omit<LayerSchema, 'type' | 'sou
3006
3075
  /**
3007
3076
  * 面图层组件
3008
3077
  */
3009
- export declare function PolygonLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PolygonLayerProps): JSX_2.Element | null;
3078
+ export declare function PolygonLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PolygonLayerProps): default_2.JSX.Element | null;
3010
3079
 
3011
3080
  export declare interface PolygonLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
3012
3081
  source: LayerSchema['source'];
@@ -3139,7 +3208,7 @@ export declare interface RampColors {
3139
3208
  /**
3140
3209
  * 栅格图层组件
3141
3210
  */
3142
- export declare function RasterLayer({ source, sourceType, sourceConfig, onClick, ...rest }: RasterLayerProps): JSX_2.Element | null;
3211
+ export declare function RasterLayer({ source, sourceType, sourceConfig, onClick, ...rest }: RasterLayerProps): default_2.JSX.Element | null;
3143
3212
 
3144
3213
  export declare interface RasterLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
3145
3214
  source: LayerSchema['source'];
@@ -3196,7 +3265,7 @@ declare interface ResponsiveContextValue {
3196
3265
  schema: ResponsiveSchema | undefined;
3197
3266
  }
3198
3267
 
3199
- export declare function ResponsiveProvider({ responsive, children }: ResponsiveProviderProps): JSX_2.Element;
3268
+ export declare function ResponsiveProvider({ responsive, children }: ResponsiveProviderProps): default_2.JSX.Element;
3200
3269
 
3201
3270
  declare interface ResponsiveProviderProps {
3202
3271
  responsive?: ResponsiveSchema;
@@ -3230,7 +3299,7 @@ export declare interface ResponsiveSchema {
3230
3299
  * />
3231
3300
  * ```
3232
3301
  */
3233
- export declare function RouteLayer({ path, segments, stops, routeType, onRouteQuery, onRouteResult, color, lineWidth, opacity, glow, animate, animateSpeed, stopSize, stopColor, endColor, showStopIndex, showStopName, stopNameColor, stopNameSize, stopRenderer, stopMarkerVariant, stopIconMap, stopIconField, stopIconSize, stopIconAnchor, showStopPopup, activeColor, onPathClick, onStopClick, }: RouteLayerProps): JSX_2.Element | null;
3302
+ export declare function RouteLayer({ path, segments, stops, routeType, onRouteQuery, onRouteResult, color, lineWidth, opacity, glow, animate, animateSpeed, stopSize, stopColor, endColor, showStopIndex, showStopName, stopNameColor, stopNameSize, stopRenderer, stopMarkerVariant, stopIconMap, stopIconField, stopIconSize, stopIconAnchor, showStopPopup, activeColor, onPathClick, onStopClick, }: RouteLayerProps): default_2.JSX.Element | null;
3234
3303
 
3235
3304
  export declare interface RouteLayerProps {
3236
3305
  /** 路径坐标 — 完整线坐标或分段 */
@@ -3368,13 +3437,64 @@ export declare const SATELLITE_PROVIDER_NAMES: Record<SatelliteProvider, string>
3368
3437
  * </AiMap>
3369
3438
  * ```
3370
3439
  */
3371
- export declare function SatelliteLayer({ provider, zIndex, opacity, tiandituToken, visible, }: SatelliteLayerProps): JSX_2.Element | null;
3440
+ export declare function SatelliteLayer({ provider, zIndex, opacity, tiandituToken, visible, }: SatelliteLayerProps): default_2.JSX.Element | null;
3441
+
3442
+ /**
3443
+ * 卫星影像图层控件
3444
+ *
3445
+ * 提供卫星影像提供商切换、可见性开关和透明度调节功能。
3446
+ * 通常与 SatelliteLayer 组件配合使用。
3447
+ *
3448
+ * @example
3449
+ * ```tsx
3450
+ * const [provider, setProvider] = useState<SatelliteProvider>('gaode');
3451
+ * const [visible, setVisible] = useState(true);
3452
+ * const [opacity, setOpacity] = useState(1);
3453
+ *
3454
+ * <AiMap map={{ basemap: 'map' }}>
3455
+ * <SatelliteLayer provider={provider} visible={visible} opacity={opacity} />
3456
+ * <SatelliteLayerControl
3457
+ * activeProvider={provider}
3458
+ * visible={visible}
3459
+ * opacity={opacity}
3460
+ * onProviderChange={setProvider}
3461
+ * onVisibleChange={setVisible}
3462
+ * onOpacityChange={setOpacity}
3463
+ * />
3464
+ * </AiMap>
3465
+ * ```
3466
+ */
3467
+ export declare function SatelliteLayerControl({ position, activeProvider, visible, opacity, onProviderChange, onVisibleChange, onOpacityChange, providers, className, style, }: SatelliteLayerControlProps): default_2.JSX.Element;
3468
+
3469
+ /**
3470
+ * 卫星影像控件配置
3471
+ */
3472
+ export declare interface SatelliteLayerControlProps {
3473
+ /** 控件位置,默认 topright */
3474
+ position?: L7ControlPosition;
3475
+ /** 当前激活的提供商 */
3476
+ activeProvider?: SatelliteProvider;
3477
+ /** 是否可见,默认 true */
3478
+ visible?: boolean;
3479
+ /** 透明度 0~1,默认 1 */
3480
+ opacity?: number;
3481
+ /** 提供商切换回调 */
3482
+ onProviderChange?: (provider: SatelliteProvider) => void;
3483
+ /** 可见性切换回调 */
3484
+ onVisibleChange?: (visible: boolean) => void;
3485
+ /** 透明度变化回调 */
3486
+ onOpacityChange?: (opacity: number) => void;
3487
+ /** 支持的提供商列表,默认全部 */
3488
+ providers?: SatelliteProvider[];
3489
+ className?: string;
3490
+ style?: default_2.CSSProperties;
3491
+ }
3372
3492
 
3373
3493
  /** 卫星影像图层配置 */
3374
3494
  export declare interface SatelliteLayerProps {
3375
3495
  /** 影像提供商,默认 'gaode' */
3376
3496
  provider?: SatelliteProvider;
3377
- /** 图层层级,默认 0(底层) */
3497
+ /** 图层层级,默认 -1(最底层,确保不覆盖矢量图层) */
3378
3498
  zIndex?: number;
3379
3499
  /** 图层透明度 0~1,默认 1 */
3380
3500
  opacity?: number;
@@ -3387,7 +3507,7 @@ export declare interface SatelliteLayerProps {
3387
3507
  /** 卫星影像数据源类型 */
3388
3508
  export declare type SatelliteProvider = 'gaode' | 'tianditu' | 'google';
3389
3509
 
3390
- export declare function ScaleControl({ position, maxWidth, metric, imperial, updateWhenIdle, className, style, }: ScaleControlProps): JSX_2.Element;
3510
+ export declare function ScaleControl({ position, maxWidth, metric, imperial, updateWhenIdle, className, style, }: ScaleControlProps): default_2.JSX.Element;
3391
3511
 
3392
3512
  /**
3393
3513
  * Scale 比例尺控件
@@ -3414,7 +3534,7 @@ export declare interface ScaleControlProps {
3414
3534
  style?: default_2.CSSProperties;
3415
3535
  }
3416
3536
 
3417
- export declare function SceneProvider({ scene, children }: SceneProviderProps): JSX_2.Element;
3537
+ export declare function SceneProvider({ scene, children }: SceneProviderProps): default_2.JSX.Element;
3418
3538
 
3419
3539
  declare interface SceneProviderProps {
3420
3540
  scene: Scene | null;
@@ -3444,7 +3564,7 @@ export declare interface SchemaDiffResult {
3444
3564
  legendsChanged: boolean;
3445
3565
  }
3446
3566
 
3447
- export declare function SchemaProvider({ schema, children }: SchemaProviderProps): JSX_2.Element;
3567
+ export declare function SchemaProvider({ schema, children }: SchemaProviderProps): default_2.JSX.Element;
3448
3568
 
3449
3569
  declare interface SchemaProviderProps {
3450
3570
  schema: AiMapSchema;
@@ -3465,7 +3585,7 @@ export declare interface ScreenPosition {
3465
3585
  * <SearchBar placeholder="搜索地点..." onSearch={(v) => console.log(v)} />
3466
3586
  * ```
3467
3587
  */
3468
- export declare function SearchBar({ placeholder, onSearch, onFilter, className, trailing, }: SearchBarProps): JSX_2.Element;
3588
+ export declare function SearchBar({ placeholder, onSearch, onFilter, className, trailing, }: SearchBarProps): default_2.JSX.Element;
3469
3589
 
3470
3590
  export declare interface SearchBarProps {
3471
3591
  /** 占位文本 */
@@ -3548,7 +3668,7 @@ export declare interface ThemeOption {
3548
3668
  * - `dark`: 暗色主题
3549
3669
  * - `system`: 跟随系统 prefers-color-scheme
3550
3670
  */
3551
- export declare function ThemeProvider({ defaultTheme, target, children, }: ThemeProviderProps): JSX_2.Element;
3671
+ export declare function ThemeProvider({ defaultTheme, target, children, }: ThemeProviderProps): default_2.JSX.Element;
3552
3672
 
3553
3673
  export declare interface ThemeProviderProps {
3554
3674
  /** 默认主题,默认 'light' */
@@ -3718,6 +3838,12 @@ export declare interface TooltipSchema {
3718
3838
  */
3719
3839
  export declare type TooltipVariant = 'dark' | 'glass' | 'light';
3720
3840
 
3841
+ /** 上传回调返回值:简单 URL 字符串或包含元数据的对象 */
3842
+ declare type UploadResult = string | {
3843
+ url: string;
3844
+ [key: string]: unknown;
3845
+ };
3846
+
3721
3847
  export declare function useControlContainer(): boolean;
3722
3848
 
3723
3849
  export declare function useEventBus(): EventBus;
@@ -3817,7 +3943,7 @@ declare interface VisualConfig {
3817
3943
  style?: Record<string, unknown>;
3818
3944
  }
3819
3945
 
3820
- export declare function ZoomControl({ position, zoomInText, zoomInTitle, zoomOutText, zoomOutTitle, showZoom, className, style, }: ZoomControlProps): JSX_2.Element;
3946
+ export declare function ZoomControl({ position, zoomInText, zoomInTitle, zoomOutText, zoomOutTitle, showZoom, className, style, }: ZoomControlProps): default_2.JSX.Element;
3821
3947
 
3822
3948
  /**
3823
3949
  * Zoom 控件