@antv/aimapui 0.2.2 → 0.3.1

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,16 +1,10 @@
1
- import { BaiduMap } from '@antv/l7-maps';
2
1
  import { Component } from 'react';
3
2
  import { default as default_2 } from 'react';
4
- import { default as default_3 } from 'node_modules/@antv/l7-maps/es/amap-next';
5
- import { GoogleMap } from '@antv/l7-maps';
3
+ import { Feature } from 'geojson';
6
4
  import { JSX as JSX_2 } from 'react/jsx-runtime';
7
- import { Map as Map_2 } from '@antv/l7-maps';
8
- import { Mapbox } from '@antv/l7-maps';
9
- import { MapLibre } from '@antv/l7-maps';
10
5
  import { ReactNode } from 'react';
6
+ import { RefObject } from 'react';
11
7
  import { Scene } from '@antv/l7';
12
- import { TencentMap } from '@antv/l7-maps';
13
- import { TMap } from '@antv/l7-maps';
14
8
 
15
9
  export declare type ActiveConfig = boolean | {
16
10
  color: string;
@@ -818,6 +812,86 @@ export declare interface AnimateConfig {
818
812
  repeat?: number;
819
813
  }
820
814
 
815
+ export declare const AnnotationControl: default_2.ForwardRefExoticComponent<AnnotationControlProps & default_2.RefAttributes<AnnotationControlHandle>>;
816
+
817
+ export declare interface AnnotationControlHandle {
818
+ setMode: (mode: AnnotationMode) => void;
819
+ addAnnotation: (feature: AnnotationFeature) => void;
820
+ updateAnnotation: (id: string, properties: Partial<AnnotationProperties>) => void;
821
+ deleteAnnotation: (id: string) => void;
822
+ clearAll: () => void;
823
+ getAnnotations: () => AnnotationFeature[];
824
+ selectAnnotation: (id: string | null) => void;
825
+ }
826
+
827
+ export declare interface AnnotationControlProps {
828
+ position?: L7ControlPosition;
829
+ defaultFeatures?: AnnotationFeature[];
830
+ features?: AnnotationFeature[];
831
+ tools?: AnnotationToolMode[];
832
+ styles?: AnnotationStyleConfig;
833
+ onUpload?: (file: File, type: 'image' | 'video') => Promise<string>;
834
+ className?: string;
835
+ style?: React.CSSProperties;
836
+ onAnnotationCreate?: (feature: AnnotationFeature) => void;
837
+ onAnnotationUpdate?: (feature: AnnotationFeature) => void;
838
+ onAnnotationDelete?: (feature: AnnotationFeature) => void;
839
+ onAnnotationSelect?: (feature: AnnotationFeature | null) => void;
840
+ onModeChange?: (mode: AnnotationMode) => void;
841
+ onChange?: (features: AnnotationFeature[]) => void;
842
+ }
843
+
844
+ export declare interface AnnotationFeature extends Feature {
845
+ id: string;
846
+ properties: AnnotationProperties;
847
+ }
848
+
849
+ export declare type AnnotationMode = 'marker' | 'highlighter' | 'text' | 'note' | 'link' | 'image' | 'video' | 'select' | 'none';
850
+
851
+ export declare type AnnotationProperties = MarkerAnnotationProperties | HighlighterAnnotationProperties | TextAnnotationProperties | NoteAnnotationProperties | LinkAnnotationProperties | ImageAnnotationProperties | VideoAnnotationProperties;
852
+
853
+ declare interface AnnotationPropertiesBase {
854
+ annotationType: AnnotationType;
855
+ color?: string;
856
+ createdAt?: string;
857
+ updatedAt?: string;
858
+ }
859
+
860
+ export declare interface AnnotationStyleConfig {
861
+ marker?: {
862
+ color?: string;
863
+ size?: number;
864
+ };
865
+ highlighter?: {
866
+ color?: string;
867
+ width?: number;
868
+ opacity?: number;
869
+ };
870
+ text?: {
871
+ color?: string;
872
+ fontSize?: number;
873
+ fontFamily?: string;
874
+ };
875
+ note?: {
876
+ color?: string;
877
+ maxWidth?: number;
878
+ };
879
+ link?: {
880
+ color?: string;
881
+ };
882
+ image?: {
883
+ maxWidth?: number;
884
+ borderRadius?: number;
885
+ };
886
+ video?: {
887
+ maxWidth?: number;
888
+ };
889
+ }
890
+
891
+ export declare type AnnotationToolMode = Exclude<AnnotationMode, 'none'>;
892
+
893
+ declare type AnnotationType = 'marker' | 'highlighter' | 'text' | 'note' | 'link' | 'image' | 'video';
894
+
821
895
  export declare function applyControlDefaults(control: ControlSchema): ControlSchema;
822
896
 
823
897
  export declare function applyLayerDefaults(layer: LayerSchema): LayerSchema;
@@ -1020,7 +1094,7 @@ declare type BubbleAnchor = 'center' | 'top' | 'right' | 'bottom' | 'left' | 'to
1020
1094
  * - bubbleAnchor='center', labelAnchor='center' — 标签居中覆盖气泡(适合短文本)
1021
1095
  * - bubbleAnchor='bottom', labelAnchor='top' — 标签在气泡上方(经典布局)
1022
1096
  */
1023
- export declare function BubbleLayer({ source, sourceType, sourceConfig, labelField, labelColor, labelSize, showLabel, labelTrigger, 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;
1097
+ 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;
1024
1098
 
1025
1099
  export declare interface BubbleLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1026
1100
  source: LayerSchema['source'];
@@ -1031,8 +1105,6 @@ export declare interface BubbleLayerProps extends Omit<LayerSchema, 'type' | 'so
1031
1105
  labelColor?: string;
1032
1106
  labelSize?: number;
1033
1107
  showLabel?: boolean;
1034
- /** 文本标签触发方式:'always' 始终显示 | 'hover' 鼠标划过时显示,默认 'always' */
1035
- labelTrigger?: 'always' | 'hover';
1036
1108
  /** 文本偏移量,默认根据气泡最大半径自动计算 */
1037
1109
  labelOffset?: [number, number];
1038
1110
  /** sizeField 为离散值时,对应每个 sizeValues 的域值顺序(默认 1..N) */
@@ -1071,6 +1143,15 @@ export declare interface BusinessDataItem {
1071
1143
  [key: string]: unknown;
1072
1144
  }
1073
1145
 
1146
+ /** 配准阶段 */
1147
+ export declare type CalibrationPhase = 'idle' | 'calibrating' | 'confirmed';
1148
+
1149
+ /** 配准结果 */
1150
+ export declare interface CalibrationResult {
1151
+ corners: GeoCorners;
1152
+ extent: [number, number, number, number];
1153
+ }
1154
+
1074
1155
  /**
1075
1156
  * 中国行政区划图层(ChinaDistrict)
1076
1157
  *
@@ -1246,13 +1327,13 @@ export declare interface ControlSchema {
1246
1327
  options?: Record<string, unknown>;
1247
1328
  }
1248
1329
 
1249
- export declare type ControlType = 'zoom' | 'scale' | 'fullscreen' | 'geoLocate' | 'mapTheme' | 'mouseLocation' | 'exportImage' | 'layerSwitch';
1330
+ export declare type ControlType = 'zoom' | 'scale' | 'fullscreen' | 'geoLocate' | 'mapTheme' | 'mouseLocation' | 'exportImage' | 'layerSwitch' | 'draw' | 'imageCalibration';
1250
1331
 
1251
1332
  /**
1252
1333
  * 底图工厂 — 根据配置创建 L7 Map 实例
1253
1334
  * 动态导入各底图模块,避免未使用时打包
1254
1335
  */
1255
- export declare function createBasemap(schema: MapSchema): Promise<default_3 | Mapbox | TMap | TencentMap | BaiduMap | MapLibre | GoogleMap | Map_2>;
1336
+ export declare function createBasemap(schema: MapSchema): Promise<unknown>;
1256
1337
 
1257
1338
  /**
1258
1339
  * 创建 EventBus 实例
@@ -1325,6 +1406,156 @@ export declare const DEFAULT_PROVINCE_SOURCE = "https://mdn.alipayobjects.com/an
1325
1406
  */
1326
1407
  export declare function diffSchema(prev: AiMapSchema, next: AiMapSchema): SchemaDiffResult;
1327
1408
 
1409
+ /** 基础绘制模式(产生要素的模式) */
1410
+ declare type DrawBasicMode = 'point' | 'polyline' | 'polygon' | 'rectangle' | 'circle';
1411
+
1412
+ export declare const DrawControl: default_2.ForwardRefExoticComponent<DrawControlProps & default_2.RefAttributes<DrawControlHandle>>;
1413
+
1414
+ export declare interface DrawControlHandle {
1415
+ setMode: (mode: DrawMode) => void;
1416
+ addFeatures: (features: DrawFeature[]) => void;
1417
+ deleteFeature: (id: string) => void;
1418
+ clearAll: () => void;
1419
+ getFeatures: () => DrawFeature[];
1420
+ selectFeature: (id: string | null) => void;
1421
+ }
1422
+
1423
+ /** DrawControl 组件 Props */
1424
+ export declare interface DrawControlProps {
1425
+ /** 控件位置,默认 topright */
1426
+ position?: L7ControlPosition;
1427
+ /** 初始要素(非受控模式) */
1428
+ defaultFeatures?: DrawFeature[];
1429
+ /** 受控要素 */
1430
+ features?: DrawFeature[];
1431
+ /** 工具栏显示的模式,默认全部显示 */
1432
+ modes?: DrawToolMode[];
1433
+ /** 是否显示删除/清除按钮,默认 true */
1434
+ showDelete?: boolean;
1435
+ /** 自定义样式配置 */
1436
+ styles?: DrawStyleConfig;
1437
+ /** 吸附配置 */
1438
+ snap?: DrawSnapConfig | boolean;
1439
+ className?: string;
1440
+ style?: React.CSSProperties;
1441
+ /** 创建要素回调 */
1442
+ onDrawCreate?: (features: DrawFeature[]) => void;
1443
+ /** 更新要素回调(移动/编辑顶点) */
1444
+ onDrawUpdate?: (feature: DrawFeature) => void;
1445
+ /** 删除要素回调 */
1446
+ onDrawDelete?: (feature: DrawFeature) => void;
1447
+ /** 选中/取消选中要素回调 */
1448
+ onDrawSelect?: (feature: DrawFeature | null) => void;
1449
+ /** 模式切换回调 */
1450
+ onModeChange?: (mode: DrawMode) => void;
1451
+ /** 要素集合变化回调 */
1452
+ onChange?: (features: DrawFeature[]) => void;
1453
+ }
1454
+
1455
+ /** 绘制中的临时图形(rubber-band)样式 */
1456
+ declare interface DrawDrawingStyle {
1457
+ fill?: string;
1458
+ fillOpacity?: number;
1459
+ stroke?: string;
1460
+ strokeWidth?: number;
1461
+ /** 虚线(橡皮筋引导线)颜色 */
1462
+ dashStroke?: string;
1463
+ /** 虚线宽度 */
1464
+ dashWidth?: number;
1465
+ /** 虚线 dash-array 模式 */
1466
+ dashArray?: [number, number];
1467
+ }
1468
+
1469
+ /** 绘制要素(扩展 GeoJSON Feature,携带 id 和 drawType) */
1470
+ export declare interface DrawFeature extends Feature {
1471
+ id: string;
1472
+ properties: {
1473
+ /** 创建该要素的绘制模式 */
1474
+ drawType: DrawGeometryMode;
1475
+ [key: string]: unknown;
1476
+ };
1477
+ }
1478
+
1479
+ /** 绘制模式对应的绘制类型(仅产生要素的模式) */
1480
+ declare type DrawGeometryMode = DrawBasicMode;
1481
+
1482
+ /** 线要素样式 */
1483
+ declare interface DrawLineStyle {
1484
+ color?: string;
1485
+ size?: number;
1486
+ opacity?: number;
1487
+ }
1488
+
1489
+ /** 绘制模式 */
1490
+ export declare type DrawMode = 'point' | 'polyline' | 'polygon' | 'rectangle' | 'circle' | 'edit' | 'split' | 'merge' | 'none';
1491
+
1492
+ /** 点要素样式 */
1493
+ declare interface DrawPointStyle {
1494
+ color?: string;
1495
+ size?: number;
1496
+ strokeColor?: string;
1497
+ strokeWidth?: number;
1498
+ }
1499
+
1500
+ /** 面要素样式 */
1501
+ declare interface DrawPolygonStyle {
1502
+ fill?: string;
1503
+ fillOpacity?: number;
1504
+ stroke?: string;
1505
+ strokeWidth?: number;
1506
+ }
1507
+
1508
+ /** 选中要素高亮样式 */
1509
+ declare interface DrawSelectedStyle {
1510
+ stroke?: string;
1511
+ strokeWidth?: number;
1512
+ fill?: string;
1513
+ fillOpacity?: number;
1514
+ /** 选中边框虚线模式(编辑态) */
1515
+ dashArray?: [number, number];
1516
+ }
1517
+
1518
+ /** 吸附配置 */
1519
+ export declare interface DrawSnapConfig {
1520
+ /** 是否启用吸附,默认 true */
1521
+ enabled?: boolean;
1522
+ /** 吸附像素阈值,默认 8px */
1523
+ threshold?: number;
1524
+ /** 是否启用顶点吸附,默认 true */
1525
+ vertex?: boolean;
1526
+ /** 是否启用边吸附,默认 true */
1527
+ edge?: boolean;
1528
+ }
1529
+
1530
+ /** 绘制控件完整样式配置 */
1531
+ export declare interface DrawStyleConfig {
1532
+ point?: DrawPointStyle;
1533
+ line?: DrawLineStyle;
1534
+ polygon?: DrawPolygonStyle;
1535
+ drawing?: DrawDrawingStyle;
1536
+ selected?: DrawSelectedStyle;
1537
+ vertex?: DrawVertexStyle;
1538
+ }
1539
+
1540
+ /** 工具栏显示的绘制模式(不含 none) */
1541
+ export declare type DrawToolMode = Exclude<DrawMode, 'none'>;
1542
+
1543
+ /** 编辑模式顶点句柄样式 */
1544
+ declare interface DrawVertexStyle {
1545
+ /** 固定点填充色(白色) */
1546
+ color?: string;
1547
+ /** 固定点半径 */
1548
+ size?: number;
1549
+ /** 固定点描边色 */
1550
+ strokeColor?: string;
1551
+ /** 固定点描边宽度 */
1552
+ strokeWidth?: number;
1553
+ /** 活动点(选中/拖拽)颜色 */
1554
+ activeColor?: string;
1555
+ /** 活动点半径 */
1556
+ activeSize?: number;
1557
+ }
1558
+
1328
1559
  /** 下钻路径节点 */
1329
1560
  export declare interface DrillPathNode {
1330
1561
  level: AdministrativeLevel;
@@ -1406,6 +1637,22 @@ export declare interface EventSchema {
1406
1637
  markerDragEnd?: EventIdentifier;
1407
1638
  }
1408
1639
 
1640
+ /** 导出配置 */
1641
+ export declare interface ExportConfig {
1642
+ /** 输出图片总宽度(px),默认原图宽度 */
1643
+ outputWidth?: number;
1644
+ /** 输出图片总高度(px),默认原图高度 */
1645
+ outputHeight?: number;
1646
+ /** 切片列数,默认 1(不切分) */
1647
+ cols?: number;
1648
+ /** 切片行数,默认 1(不切分) */
1649
+ rows?: number;
1650
+ /** 图片格式 */
1651
+ format?: string;
1652
+ /** 图片质量 0-1 */
1653
+ quality?: number;
1654
+ }
1655
+
1409
1656
  export declare function ExportImageControl({ position, format, onExport, className, style, }: ExportImageControlProps): JSX_2.Element;
1410
1657
 
1411
1658
  /**
@@ -1428,6 +1675,28 @@ export declare interface ExportImageControlProps {
1428
1675
  onExport?: (base64: string) => void;
1429
1676
  }
1430
1677
 
1678
+ /** 导出选项(向后兼容) */
1679
+ export declare interface ExportOptions {
1680
+ maxWidth?: number;
1681
+ format?: string;
1682
+ quality?: number;
1683
+ }
1684
+
1685
+ /** 导出结果 */
1686
+ export declare interface ExportResult {
1687
+ /** 切片列表 */
1688
+ tiles: TileResult[];
1689
+ /** 完整图片的总 extent */
1690
+ extent: [number, number, number, number];
1691
+ /** 完整图片的预览 URL */
1692
+ previewUrl: string;
1693
+ /** 完整图片 Blob */
1694
+ blob: Blob;
1695
+ /** 输出尺寸 */
1696
+ outputWidth: number;
1697
+ outputHeight: number;
1698
+ }
1699
+
1431
1700
  declare type FillColorMapping = 'sequential' | 'diverging' | 'categorical';
1432
1701
 
1433
1702
  /**
@@ -1495,6 +1764,26 @@ export declare interface FullscreenControlProps {
1495
1764
  */
1496
1765
  export declare const GAODE_THEME_PRESETS: ThemeOption[];
1497
1766
 
1767
+ /** 4个角点地理坐标 [topLeft, topRight, bottomRight, bottomLeft],每项 [lng, lat] */
1768
+ export declare type GeoCorners = [
1769
+ [
1770
+ number,
1771
+ number
1772
+ ],
1773
+ [
1774
+ number,
1775
+ number
1776
+ ],
1777
+ [
1778
+ number,
1779
+ number
1780
+ ],
1781
+ [
1782
+ number,
1783
+ number
1784
+ ]
1785
+ ];
1786
+
1498
1787
  export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): JSX_2.Element;
1499
1788
 
1500
1789
  /**
@@ -1522,6 +1811,13 @@ export declare interface GestureConfig {
1522
1811
  dragRotate?: boolean;
1523
1812
  }
1524
1813
 
1814
+ /**
1815
+ * 根据控件 position 计算弹出面板的初始方向
1816
+ * - top* → 向下弹出, bottom* → 向上弹出
1817
+ * - left* → 向右弹出, right* → 向左弹出
1818
+ */
1819
+ export declare function getPopperDirection(pos: L7ControlPosition): string;
1820
+
1525
1821
  /**
1526
1822
  * 字体图标标注图层(GlyphLayer)
1527
1823
  *
@@ -1669,6 +1965,12 @@ export { HexagonLayerProps }
1669
1965
  */
1670
1966
  export declare function hexToRgba(hex: string, alpha?: number): string;
1671
1967
 
1968
+ declare interface HighlighterAnnotationProperties extends AnnotationPropertiesBase {
1969
+ annotationType: 'highlighter';
1970
+ strokeWidth?: number;
1971
+ strokeOpacity?: number;
1972
+ }
1973
+
1672
1974
  export declare type IconAnchor = 'center' | 'top' | 'bottom' | 'left' | 'right';
1673
1975
 
1674
1976
  /** 图标锚点位置 */
@@ -1731,6 +2033,72 @@ export declare interface IconLayerProps extends Omit<LayerSchema, 'type' | 'sour
1731
2033
  onMouseLeave?: (payload: LayerEventPayload) => void;
1732
2034
  }
1733
2035
 
2036
+ declare interface ImageAnnotationProperties extends AnnotationPropertiesBase {
2037
+ annotationType: 'image';
2038
+ src: string;
2039
+ alt?: string;
2040
+ width?: number;
2041
+ height?: number;
2042
+ }
2043
+
2044
+ export declare const ImageCalibrationControl: default_2.ForwardRefExoticComponent<ImageCalibrationControlProps & default_2.RefAttributes<ImageCalibrationHandle>>;
2045
+
2046
+ /** ImageCalibrationControl 组件 Props */
2047
+ export declare interface ImageCalibrationControlProps {
2048
+ /** 控件位置 */
2049
+ position?: L7ControlPosition;
2050
+ /** 布局方向,默认 vertical */
2051
+ layout?: 'vertical' | 'horizontal';
2052
+ /** 受控模式:外部传入角点 */
2053
+ corners?: GeoCorners;
2054
+ /** 非受控模式:初始角点 */
2055
+ defaultCorners?: GeoCorners;
2056
+ /** 图片来源 (URL/base64/File) */
2057
+ imageSource?: ImageSource;
2058
+ /** 覆盖层透明度 0-1,默认 0.7 */
2059
+ opacity?: number;
2060
+ /** 接受的文件类型,默认 'image/*' */
2061
+ accept?: string;
2062
+ /** 是否启用图片裁剪功能,默认 true */
2063
+ enableCrop?: boolean;
2064
+ /** 是否启用初始坐标输入功能,默认 true */
2065
+ enableInitialCoords?: boolean;
2066
+ /** 额外 className */
2067
+ className?: string;
2068
+ /** 额外 style */
2069
+ style?: React.CSSProperties;
2070
+ /** 角点变化回调 */
2071
+ onCornersChange?: (corners: GeoCorners) => void;
2072
+ /** 确认配准回调 */
2073
+ onCalibrate?: (result: CalibrationResult) => void;
2074
+ /** 导出完成回调 */
2075
+ onExport?: (result: ExportResult) => void;
2076
+ /** 图片加载完成回调 */
2077
+ onImageLoad?: (dimensions: {
2078
+ width: number;
2079
+ height: number;
2080
+ }) => void;
2081
+ /** 裁剪预处理完成回调,返回裁剪后的尺寸和可选的初始坐标 */
2082
+ onPreprocess?: (result: {
2083
+ croppedDimensions: {
2084
+ width: number;
2085
+ height: number;
2086
+ };
2087
+ initialCorners: GeoCorners | null;
2088
+ }) => void;
2089
+ /** 清除回调 */
2090
+ onClear?: () => void;
2091
+ }
2092
+
2093
+ /** 命令式 Handle */
2094
+ export declare interface ImageCalibrationHandle {
2095
+ getCorners(): GeoCorners | null;
2096
+ setCorners(corners: GeoCorners): void;
2097
+ setImage(source: ImageSource): void;
2098
+ exportImage(config?: ExportConfig): Promise<ExportResult>;
2099
+ clear(): void;
2100
+ }
2101
+
1734
2102
  /**
1735
2103
  * 图片图层组件
1736
2104
  */
@@ -1743,6 +2111,9 @@ export declare interface ImageLayerProps extends Omit<LayerSchema, 'type' | 'sou
1743
2111
  onClick?: (payload: LayerEventPayload) => void;
1744
2112
  }
1745
2113
 
2114
+ /** 图片来源 */
2115
+ declare type ImageSource = string | File;
2116
+
1746
2117
  /**
1747
2118
  * 独立 Map (L7 内置) 主题预设
1748
2119
  */
@@ -2210,6 +2581,12 @@ export declare interface LineLayerProps extends Omit<LayerSchema, 'type' | 'sour
2210
2581
  onLayerCreated?: (layer: any) => void;
2211
2582
  }
2212
2583
 
2584
+ declare interface LinkAnnotationProperties extends AnnotationPropertiesBase {
2585
+ annotationType: 'link';
2586
+ url: string;
2587
+ title?: string;
2588
+ }
2589
+
2213
2590
  export declare function LogoControl({ logos, position, className, style, }: LogoControlProps): JSX_2.Element;
2214
2591
 
2215
2592
  export declare interface LogoControlProps {
@@ -2312,7 +2689,10 @@ declare interface MapSceneRendererProps {
2312
2689
  }
2313
2690
 
2314
2691
  export declare interface MapSchema {
2315
- basemap: BasemapType;
2692
+ /** 底图类型(与 engine 二选一,传 engine 时可省略) */
2693
+ basemap?: BasemapType;
2694
+ /** 外部注入的地图引擎构造函数,跳过动态 import */
2695
+ engine?: new (opts: Record<string, unknown>) => unknown;
2316
2696
  token?: string;
2317
2697
  style?: MapStylePreset | string;
2318
2698
  center?: [number, number];
@@ -2346,6 +2726,12 @@ export declare interface MapThemeControlProps {
2346
2726
 
2347
2727
  export declare function Marker({ longitude, latitude, variant, color, icon, label, content, children, draggable, className, overlayContainer, onClick, onMouseEnter, onMouseLeave, onDoubleClick, onDragEnd, onDragging, onDragStart, selected, inactive, anchor, offsets, overflowHide, }: MarkerProps): null;
2348
2728
 
2729
+ declare interface MarkerAnnotationProperties extends AnnotationPropertiesBase {
2730
+ annotationType: 'marker';
2731
+ icon?: string;
2732
+ label?: string;
2733
+ }
2734
+
2349
2735
  /**
2350
2736
  * Marker 聚合图层(基于 supercluster)
2351
2737
  *
@@ -2518,6 +2904,12 @@ export declare interface MouseLocationControlProps {
2518
2904
  style?: default_2.CSSProperties;
2519
2905
  }
2520
2906
 
2907
+ declare interface NoteAnnotationProperties extends AnnotationPropertiesBase {
2908
+ annotationType: 'note';
2909
+ title: string;
2910
+ body?: string;
2911
+ }
2912
+
2521
2913
  /**
2522
2914
  * Mapbox / Maplibre 主题预设 — 基于 openfreemap 样式
2523
2915
  */
@@ -3035,6 +3427,12 @@ declare interface SourceOutput {
3035
3427
 
3036
3428
  export declare type SourceType = 'geojson' | 'json' | 'csv' | 'raster' | 'rasterTile' | 'image';
3037
3429
 
3430
+ declare interface TextAnnotationProperties extends AnnotationPropertiesBase {
3431
+ annotationType: 'text';
3432
+ text: string;
3433
+ fontSize?: number;
3434
+ }
3435
+
3038
3436
  declare interface ThemeContextValue {
3039
3437
  /** 当前解析后的实际主题(light 或 dark) */
3040
3438
  resolvedTheme: 'light' | 'dark';
@@ -3150,6 +3548,24 @@ export declare interface TiffRasterLayerProps {
3150
3548
  mask?: boolean;
3151
3549
  }
3152
3550
 
3551
+ /** 单个切片结果 */
3552
+ export declare interface TileResult {
3553
+ blob: Blob;
3554
+ previewUrl: string;
3555
+ /** 切片在网格中的行位置(从0开始) */
3556
+ row: number;
3557
+ /** 切片在网格中的列位置(从0开始) */
3558
+ col: number;
3559
+ /** 该切片对应的地理范围 [minLng, minLat, maxLng, maxLat] */
3560
+ extent: [number, number, number, number];
3561
+ /** 四角地理坐标 [TL, TR, BR, BL] */
3562
+ corners: GeoCorners;
3563
+ /** 切片像素宽度 */
3564
+ width: number;
3565
+ /** 切片像素高度 */
3566
+ height: number;
3567
+ }
3568
+
3153
3569
  export declare function Tooltip({ content, variant, longitude, latitude, targetElement, placement, offset, trigger, visible: visibleProp, title, items, overlayContainer, className, }: TooltipProps): default_2.ReactPortal | null;
3154
3570
 
3155
3571
  /**
@@ -3259,6 +3675,19 @@ export declare function useMapControl(position?: L7ControlPosition): {
3259
3675
  */
3260
3676
  export declare function useMapPosition(scene: Scene | null, longitude: number, latitude: number, onPositionUpdate: PositionCallback_2): void;
3261
3677
 
3678
+ /**
3679
+ * Popper 弹出方向 Hook —— 根据控件 position 给出初始方向,
3680
+ * 弹出后检测视口溢出并自动翻转。
3681
+ *
3682
+ * 返回 { popperRef, popperClass }
3683
+ * - popperRef:挂到弹出容器 div 上
3684
+ * - popperClass:当前计算出的 CSS class 字符串
3685
+ */
3686
+ export declare function usePopperPosition(position: L7ControlPosition, open: boolean, anchorRef: React.RefObject<HTMLElement | null>): {
3687
+ popperRef: RefObject<HTMLDivElement>;
3688
+ popperClass: string;
3689
+ };
3690
+
3262
3691
  export declare function useResponsive(): ResponsiveContextValue;
3263
3692
 
3264
3693
  export declare function useScene(): Scene | null;
@@ -3290,6 +3719,13 @@ export declare interface ValidationError {
3290
3719
  severity: 'error' | 'warning';
3291
3720
  }
3292
3721
 
3722
+ declare interface VideoAnnotationProperties extends AnnotationPropertiesBase {
3723
+ annotationType: 'video';
3724
+ url: string;
3725
+ thumbnailUrl?: string;
3726
+ title?: string;
3727
+ }
3728
+
3293
3729
  declare interface VisualConfig {
3294
3730
  color?: ColorConfig;
3295
3731
  size?: SizeConfig;