@antv/aimapui 0.2.1 → 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';
@@ -885,7 +886,7 @@ export declare interface ArcFlowDataItem {
885
886
  * />
886
887
  * ```
887
888
  */
888
- 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, activeColor, onArcHover, onArcClick, onNodeClick, style: extraStyle, }: ArcFlowLayerProps): JSX_2.Element;
889
+ 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;
889
890
 
890
891
  export declare interface ArcFlowLayerProps {
891
892
  /** OD 数据源 — JSON 数组 */
@@ -939,6 +940,10 @@ export declare interface ArcFlowLayerProps {
939
940
  nodeSizeRange?: [number, number];
940
941
  /** 是否显示节点呼吸脉冲动画,默认 false */
941
942
  nodePulse?: boolean;
943
+ /** 是否在 hover 弧线时显示 Tooltip,默认 true */
944
+ showTooltip?: boolean;
945
+ /** 是否在点击节点时显示 Popup,默认 true */
946
+ showNodePopup?: boolean;
942
947
  /** hover 高亮色 */
943
948
  activeColor?: string;
944
949
  /** 弧线 hover 事件 */
@@ -1059,12 +1064,6 @@ export declare interface BubbleLayerProps extends Omit<LayerSchema, 'type' | 'so
1059
1064
  onMouseLeave?: (payload: LayerEventPayload) => void;
1060
1065
  }
1061
1066
 
1062
- /**
1063
- * 内置天气 iconfont 图标映射(at.alicdn.com 字体)
1064
- * key 为语义化名称,value 为 HTML 实体格式的 iconfont unicode(&#xHEX;)
1065
- */
1066
- export declare const BUILTIN_ICON_FONTS: Array<[string, string]>;
1067
-
1068
1067
  /** 业务数据匹配项 */
1069
1068
  export declare interface BusinessDataItem {
1070
1069
  name?: string;
@@ -1073,6 +1072,15 @@ export declare interface BusinessDataItem {
1073
1072
  [key: string]: unknown;
1074
1073
  }
1075
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
+
1076
1084
  /**
1077
1085
  * 中国行政区划图层(ChinaDistrict)
1078
1086
  *
@@ -1248,7 +1256,7 @@ export declare interface ControlSchema {
1248
1256
  options?: Record<string, unknown>;
1249
1257
  }
1250
1258
 
1251
- 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';
1252
1260
 
1253
1261
  /**
1254
1262
  * 底图工厂 — 根据配置创建 L7 Map 实例
@@ -1327,6 +1335,156 @@ export declare const DEFAULT_PROVINCE_SOURCE = "https://mdn.alipayobjects.com/an
1327
1335
  */
1328
1336
  export declare function diffSchema(prev: AiMapSchema, next: AiMapSchema): SchemaDiffResult;
1329
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
+
1330
1488
  /** 下钻路径节点 */
1331
1489
  export declare interface DrillPathNode {
1332
1490
  level: AdministrativeLevel;
@@ -1408,6 +1566,22 @@ export declare interface EventSchema {
1408
1566
  markerDragEnd?: EventIdentifier;
1409
1567
  }
1410
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
+
1411
1585
  export declare function ExportImageControl({ position, format, onExport, className, style, }: ExportImageControlProps): JSX_2.Element;
1412
1586
 
1413
1587
  /**
@@ -1430,12 +1604,34 @@ export declare interface ExportImageControlProps {
1430
1604
  onExport?: (base64: string) => void;
1431
1605
  }
1432
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
+
1433
1629
  declare type FillColorMapping = 'sequential' | 'diverging' | 'categorical';
1434
1630
 
1435
1631
  /**
1436
1632
  * 填充图组件(填充 + 描边 + 文字)
1437
1633
  */
1438
- export declare function FillLayer({ source, sourceType, colorMapping, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, stickySelection, tooltipEffect, tooltipFields, tooltipTemplate, regionIdField, highlightStrokeColor, highlightStrokeWidth, zoomToRegionOnClick, clickZoomPadding, clickZoomDelta, onRegionClick, onDrilldown, showLabel, labelField, labelColor, labelSize, labelAreaThreshold, labelHaloWidth, minLabelZoom, valueField, percentageField, nameField, color, colorField, colorValues, active, select, events, style, ...rest }: FillLayerProps): JSX_2.Element;
1634
+ 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;
1439
1635
 
1440
1636
  export declare interface FillLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1441
1637
  source: LayerSchema['source'];
@@ -1458,6 +1654,7 @@ export declare interface FillLayerProps extends Omit<LayerSchema, 'type' | 'sour
1458
1654
  clickZoomDelta?: number;
1459
1655
  onRegionClick?: (payload: LayerEventPayload) => void;
1460
1656
  onDrilldown?: (feature: Record<string, unknown>) => void;
1657
+ onLayerCreated?: (layer: any) => void;
1461
1658
  showLabel?: boolean;
1462
1659
  labelField?: string;
1463
1660
  labelColor?: string;
@@ -1496,6 +1693,26 @@ export declare interface FullscreenControlProps {
1496
1693
  */
1497
1694
  export declare const GAODE_THEME_PRESETS: ThemeOption[];
1498
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
+
1499
1716
  export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): JSX_2.Element;
1500
1717
 
1501
1718
  /**
@@ -1528,8 +1745,7 @@ export declare interface GestureConfig {
1528
1745
  *
1529
1746
  * 支持 Material Symbols Outlined 及自定义 iconfont 字体:
1530
1747
  * - Material Symbols: 页面已加载 Google 字体,组件自动注册映射表,开箱即用
1531
- * - 内置 iconfont: at.alicdn.com 天气字体,内置 5 个图标
1532
- * - 自定义: 传入 iconFontFamily + iconFontPath + iconFontMap
1748
+ * - 自定义: 传入 iconFontFamily + iconFontPath + iconFontMap(通过 scene.addFontFace / addIconFonts 注册)
1533
1749
  *
1534
1750
  * 特性:
1535
1751
  * - SDF 渲染确保任意缩放下边缘锐利
@@ -1549,13 +1765,13 @@ export declare interface GlyphLayerProps extends Omit<LayerSchema, 'type' | 'sou
1549
1765
  /**
1550
1766
  * 字体族模式
1551
1767
  * - 'material-symbols'(默认):使用 Material Symbols Outlined 字体,图标名需使用官方名称(如 sunny / flight / restaurant)
1552
- * - 'iconfont':使用 at.alicdn.com 内置 iconfont 字体,图标名需使用 BUILTIN_ICON_FONTS 中的名称
1553
1768
  * - 自定义字符串:自行通过 scene.addFontFace / addIconFonts 注册的字体族名
1769
+ * @deprecated 不再使用 'iconfont' 值指向 alicdn 天气字体,请使用 Material Symbols 中的天气图标或自定义字体
1554
1770
  */
1555
1771
  iconFontFamily?: string;
1556
1772
  /**
1557
1773
  * 自定义字体文件 URL,仅在 iconFontFamily 为自定义字符串时需要
1558
- * Material Symbols 自动从页面已加载的字体中获取;iconfont 使用内置 URL
1774
+ * Material Symbols 自动从页面已加载的字体中获取
1559
1775
  */
1560
1776
  iconFontPath?: string;
1561
1777
  /**
@@ -1628,7 +1844,7 @@ export declare interface GlyphLayerProps extends Omit<LayerSchema, 'type' | 'sou
1628
1844
  *
1629
1845
  * 支持悬停高亮交互(对齐蜂窝热力图设计规范)
1630
1846
  */
1631
- export declare function HeatmapLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: HeatmapLayerProps): JSX_2.Element | null;
1847
+ export declare function HeatmapLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: HeatmapLayerProps): JSX_2.Element | null;
1632
1848
 
1633
1849
  export declare interface HeatmapLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1634
1850
  source: LayerSchema['source'];
@@ -1642,6 +1858,8 @@ export declare interface HeatmapLayerProps extends Omit<LayerSchema, 'type' | 's
1642
1858
  onMouseEnter?: (payload: LayerEventPayload) => void;
1643
1859
  /** 鼠标离开事件 */
1644
1860
  onMouseLeave?: (payload: LayerEventPayload) => void;
1861
+ /** L7 图层实例创建回调 */
1862
+ onLayerCreated?: (layer: any) => void;
1645
1863
  }
1646
1864
 
1647
1865
  /**
@@ -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
  */
@@ -1925,6 +2190,15 @@ export declare interface LegendCategoriesSchema {
1925
2190
  grid?: boolean;
1926
2191
  }
1927
2192
 
2193
+ export declare function LegendControl({ position, className, style, children, }: LegendControlProps): JSX_2.Element | null;
2194
+
2195
+ export declare interface LegendControlProps {
2196
+ position?: L7ControlPosition;
2197
+ className?: string;
2198
+ style?: default_2.CSSProperties;
2199
+ children?: default_2.ReactNode;
2200
+ }
2201
+
1928
2202
  /**
1929
2203
  * 发散图例 — 双极渐变色条
1930
2204
  *
@@ -2188,7 +2462,7 @@ export declare interface LegendThresholdSchema {
2188
2462
  * </AiMap>
2189
2463
  * ```
2190
2464
  */
2191
- export declare function LineLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: LineLayerProps): JSX_2.Element | null;
2465
+ export declare function LineLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: LineLayerProps): JSX_2.Element | null;
2192
2466
 
2193
2467
  export declare interface LineLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2194
2468
  source: LayerSchema['source'];
@@ -2198,6 +2472,39 @@ export declare interface LineLayerProps extends Omit<LayerSchema, 'type' | 'sour
2198
2472
  onMouseMove?: (payload: LayerEventPayload) => void;
2199
2473
  onMouseEnter?: (payload: LayerEventPayload) => void;
2200
2474
  onMouseLeave?: (payload: LayerEventPayload) => void;
2475
+ onLayerCreated?: (layer: any) => void;
2476
+ }
2477
+
2478
+ export declare function LogoControl({ logos, position, className, style, }: LogoControlProps): JSX_2.Element;
2479
+
2480
+ export declare interface LogoControlProps {
2481
+ /** Logo 列表,支持多张 */
2482
+ logos: LogoItem[];
2483
+ /** 控件位置,默认 bottomleft */
2484
+ position?: L7ControlPosition;
2485
+ /** 额外 className */
2486
+ className?: string;
2487
+ /** 额外 style */
2488
+ style?: default_2.CSSProperties;
2489
+ }
2490
+
2491
+ /**
2492
+ * Logo 控件 — 在地图角落展示品牌/项目 Logo
2493
+ *
2494
+ * 支持传入单张或多张 Logo 图片,水平排列:
2495
+ * - logos: Logo 配置数组,每项包含 src(图片地址)和可选的 alt、href、width
2496
+ * - position: 控件位置,默认 bottomleft
2497
+ * - 玻璃态风格,与 ZoomControl / ScaleControl 等视觉一致
2498
+ */
2499
+ export declare interface LogoItem {
2500
+ /** 图片地址 */
2501
+ src: string;
2502
+ /** 图片 alt 文本 */
2503
+ alt?: string;
2504
+ /** 点击跳转链接 */
2505
+ href?: string;
2506
+ /** 图片宽度(px),默认 24 */
2507
+ width?: number;
2201
2508
  }
2202
2509
 
2203
2510
  export declare const MAKI_ICON_NAMES: string[];
@@ -2495,7 +2802,7 @@ export declare function parseSchema(schema: AiMapSchema): AiMapSchema;
2495
2802
  * </AiMap>
2496
2803
  * ```
2497
2804
  */
2498
- export declare function PointLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: PointLayerProps): JSX_2.Element | null;
2805
+ export declare function PointLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PointLayerProps): JSX_2.Element | null;
2499
2806
 
2500
2807
  export declare interface PointLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2501
2808
  /** 数据源 — JSON 数组、GeoJSON 或 URL */
@@ -2512,12 +2819,14 @@ export declare interface PointLayerProps extends Omit<LayerSchema, 'type' | 'sou
2512
2819
  onMouseEnter?: (payload: LayerEventPayload) => void;
2513
2820
  /** 鼠标离开事件 */
2514
2821
  onMouseLeave?: (payload: LayerEventPayload) => void;
2822
+ /** L7 图层实例创建回调 */
2823
+ onLayerCreated?: (layer: any) => void;
2515
2824
  }
2516
2825
 
2517
2826
  /**
2518
2827
  * 面图层组件
2519
2828
  */
2520
- export declare function PolygonLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: PolygonLayerProps): JSX_2.Element | null;
2829
+ export declare function PolygonLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PolygonLayerProps): JSX_2.Element | null;
2521
2830
 
2522
2831
  export declare interface PolygonLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2523
2832
  source: LayerSchema['source'];
@@ -2527,6 +2836,7 @@ export declare interface PolygonLayerProps extends Omit<LayerSchema, 'type' | 's
2527
2836
  onMouseMove?: (payload: LayerEventPayload) => void;
2528
2837
  onMouseEnter?: (payload: LayerEventPayload) => void;
2529
2838
  onMouseLeave?: (payload: LayerEventPayload) => void;
2839
+ onLayerCreated?: (layer: any) => void;
2530
2840
  }
2531
2841
 
2532
2842
  export declare function Popup({ longitude, latitude, content, closeButton, size, placement: placementProp, offset, header, attributes, actions, visible: visibleProp, singleton, overlayContainer, onClose, className, }: PopupProps): default_2.ReactPortal | null;
@@ -2715,7 +3025,7 @@ export declare interface ResponsiveSchema {
2715
3025
  * />
2716
3026
  * ```
2717
3027
  */
2718
- export declare function RouteLayer({ path, segments, stops, color, lineWidth, opacity, glow, animate, animateSpeed, stopSize, stopColor, endColor, showStopIndex, activeColor, onPathClick, onStopClick, }: RouteLayerProps): JSX_2.Element | null;
3028
+ export declare function RouteLayer({ path, segments, stops, routeType, onRouteQuery, onRouteResult, color, lineWidth, opacity, glow, animate, animateSpeed, stopSize, stopColor, endColor, showStopIndex, stopRenderer, stopMarkerVariant, stopIconMap, stopIconField, stopIconSize, stopIconAnchor, showStopPopup, activeColor, onPathClick, onStopClick, }: RouteLayerProps): JSX_2.Element | null;
2719
3029
 
2720
3030
  export declare interface RouteLayerProps {
2721
3031
  /** 路径坐标 — 完整线坐标或分段 */
@@ -2724,6 +3034,12 @@ export declare interface RouteLayerProps {
2724
3034
  segments?: RouteSegment[];
2725
3035
  /** 途经点列表 */
2726
3036
  stops?: RouteStop[];
3037
+ /** 路径类型,默认 'straight' */
3038
+ routeType?: RouteType;
3039
+ /** 路线查询回调 — routeType 为 walking/cycling/driving/transit 时使用 */
3040
+ onRouteQuery?: (params: RouteQueryParams) => Promise<RouteQueryResult>;
3041
+ /** 路线查询完成回调 */
3042
+ onRouteResult?: (result: RouteQueryResult) => void;
2727
3043
  /** 路径颜色,默认 '#2563eb' */
2728
3044
  color?: string;
2729
3045
  /** 路径宽度,默认 4 */
@@ -2744,6 +3060,20 @@ export declare interface RouteLayerProps {
2744
3060
  endColor?: string;
2745
3061
  /** 是否显示途经点序号,默认 true */
2746
3062
  showStopIndex?: boolean;
3063
+ /** 停留点渲染模式,默认 'point' */
3064
+ stopRenderer?: 'point' | 'marker' | 'icon';
3065
+ /** marker 模式下的默认变体,默认 'circle' */
3066
+ stopMarkerVariant?: MarkerVariant;
3067
+ /** icon 模式下的图标资源映射;不传时会基于 stop.icon 自动生成 Maki pin 图标 */
3068
+ stopIconMap?: Record<string, string>;
3069
+ /** icon 模式下的图标字段名,默认 'iconValue' */
3070
+ stopIconField?: string;
3071
+ /** icon 模式下的图标尺寸,默认 16 */
3072
+ stopIconSize?: number;
3073
+ /** icon 模式下的图标锚点,默认 'bottom' */
3074
+ stopIconAnchor?: IconAnchor;
3075
+ /** 是否在点击途经点时显示 Popup,默认 true */
3076
+ showStopPopup?: boolean;
2747
3077
  /** hover 高亮色 */
2748
3078
  activeColor?: string;
2749
3079
  /** 路径点击 */
@@ -2752,6 +3082,30 @@ export declare interface RouteLayerProps {
2752
3082
  onStopClick?: (payload: LayerEventPayload) => void;
2753
3083
  }
2754
3084
 
3085
+ /** 交通路线查询参数 */
3086
+ export declare interface RouteQueryParams {
3087
+ origin: [number, number];
3088
+ destination: [number, number];
3089
+ waypoints?: [number, number][];
3090
+ routeType: 'walking' | 'cycling' | 'driving' | 'transit';
3091
+ }
3092
+
3093
+ /** 交通路线查询结果 */
3094
+ export declare interface RouteQueryResult {
3095
+ /** 完整路径坐标 */
3096
+ path: [number, number][];
3097
+ /** 分段路径(可选,如返回多段路况着色路径) */
3098
+ segments?: RouteSegment[];
3099
+ /** 途中补充站点(可选,如公交换乘站) */
3100
+ stops?: RouteStop[];
3101
+ /** 路线信息 */
3102
+ info?: {
3103
+ distance?: number;
3104
+ duration?: number;
3105
+ description?: string;
3106
+ };
3107
+ }
3108
+
2755
3109
  /**
2756
3110
  * 路径分段数据
2757
3111
  */
@@ -2778,8 +3132,17 @@ export declare interface RouteStop {
2778
3132
  index?: number;
2779
3133
  /** 类型:start / end / waypoint */
2780
3134
  type?: 'start' | 'end' | 'waypoint';
3135
+ /** 停留点图标名,供 stopRenderer='icon' 或 marker icon 变体使用 */
3136
+ icon?: string;
3137
+ /** marker 模式下的自定义变体 */
3138
+ markerVariant?: MarkerVariant;
3139
+ /** marker 模式下的语义颜色 */
3140
+ markerColor?: MarkerColor;
2781
3141
  }
2782
3142
 
3143
+ /** 路径类型 */
3144
+ export declare type RouteType = 'straight' | 'arc' | 'walking' | 'cycling' | 'driving' | 'transit';
3145
+
2783
3146
  /** 提供商显示名称 */
2784
3147
  export declare const SATELLITE_PROVIDER_NAMES: Record<SatelliteProvider, string>;
2785
3148
 
@@ -3052,6 +3415,24 @@ export declare interface TiffRasterLayerProps {
3052
3415
  mask?: boolean;
3053
3416
  }
3054
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
+
3055
3436
  export declare function Tooltip({ content, variant, longitude, latitude, targetElement, placement, offset, trigger, visible: visibleProp, title, items, overlayContainer, className, }: TooltipProps): default_2.ReactPortal | null;
3056
3437
 
3057
3438
  /**