diff --git a/packages/composite-layers/package.json b/packages/composite-layers/package.json index 3f35d3e36..40ba0f49b 100644 --- a/packages/composite-layers/package.json +++ b/packages/composite-layers/package.json @@ -42,10 +42,10 @@ "@antv/util": "^2.0.14" }, "devDependencies": { - "@antv/l7": "^2.9.14" + "@antv/l7": "^2.9.37" }, "peerDependencies": { - "@antv/l7": "^2.9.14" + "@antv/l7": "^2.9.37" }, "publishConfig": { "access": "public", diff --git a/packages/composite-layers/src/core/composite-layer.ts b/packages/composite-layers/src/core/composite-layer.ts index 8b20760f1..61e2350ef 100644 --- a/packages/composite-layers/src/core/composite-layer.ts +++ b/packages/composite-layers/src/core/composite-layer.ts @@ -1,6 +1,6 @@ import { uniqueId } from '@antv/util'; import EventEmitter from '@antv/event-emitter'; -import { Source } from '@antv/l7'; +import { ILegend, Source } from '@antv/l7'; import { deepMergeLayerOptions, isSourceChanged } from '../utils'; import { Scene, SourceOptions, ICompositeLayer, CompositeLayerType, LayerBlend, ICoreLayer, ISource } from '../types'; import { CompositeLayerEvent, OriginLayerEventList } from './constants'; @@ -298,6 +298,13 @@ export abstract class CompositeLayer extends Ev this.layer.fitBounds(fitBoundsOptions); } + /** + * 获取图例 + */ + public getLegend(name: string): ILegend { + return this.layer.getLegend(name); + } + /** * 获取图例数据 */ diff --git a/packages/composite-layers/src/core/core-layer.ts b/packages/composite-layers/src/core/core-layer.ts index 908f891c8..0b6f52466 100644 --- a/packages/composite-layers/src/core/core-layer.ts +++ b/packages/composite-layers/src/core/core-layer.ts @@ -17,6 +17,7 @@ import { StateAttribute, TextureAttr, ISource, + ILegend, } from '../types'; import { CoreLayerEvent, OriginLayerEventList } from './constants'; import { MappingAttribute } from '../adaptor/attribute'; @@ -367,6 +368,13 @@ export abstract class CoreLayer extends EventEmitter this.layer.fitBounds(fitBoundsOptions); } + /** + * 获取图例 + */ + public getLegend(name: string): ILegend { + return this.layer.getLegend(name); + } + /** * 获取图例数据 */ diff --git a/packages/composite-layers/src/types/common.ts b/packages/composite-layers/src/types/common.ts index 5050be272..dda427b4e 100644 --- a/packages/composite-layers/src/types/common.ts +++ b/packages/composite-layers/src/types/common.ts @@ -10,6 +10,7 @@ import type { ITransform, ILegendSegmentItem, ILegendClassificaItem, + ILegend, } from '@antv/l7'; import { BlendType } from '@antv/l7'; @@ -22,6 +23,7 @@ export type { ITransform, ILegendSegmentItem, ILegendClassificaItem, + ILegend, Scene, }; diff --git a/packages/composite-layers/src/types/interface.ts b/packages/composite-layers/src/types/interface.ts index 325d51a74..f60bd56cd 100644 --- a/packages/composite-layers/src/types/interface.ts +++ b/packages/composite-layers/src/types/interface.ts @@ -1,5 +1,5 @@ import { SourceOptions } from './attr'; -import { ILayer, LayerBlend, Scene, ISource } from './common'; +import { ILayer, LayerBlend, Scene, ISource, ILegend } from './common'; export interface ILayerGroup { name: string; @@ -59,6 +59,7 @@ export interface ICoreLayer { boxSelect(bounds: [number, number, number, number], callback: (...args: any[]) => void): void; fitBounds(fitBoundsOptions?: unknown): void; + getLegend(name: string): ILegend; getLegendItems(type: string): Record[]; destroy(): void; @@ -97,6 +98,7 @@ export interface ICompositeLayer { setBlend(blend: LayerBlend): void; fitBounds(fitBoundsOptions?: unknown): void; + getLegend(name: string): ILegend; getLegendItems(type: string): Record[]; getColorLegendItems(): Record[]; diff --git a/packages/l7plot/package.json b/packages/l7plot/package.json index 5e27a5dc5..092631acc 100644 --- a/packages/l7plot/package.json +++ b/packages/l7plot/package.json @@ -40,7 +40,7 @@ "url": "https://github.com/antvis/L7Plot/issues" }, "devDependencies": { - "@antv/l7": "^2.9.14", + "@antv/l7": "^2.9.37", "@types/geojson": "^7946.0.8", "@types/lodash-es": "^4.17.4", "@types/topojson-client": "^3.1.0" @@ -53,7 +53,7 @@ "topojson-client": "^3.1.0" }, "peerDependencies": { - "@antv/l7": "^2.9.14" + "@antv/l7": "^2.9.37" }, "publishConfig": { "access": "public", diff --git a/website/docs/common/composite-layers/composite-common/event.zh.md b/website/docs/common/composite-layers/composite-common/event.zh.md index ede7694f7..3e004c30e 100644 --- a/website/docs/common/composite-layers/composite-common/event.zh.md +++ b/website/docs/common/composite-layers/composite-common/event.zh.md @@ -22,12 +22,15 @@ layer.off(eventName: string, callback: (...args) => void); #### 生命周期事件 -| 事件名 | 类型 | 描述 | -| ---------- | ------------ | ------------------------- | -| inited | 生命周期事件 | 图层初始化完成事件 | -| add | 生命周期事件 | 图层添加到场景 scene 事件 | -| remove | 生命周期事件 | 图层移除时事件 | -| dataUpdate | 生命周期事件 | 图层数据源更新事件 | +| 事件名 | 类型 | 描述 | +| ------------ | ------------ | ------------------------------ | +| inited | 生命周期事件 | 图层初始化完成事件 | +| add | 生命周期事件 | 图层添加到场景 scene 事件 | +| remove | 生命周期事件 | 图层移除时事件 | +| dataUpdate | 生命周期事件 | 图层数据源更新事件 | +| legend | 生命周期事件 | 数据映射更新,图例更新事件 | +| legend:color | 生命周期事件 | 数据映射更新,颜色图例更新事件 | +| legend:size | 生命周期事件 | 数据映射更新,大小图例更新事件 | #### 点击事件 diff --git a/website/docs/common/composite-layers/composite-common/method.zh.md b/website/docs/common/composite-layers/composite-common/method.zh.md index 5815eb5f0..412cbfb3b 100644 --- a/website/docs/common/composite-layers/composite-common/method.zh.md +++ b/website/docs/common/composite-layers/composite-common/method.zh.md @@ -102,6 +102,14 @@ layer.isVisible() : boolean; layer.fitBounds(fitBoundsOptions?: Bounds); ``` +### getLegend + +获取图例。 + +```js +layer.getLegend(name: string): ILegend; +``` + ### getLegendItems 获取图例数据。 diff --git a/website/docs/common/composite-layers/core-common/event.zh.md b/website/docs/common/composite-layers/core-common/event.zh.md index ede7694f7..3e004c30e 100644 --- a/website/docs/common/composite-layers/core-common/event.zh.md +++ b/website/docs/common/composite-layers/core-common/event.zh.md @@ -22,12 +22,15 @@ layer.off(eventName: string, callback: (...args) => void); #### 生命周期事件 -| 事件名 | 类型 | 描述 | -| ---------- | ------------ | ------------------------- | -| inited | 生命周期事件 | 图层初始化完成事件 | -| add | 生命周期事件 | 图层添加到场景 scene 事件 | -| remove | 生命周期事件 | 图层移除时事件 | -| dataUpdate | 生命周期事件 | 图层数据源更新事件 | +| 事件名 | 类型 | 描述 | +| ------------ | ------------ | ------------------------------ | +| inited | 生命周期事件 | 图层初始化完成事件 | +| add | 生命周期事件 | 图层添加到场景 scene 事件 | +| remove | 生命周期事件 | 图层移除时事件 | +| dataUpdate | 生命周期事件 | 图层数据源更新事件 | +| legend | 生命周期事件 | 数据映射更新,图例更新事件 | +| legend:color | 生命周期事件 | 数据映射更新,颜色图例更新事件 | +| legend:size | 生命周期事件 | 数据映射更新,大小图例更新事件 | #### 点击事件 diff --git a/website/docs/common/composite-layers/core-common/method.zh.md b/website/docs/common/composite-layers/core-common/method.zh.md index ec3898ec5..9bc3fc97c 100644 --- a/website/docs/common/composite-layers/core-common/method.zh.md +++ b/website/docs/common/composite-layers/core-common/method.zh.md @@ -110,6 +110,14 @@ layer.fitBounds(fitBoundsOptions?: Bounds); layer.boxSelect(bounds: [number, number, number, number], callback: (...args: any[]) => void); ``` +### getLegend + +获取图例。 + +```js +layer.getLegend(name: string): ILegend; +``` + ### getLegendItems 获取图例数据。