diff --git a/packages/core/src/services/renderer/passes/PixelPickingPass.ts b/packages/core/src/services/renderer/passes/PixelPickingPass.ts index 4c1785cc76..a9c50ee8d7 100644 --- a/packages/core/src/services/renderer/passes/PixelPickingPass.ts +++ b/packages/core/src/services/renderer/passes/PixelPickingPass.ts @@ -195,20 +195,20 @@ export default class PixelPickingPass< feature: unknown; }) { const { onHover, onClick } = this.layer.getLayerConfig(); - if (onHover) { - onHover({ - x, - y, - feature, - }); - } - if (onClick) { - onClick({ - x, - y, - feature, - }); - } + // if (onHover) { + // onHover({ + // x, + // y, + // feature, + // }); + // } + // if (onClick) { + // onClick({ + // x, + // y, + // feature, + // }); + // } this.layer.emit(type, { x, y, diff --git a/packages/l7/package.json b/packages/l7/package.json index 19812ad383..7f9876aa65 100644 --- a/packages/l7/package.json +++ b/packages/l7/package.json @@ -5,6 +5,7 @@ "main": "lib/index.js", "module": "es/index.js", "types": "es/index.d.ts", + "unpkg": "dist/l7.js", "sideEffects": true, "files": [ "dist", diff --git a/packages/source/src/index.ts b/packages/source/src/index.ts index cf2cbc9ae2..2c36644448 100644 --- a/packages/source/src/index.ts +++ b/packages/source/src/index.ts @@ -9,6 +9,7 @@ import { cluster } from './transform/cluster'; import { filter } from './transform/filter'; import { aggregatorToGrid } from './transform/grid'; import { pointToHexbin } from './transform/hexagon'; +import { join } from './transform/join'; import { map } from './transform/map'; export default Source; registerParser('geojson', geojson); diff --git a/packages/source/src/transform/join.ts b/packages/source/src/transform/join.ts new file mode 100644 index 0000000000..b6dcb9ffd5 --- /dev/null +++ b/packages/source/src/transform/join.ts @@ -0,0 +1,28 @@ +import { IParseDataItem, IParserData } from '@antv/l7-core'; + +interface IJoinOption { + field: 'string'; + data: any[]; +} + +/** + * + * @param data + * @param options + */ +export function filter(geoData: IParserData, options: { [key: string]: any }) { + const { field, data } = options; + const dataObj: { [key: string]: any } = {}; + data.forEach((element: { [key: string]: any }) => { + dataObj[element.field] = element; + }); + geoData.dataArray = data.dataArray.map((item: IParseDataItem) => { + const joinName = item[field]; + return { + ...dataObj[joinName], + ...item, + }; + }); + + return data; +}