@antv/aimapui 0.2.2 → 0.3.0

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
@@ -2,6 +2,7 @@ import { BaiduMap } from '@antv/l7-maps';
2
2
  import { Component } from 'react';
3
3
  import { default as default_2 } from 'react';
4
4
  import { default as default_3 } from 'node_modules/@antv/l7-maps/es/amap-next';
5
+ import { Feature } from 'geojson';
5
6
  import { GoogleMap } from '@antv/l7-maps';
6
7
  import { JSX as JSX_2 } from 'react/jsx-runtime';
7
8
  import { Map as Map_2 } from '@antv/l7-maps';
@@ -1071,6 +1072,15 @@ export declare interface BusinessDataItem {
1071
1072
  [key: string]: unknown;
1072
1073
  }
1073
1074
 
1075
+ /** 配准阶段 */
1076
+ export declare type CalibrationPhase = 'idle' | 'calibrating' | 'confirmed';
1077
+
1078
+ /** 配准结果 */
1079
+ export declare interface CalibrationResult {
1080
+ corners: GeoCorners;
1081
+ extent: [number, number, number, number];
1082
+ }
1083
+
1074
1084
  /**
1075
1085
  * 中国行政区划图层(ChinaDistrict)
1076
1086
  *
@@ -1246,7 +1256,7 @@ export declare interface ControlSchema {
1246
1256
  options?: Record<string, unknown>;
1247
1257
  }
1248
1258
 
1249
- export declare type ControlType = 'zoom' | 'scale' | 'fullscreen' | 'geoLocate' | 'mapTheme' | 'mouseLocation' | 'exportImage' | 'layerSwitch';
1259
+ export declare type ControlType = 'zoom' | 'scale' | 'fullscreen' | 'geoLocate' | 'mapTheme' | 'mouseLocation' | 'exportImage' | 'layerSwitch' | 'draw' | 'imageCalibration';
1250
1260
 
1251
1261
  /**
1252
1262
  * 底图工厂 — 根据配置创建 L7 Map 实例
@@ -1325,6 +1335,156 @@ export declare const DEFAULT_PROVINCE_SOURCE = "https://mdn.alipayobjects.com/an
1325
1335
  */
1326
1336
  export declare function diffSchema(prev: AiMapSchema, next: AiMapSchema): SchemaDiffResult;
1327
1337
 
1338
+ /** 基础绘制模式(产生要素的模式) */
1339
+ declare type DrawBasicMode = 'point' | 'polyline' | 'polygon' | 'rectangle' | 'circle';
1340
+
1341
+ export declare const DrawControl: default_2.ForwardRefExoticComponent<DrawControlProps & default_2.RefAttributes<DrawControlHandle>>;
1342
+
1343
+ export declare interface DrawControlHandle {
1344
+ setMode: (mode: DrawMode) => void;
1345
+ addFeatures: (features: DrawFeature[]) => void;
1346
+ deleteFeature: (id: string) => void;
1347
+ clearAll: () => void;
1348
+ getFeatures: () => DrawFeature[];
1349
+ selectFeature: (id: string | null) => void;
1350
+ }
1351
+
1352
+ /** DrawControl 组件 Props */
1353
+ export declare interface DrawControlProps {
1354
+ /** 控件位置,默认 topright */
1355
+ position?: L7ControlPosition;
1356
+ /** 初始要素(非受控模式) */
1357
+ defaultFeatures?: DrawFeature[];
1358
+ /** 受控要素 */
1359
+ features?: DrawFeature[];
1360
+ /** 工具栏显示的模式,默认全部显示 */
1361
+ modes?: DrawToolMode[];
1362
+ /** 是否显示删除/清除按钮,默认 true */
1363
+ showDelete?: boolean;
1364
+ /** 自定义样式配置 */
1365
+ styles?: DrawStyleConfig;
1366
+ /** 吸附配置 */
1367
+ snap?: DrawSnapConfig | boolean;
1368
+ className?: string;
1369
+ style?: React.CSSProperties;
1370
+ /** 创建要素回调 */
1371
+ onDrawCreate?: (features: DrawFeature[]) => void;
1372
+ /** 更新要素回调(移动/编辑顶点) */
1373
+ onDrawUpdate?: (feature: DrawFeature) => void;
1374
+ /** 删除要素回调 */
1375
+ onDrawDelete?: (feature: DrawFeature) => void;
1376
+ /** 选中/取消选中要素回调 */
1377
+ onDrawSelect?: (feature: DrawFeature | null) => void;
1378
+ /** 模式切换回调 */
1379
+ onModeChange?: (mode: DrawMode) => void;
1380
+ /** 要素集合变化回调 */
1381
+ onChange?: (features: DrawFeature[]) => void;
1382
+ }
1383
+
1384
+ /** 绘制中的临时图形(rubber-band)样式 */
1385
+ declare interface DrawDrawingStyle {
1386
+ fill?: string;
1387
+ fillOpacity?: number;
1388
+ stroke?: string;
1389
+ strokeWidth?: number;
1390
+ /** 虚线(橡皮筋引导线)颜色 */
1391
+ dashStroke?: string;
1392
+ /** 虚线宽度 */
1393
+ dashWidth?: number;
1394
+ /** 虚线 dash-array 模式 */
1395
+ dashArray?: [number, number];
1396
+ }
1397
+
1398
+ /** 绘制要素(扩展 GeoJSON Feature,携带 id 和 drawType) */
1399
+ export declare interface DrawFeature extends Feature {
1400
+ id: string;
1401
+ properties: {
1402
+ /** 创建该要素的绘制模式 */
1403
+ drawType: DrawGeometryMode;
1404
+ [key: string]: unknown;
1405
+ };
1406
+ }
1407
+
1408
+ /** 绘制模式对应的绘制类型(仅产生要素的模式) */
1409
+ declare type DrawGeometryMode = DrawBasicMode;
1410
+
1411
+ /** 线要素样式 */
1412
+ declare interface DrawLineStyle {
1413
+ color?: string;
1414
+ size?: number;
1415
+ opacity?: number;
1416
+ }
1417
+
1418
+ /** 绘制模式 */
1419
+ export declare type DrawMode = 'point' | 'polyline' | 'polygon' | 'rectangle' | 'circle' | 'edit' | 'split' | 'merge' | 'none';
1420
+
1421
+ /** 点要素样式 */
1422
+ declare interface DrawPointStyle {
1423
+ color?: string;
1424
+ size?: number;
1425
+ strokeColor?: string;
1426
+ strokeWidth?: number;
1427
+ }
1428
+
1429
+ /** 面要素样式 */
1430
+ declare interface DrawPolygonStyle {
1431
+ fill?: string;
1432
+ fillOpacity?: number;
1433
+ stroke?: string;
1434
+ strokeWidth?: number;
1435
+ }
1436
+
1437
+ /** 选中要素高亮样式 */
1438
+ declare interface DrawSelectedStyle {
1439
+ stroke?: string;
1440
+ strokeWidth?: number;
1441
+ fill?: string;
1442
+ fillOpacity?: number;
1443
+ /** 选中边框虚线模式(编辑态) */
1444
+ dashArray?: [number, number];
1445
+ }
1446
+
1447
+ /** 吸附配置 */
1448
+ export declare interface DrawSnapConfig {
1449
+ /** 是否启用吸附,默认 true */
1450
+ enabled?: boolean;
1451
+ /** 吸附像素阈值,默认 8px */
1452
+ threshold?: number;
1453
+ /** 是否启用顶点吸附,默认 true */
1454
+ vertex?: boolean;
1455
+ /** 是否启用边吸附,默认 true */
1456
+ edge?: boolean;
1457
+ }
1458
+
1459
+ /** 绘制控件完整样式配置 */
1460
+ export declare interface DrawStyleConfig {
1461
+ point?: DrawPointStyle;
1462
+ line?: DrawLineStyle;
1463
+ polygon?: DrawPolygonStyle;
1464
+ drawing?: DrawDrawingStyle;
1465
+ selected?: DrawSelectedStyle;
1466
+ vertex?: DrawVertexStyle;
1467
+ }
1468
+
1469
+ /** 工具栏显示的绘制模式(不含 none) */
1470
+ export declare type DrawToolMode = Exclude<DrawMode, 'none'>;
1471
+
1472
+ /** 编辑模式顶点句柄样式 */
1473
+ declare interface DrawVertexStyle {
1474
+ /** 固定点填充色(白色) */
1475
+ color?: string;
1476
+ /** 固定点半径 */
1477
+ size?: number;
1478
+ /** 固定点描边色 */
1479
+ strokeColor?: string;
1480
+ /** 固定点描边宽度 */
1481
+ strokeWidth?: number;
1482
+ /** 活动点(选中/拖拽)颜色 */
1483
+ activeColor?: string;
1484
+ /** 活动点半径 */
1485
+ activeSize?: number;
1486
+ }
1487
+
1328
1488
  /** 下钻路径节点 */
1329
1489
  export declare interface DrillPathNode {
1330
1490
  level: AdministrativeLevel;
@@ -1406,6 +1566,22 @@ export declare interface EventSchema {
1406
1566
  markerDragEnd?: EventIdentifier;
1407
1567
  }
1408
1568
 
1569
+ /** 导出配置 */
1570
+ export declare interface ExportConfig {
1571
+ /** 输出图片总宽度(px),默认原图宽度 */
1572
+ outputWidth?: number;
1573
+ /** 输出图片总高度(px),默认原图高度 */
1574
+ outputHeight?: number;
1575
+ /** 切片列数,默认 1(不切分) */
1576
+ cols?: number;
1577
+ /** 切片行数,默认 1(不切分) */
1578
+ rows?: number;
1579
+ /** 图片格式 */
1580
+ format?: string;
1581
+ /** 图片质量 0-1 */
1582
+ quality?: number;
1583
+ }
1584
+
1409
1585
  export declare function ExportImageControl({ position, format, onExport, className, style, }: ExportImageControlProps): JSX_2.Element;
1410
1586
 
1411
1587
  /**
@@ -1428,6 +1604,28 @@ export declare interface ExportImageControlProps {
1428
1604
  onExport?: (base64: string) => void;
1429
1605
  }
1430
1606
 
1607
+ /** 导出选项(向后兼容) */
1608
+ export declare interface ExportOptions {
1609
+ maxWidth?: number;
1610
+ format?: string;
1611
+ quality?: number;
1612
+ }
1613
+
1614
+ /** 导出结果 */
1615
+ export declare interface ExportResult {
1616
+ /** 切片列表 */
1617
+ tiles: TileResult[];
1618
+ /** 完整图片的总 extent */
1619
+ extent: [number, number, number, number];
1620
+ /** 完整图片的预览 URL */
1621
+ previewUrl: string;
1622
+ /** 完整图片 Blob */
1623
+ blob: Blob;
1624
+ /** 输出尺寸 */
1625
+ outputWidth: number;
1626
+ outputHeight: number;
1627
+ }
1628
+
1431
1629
  declare type FillColorMapping = 'sequential' | 'diverging' | 'categorical';
1432
1630
 
1433
1631
  /**
@@ -1495,6 +1693,26 @@ export declare interface FullscreenControlProps {
1495
1693
  */
1496
1694
  export declare const GAODE_THEME_PRESETS: ThemeOption[];
1497
1695
 
1696
+ /** 4个角点地理坐标 [topLeft, topRight, bottomRight, bottomLeft],每项 [lng, lat] */
1697
+ export declare type GeoCorners = [
1698
+ [
1699
+ number,
1700
+ number
1701
+ ],
1702
+ [
1703
+ number,
1704
+ number
1705
+ ],
1706
+ [
1707
+ number,
1708
+ number
1709
+ ],
1710
+ [
1711
+ number,
1712
+ number
1713
+ ]
1714
+ ];
1715
+
1498
1716
  export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): JSX_2.Element;
1499
1717
 
1500
1718
  /**
@@ -1731,6 +1949,50 @@ export declare interface IconLayerProps extends Omit<LayerSchema, 'type' | 'sour
1731
1949
  onMouseLeave?: (payload: LayerEventPayload) => void;
1732
1950
  }
1733
1951
 
1952
+ export declare const ImageCalibrationControl: default_2.ForwardRefExoticComponent<ImageCalibrationControlProps & default_2.RefAttributes<ImageCalibrationHandle>>;
1953
+
1954
+ /** ImageCalibrationControl 组件 Props */
1955
+ export declare interface ImageCalibrationControlProps {
1956
+ /** 控件位置 */
1957
+ position?: L7ControlPosition;
1958
+ /** 受控模式:外部传入角点 */
1959
+ corners?: GeoCorners;
1960
+ /** 非受控模式:初始角点 */
1961
+ defaultCorners?: GeoCorners;
1962
+ /** 图片来源 (URL/base64/File) */
1963
+ imageSource?: ImageSource;
1964
+ /** 覆盖层透明度 0-1,默认 0.7 */
1965
+ opacity?: number;
1966
+ /** 接受的文件类型,默认 'image/*' */
1967
+ accept?: string;
1968
+ /** 额外 className */
1969
+ className?: string;
1970
+ /** 额外 style */
1971
+ style?: React.CSSProperties;
1972
+ /** 角点变化回调 */
1973
+ onCornersChange?: (corners: GeoCorners) => void;
1974
+ /** 确认配准回调 */
1975
+ onCalibrate?: (result: CalibrationResult) => void;
1976
+ /** 导出完成回调 */
1977
+ onExport?: (result: ExportResult) => void;
1978
+ /** 图片加载完成回调 */
1979
+ onImageLoad?: (dimensions: {
1980
+ width: number;
1981
+ height: number;
1982
+ }) => void;
1983
+ /** 清除回调 */
1984
+ onClear?: () => void;
1985
+ }
1986
+
1987
+ /** 命令式 Handle */
1988
+ export declare interface ImageCalibrationHandle {
1989
+ getCorners(): GeoCorners | null;
1990
+ setCorners(corners: GeoCorners): void;
1991
+ setImage(source: ImageSource): void;
1992
+ exportImage(config?: ExportConfig): Promise<ExportResult>;
1993
+ clear(): void;
1994
+ }
1995
+
1734
1996
  /**
1735
1997
  * 图片图层组件
1736
1998
  */
@@ -1743,6 +2005,9 @@ export declare interface ImageLayerProps extends Omit<LayerSchema, 'type' | 'sou
1743
2005
  onClick?: (payload: LayerEventPayload) => void;
1744
2006
  }
1745
2007
 
2008
+ /** 图片来源 */
2009
+ declare type ImageSource = string | File;
2010
+
1746
2011
  /**
1747
2012
  * 独立 Map (L7 内置) 主题预设
1748
2013
  */
@@ -3150,6 +3415,24 @@ export declare interface TiffRasterLayerProps {
3150
3415
  mask?: boolean;
3151
3416
  }
3152
3417
 
3418
+ /** 单个切片结果 */
3419
+ export declare interface TileResult {
3420
+ blob: Blob;
3421
+ previewUrl: string;
3422
+ /** 切片在网格中的行位置(从0开始) */
3423
+ row: number;
3424
+ /** 切片在网格中的列位置(从0开始) */
3425
+ col: number;
3426
+ /** 该切片对应的地理范围 [minLng, minLat, maxLng, maxLat] */
3427
+ extent: [number, number, number, number];
3428
+ /** 四角地理坐标 [TL, TR, BR, BL] */
3429
+ corners: GeoCorners;
3430
+ /** 切片像素宽度 */
3431
+ width: number;
3432
+ /** 切片像素高度 */
3433
+ height: number;
3434
+ }
3435
+
3153
3436
  export declare function Tooltip({ content, variant, longitude, latitude, targetElement, placement, offset, trigger, visible: visibleProp, title, items, overlayContainer, className, }: TooltipProps): default_2.ReactPortal | null;
3154
3437
 
3155
3438
  /**