@antv/l7-layers 2.8.7 → 2.8.8

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.
@@ -43,7 +43,12 @@ var CanvaModel = function (_BaseModel) {
43
43
  _ref$zIndex = _ref.zIndex,
44
44
  zIndex = _ref$zIndex === void 0 ? 10 : _ref$zIndex,
45
45
  _ref$update = _ref.update,
46
- update = _ref$update === void 0 ? CanvasUpdateType.AWAYS : _ref$update;
46
+ update = _ref$update === void 0 ? CanvasUpdateType.AWAYS : _ref$update,
47
+ _ref$animateOption = _ref.animateOption,
48
+ animateOption = _ref$animateOption === void 0 ? {
49
+ enable: false,
50
+ duration: 20
51
+ } : _ref$animateOption;
47
52
 
48
53
  if (+_this.canvas.style.zIndex === zIndex) {
49
54
  _this.canvas.style.zIndex = zIndex + '';
@@ -56,6 +61,10 @@ var CanvaModel = function (_BaseModel) {
56
61
 
57
62
  _this.bindListener();
58
63
  }
64
+
65
+ if (_this.updateMode === CanvasUpdateType.AWAYS && animateOption.enable) {
66
+ _this.renderCanvas();
67
+ }
59
68
  });
60
69
 
61
70
  _defineProperty(_assertThisInitialized(_this), "unBindListener", function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/canvas/models/canvas.ts"],"names":["BaseModel","CanvasUpdateType","CanvaModel","AWAYS","layer","getLayerConfig","zIndex","update","canvas","style","updateMode","unBindListener","bindListener","mapService","off","renderCanvas","clearCanvas","on","ctx","rendererService","getViewportSize","w","width","h","height","clearRect","viewWidth","viewHeight","prevSize","size","getSize","drawingOnCanvas","document","removeChild","initCanvas","getContainer","createElement","pointerEvents","position","top","left","appendChild","getContext","initModels"],"mappings":"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","sourcesContent":["import BaseModel from '../../core/BaseModel';\nimport {\n CanvasUpdateType,\n ICanvasLayerStyleOptions,\n IDrawingOnCanvas,\n} from '../../core/interface';\n\nexport default class CanvaModel extends BaseModel {\n protected updateMode: CanvasUpdateType = CanvasUpdateType.AWAYS;\n protected canvas: HTMLCanvasElement;\n protected ctx: CanvasRenderingContext2D;\n protected prevSize: [number, number];\n public renderUpdate = () => {\n const {\n zIndex = 10,\n update = CanvasUpdateType.AWAYS,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n if (+this.canvas.style.zIndex === zIndex) {\n this.canvas.style.zIndex = zIndex + '';\n }\n if (this.updateMode !== update) {\n this.updateMode = update as CanvasUpdateType;\n this.unBindListener();\n this.bindListener();\n }\n };\n\n public unBindListener = () => {\n this.mapService.off('mapchange', this.renderCanvas);\n this.mapService.off('zoomstart', this.clearCanvas);\n this.mapService.off('zoomend', this.renderCanvas);\n this.mapService.off('movestart', this.clearCanvas);\n this.mapService.off('moveend', this.renderCanvas);\n };\n\n public bindListener = () => {\n if (this.updateMode === CanvasUpdateType.AWAYS) {\n this.mapService.on('mapchange', this.renderCanvas);\n } else {\n this.mapService.on('zoomstart', this.clearCanvas);\n this.mapService.on('zoomend', this.renderCanvas);\n this.mapService.on('movestart', this.clearCanvas);\n this.mapService.on('moveend', this.renderCanvas);\n }\n };\n\n public clearModels(): void {\n if (this.canvas) {\n document.removeChild(this.canvas);\n // @ts-ignore\n this.canvas = null;\n }\n this.unBindListener();\n }\n\n public initModels() {\n const {\n update = CanvasUpdateType.AWAYS,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n this.updateMode = update as CanvasUpdateType;\n this.initCanvas();\n\n this.renderCanvas();\n\n this.bindListener();\n\n this.mapService.getContainer();\n return [];\n }\n\n public initCanvas(): void {\n const { zIndex } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n const size = this.mapService.getSize();\n const [width, height] = size;\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n this.prevSize = [viewWidth, viewHeight];\n\n const canvas = document.createElement('canvas');\n this.canvas = canvas;\n canvas.width = viewWidth;\n canvas.height = viewHeight;\n canvas.style.pointerEvents = 'none';\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n canvas.style.zIndex = zIndex + '';\n this.mapService.getContainer()?.appendChild(canvas);\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n this.ctx = ctx;\n }\n\n public clearCanvas = () => {\n if (this.ctx) {\n const { width: w, height: h } = this.rendererService.getViewportSize();\n this.ctx.clearRect(0, 0, w, h);\n }\n };\n\n public renderCanvas = () => {\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n if (this.prevSize[0] !== viewWidth || this.prevSize[1] !== viewHeight) {\n this.prevSize = [viewWidth, viewHeight];\n const size = this.mapService.getSize();\n const [width, height] = size;\n this.canvas.width = viewWidth;\n this.canvas.height = viewHeight;\n this.canvas.style.width = width + 'px';\n this.canvas.style.height = height + 'px';\n }\n\n const {\n drawingOnCanvas,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n\n if (this.ctx) {\n drawingOnCanvas({\n canvas: this.canvas,\n ctx: this.ctx,\n mapService: this.mapService,\n size: [viewWidth, viewHeight],\n });\n }\n };\n\n public buildModels() {\n return this.initModels();\n }\n\n protected registerBuiltinAttributes() {\n return;\n }\n}\n"],"file":"canvas.js"}
1
+ {"version":3,"sources":["../../../src/canvas/models/canvas.ts"],"names":["BaseModel","CanvasUpdateType","CanvaModel","AWAYS","layer","getLayerConfig","zIndex","update","animateOption","enable","duration","canvas","style","updateMode","unBindListener","bindListener","renderCanvas","mapService","off","clearCanvas","on","ctx","rendererService","getViewportSize","w","width","h","height","clearRect","viewWidth","viewHeight","prevSize","size","getSize","drawingOnCanvas","document","removeChild","initCanvas","getContainer","createElement","pointerEvents","position","top","left","appendChild","getContext","initModels"],"mappings":"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","sourcesContent":["import { IModelUniform } from '@antv/l7-core';\nimport BaseModel from '../../core/BaseModel';\nimport {\n CanvasUpdateType,\n ICanvasLayerStyleOptions,\n IDrawingOnCanvas,\n} from '../../core/interface';\n\nexport default class CanvaModel extends BaseModel {\n protected updateMode: CanvasUpdateType = CanvasUpdateType.AWAYS;\n protected canvas: HTMLCanvasElement;\n protected ctx: CanvasRenderingContext2D;\n protected prevSize: [number, number];\n\n public renderUpdate = () => {\n const {\n zIndex = 10,\n update = CanvasUpdateType.AWAYS,\n animateOption = { enable: false, duration: 20 },\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n if (+this.canvas.style.zIndex === zIndex) {\n this.canvas.style.zIndex = zIndex + '';\n }\n if (this.updateMode !== update) {\n this.updateMode = update as CanvasUpdateType;\n this.unBindListener();\n this.bindListener();\n }\n if (this.updateMode === CanvasUpdateType.AWAYS && animateOption.enable) {\n this.renderCanvas();\n }\n };\n\n public unBindListener = () => {\n this.mapService.off('mapchange', this.renderCanvas);\n this.mapService.off('zoomstart', this.clearCanvas);\n this.mapService.off('zoomend', this.renderCanvas);\n this.mapService.off('movestart', this.clearCanvas);\n this.mapService.off('moveend', this.renderCanvas);\n };\n\n public bindListener = () => {\n if (this.updateMode === CanvasUpdateType.AWAYS) {\n this.mapService.on('mapchange', this.renderCanvas);\n } else {\n this.mapService.on('zoomstart', this.clearCanvas);\n this.mapService.on('zoomend', this.renderCanvas);\n this.mapService.on('movestart', this.clearCanvas);\n this.mapService.on('moveend', this.renderCanvas);\n }\n };\n\n public clearModels(): void {\n if (this.canvas) {\n document.removeChild(this.canvas);\n // @ts-ignore\n this.canvas = null;\n }\n this.unBindListener();\n }\n\n public initModels() {\n const {\n update = CanvasUpdateType.AWAYS,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n this.updateMode = update as CanvasUpdateType;\n this.initCanvas();\n\n this.renderCanvas();\n\n this.bindListener();\n\n this.mapService.getContainer();\n return [];\n }\n\n public initCanvas(): void {\n const { zIndex } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n const size = this.mapService.getSize();\n const [width, height] = size;\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n this.prevSize = [viewWidth, viewHeight];\n\n const canvas = document.createElement('canvas');\n this.canvas = canvas;\n canvas.width = viewWidth;\n canvas.height = viewHeight;\n canvas.style.pointerEvents = 'none';\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n canvas.style.zIndex = zIndex + '';\n this.mapService.getContainer()?.appendChild(canvas);\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n this.ctx = ctx;\n }\n\n public clearCanvas = () => {\n if (this.ctx) {\n const { width: w, height: h } = this.rendererService.getViewportSize();\n this.ctx.clearRect(0, 0, w, h);\n }\n };\n\n public renderCanvas = () => {\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n if (this.prevSize[0] !== viewWidth || this.prevSize[1] !== viewHeight) {\n this.prevSize = [viewWidth, viewHeight];\n const size = this.mapService.getSize();\n const [width, height] = size;\n this.canvas.width = viewWidth;\n this.canvas.height = viewHeight;\n this.canvas.style.width = width + 'px';\n this.canvas.style.height = height + 'px';\n }\n\n const {\n drawingOnCanvas,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n\n if (this.ctx) {\n drawingOnCanvas({\n canvas: this.canvas,\n ctx: this.ctx,\n mapService: this.mapService,\n size: [viewWidth, viewHeight],\n });\n }\n };\n\n public buildModels() {\n return this.initModels();\n }\n\n protected registerBuiltinAttributes() {\n return;\n }\n}\n"],"file":"canvas.js"}
@@ -105,6 +105,7 @@ export interface ICanvasLayerStyleOptions {
105
105
  zIndex: number;
106
106
  update: CanvasUpdateType | string;
107
107
  drawingOnCanvas: (option: IDrawingOnCanvas) => void;
108
+ animateOption: IAnimateOption;
108
109
  }
109
110
  export interface IHeatMapLayerStyleOptions {
110
111
  opacity: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/interface.ts"],"names":["lineStyleType","CanvasUpdateType"],"mappings":"AASA,WAAYA,aAAZ;;WAAYA,a;AAAAA,EAAAA,a,CAAAA,a;AAAAA,EAAAA,a,CAAAA,a;GAAAA,a,KAAAA,a;;AAmHZ,WAAYC,gBAAZ;;WAAYA,gB;AAAAA,EAAAA,gB;AAAAA,EAAAA,gB;GAAAA,gB,KAAAA,gB","sourcesContent":["import { IAnimateOption, IMapService } from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport { styleColor, styleOffset, styleSingle } from '../core/BaseModel';\nimport {\n anchorType,\n getGlyphQuads,\n IGlyphQuad,\n shapeText,\n} from '../utils/symbol-layout';\nexport enum lineStyleType {\n 'solid' = 0.0,\n 'dash' = 1.0,\n}\n\nexport interface ILineLayerStyleOptions {\n opacity: styleSingle;\n lineType?: keyof typeof lineStyleType; // 可选参数、线类型(all - dash/solid)\n dashArray?: [number, number]; // 可选参数、虚线间隔\n segmentNumber?: number;\n\n forward?: boolean; // 可选参数、是否反向(arcLine)\n lineTexture?: boolean; // 可选参数、是否开启纹理贴图功能(all)\n iconStep?: number; // 可选参数、纹理贴图步长(all)\n iconStepCount?: number; // 可选参数、纹理贴图间隔\n textureBlend?: string; // 可选参数、供给纹理贴图使用(all)\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n thetaOffset?: number; // 可选参数、设置弧线的偏移量\n\n globalArcHeight?: number; // 可选参数、地球模式下 3D 弧线的高度\n vertexHeightScale?: number; // 可选参数、lineLayer vertex height scale\n\n borderWidth?: number; // 可选参数 线边框宽度\n borderColor?: string; // 可选参数 线边框颜色\n\n heightfixed?: boolean; // 可选参数 高度是否固定\n\n mask?: boolean; // 可选参数 时候允许蒙层\n maskInside?: boolean; // 可选参数 控制图层是否显示在蒙层的内部\n}\n\nexport interface IPointLayerStyleOptions {\n opacity: number;\n strokeOpacity: number;\n strokeWidth: number;\n stroke: string;\n\n textOffset?: [number, number];\n textAnchor?: anchorType;\n spacing?: number;\n padding?: [number, number];\n halo?: number;\n gamma?: number;\n fontWeight?: string;\n fontFamily?: string;\n textAllowOverlap?: boolean;\n\n // cylinder\n pickLight?: boolean;\n depth?: boolean;\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n opacityLinear?: {\n enable: boolean;\n dir: string;\n };\n lightEnable: boolean;\n heightfixed?: boolean; // 圆柱体高度是否固定(不随 zoom 发生变化)\n\n offsets?: styleOffset;\n blend?: string;\n unit?: string;\n mask?: boolean;\n maskInside?: boolean;\n\n rotation?: number; // angle\n speed?: number;\n animateOption: IAnimateOption;\n}\n\nexport interface IPolygonLayerStyleOptions {\n opacity: styleSingle;\n\n opacityLinear: {\n enable: boolean;\n dir: string;\n };\n\n heightfixed?: boolean; // 挤出几何体高度是否固定(不随 zoom 发生变化)\n\n pickLight: boolean;\n mask?: boolean;\n maskInside?: boolean;\n\n // water\n waterTexture?: string;\n speed?: number;\n // ocean\n watercolor?: string;\n watercolor2?: string;\n}\n\nexport interface IImageLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n}\n\nexport interface IGeometryLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n\n mapTexture?: string;\n\n // planeGeometry\n center?: [number, number];\n width?: number;\n height?: number;\n\n widthSegments?: number;\n heightSegments?: number;\n}\n\nexport enum CanvasUpdateType {\n 'AWAYS' = 'aways',\n 'DRAGEND' = 'dragend',\n}\n\nexport interface IDrawingOnCanvas {\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n mapService: IMapService;\n size: [number, number];\n}\nexport interface ICanvasLayerStyleOptions {\n zIndex: number;\n update: CanvasUpdateType | string;\n drawingOnCanvas: (option: IDrawingOnCanvas) => void;\n}\n\nexport interface IHeatMapLayerStyleOptions {\n opacity: number;\n intensity: number;\n radius: number;\n angle: number;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n\n coverage?: number;\n}\n\nexport interface IRasterLayerStyleOptions {\n opacity: number;\n domain: [number, number];\n noDataValue: number;\n clampLow: boolean;\n clampHigh: boolean;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n}\n"],"file":"interface.js"}
1
+ {"version":3,"sources":["../../src/core/interface.ts"],"names":["lineStyleType","CanvasUpdateType"],"mappings":"AASA,WAAYA,aAAZ;;WAAYA,a;AAAAA,EAAAA,a,CAAAA,a;AAAAA,EAAAA,a,CAAAA,a;GAAAA,a,KAAAA,a;;AAmHZ,WAAYC,gBAAZ;;WAAYA,gB;AAAAA,EAAAA,gB;AAAAA,EAAAA,gB;GAAAA,gB,KAAAA,gB","sourcesContent":["import { IAnimateOption, IMapService } from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport { styleColor, styleOffset, styleSingle } from '../core/BaseModel';\nimport {\n anchorType,\n getGlyphQuads,\n IGlyphQuad,\n shapeText,\n} from '../utils/symbol-layout';\nexport enum lineStyleType {\n 'solid' = 0.0,\n 'dash' = 1.0,\n}\n\nexport interface ILineLayerStyleOptions {\n opacity: styleSingle;\n lineType?: keyof typeof lineStyleType; // 可选参数、线类型(all - dash/solid)\n dashArray?: [number, number]; // 可选参数、虚线间隔\n segmentNumber?: number;\n\n forward?: boolean; // 可选参数、是否反向(arcLine)\n lineTexture?: boolean; // 可选参数、是否开启纹理贴图功能(all)\n iconStep?: number; // 可选参数、纹理贴图步长(all)\n iconStepCount?: number; // 可选参数、纹理贴图间隔\n textureBlend?: string; // 可选参数、供给纹理贴图使用(all)\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n thetaOffset?: number; // 可选参数、设置弧线的偏移量\n\n globalArcHeight?: number; // 可选参数、地球模式下 3D 弧线的高度\n vertexHeightScale?: number; // 可选参数、lineLayer vertex height scale\n\n borderWidth?: number; // 可选参数 线边框宽度\n borderColor?: string; // 可选参数 线边框颜色\n\n heightfixed?: boolean; // 可选参数 高度是否固定\n\n mask?: boolean; // 可选参数 时候允许蒙层\n maskInside?: boolean; // 可选参数 控制图层是否显示在蒙层的内部\n}\n\nexport interface IPointLayerStyleOptions {\n opacity: number;\n strokeOpacity: number;\n strokeWidth: number;\n stroke: string;\n\n textOffset?: [number, number];\n textAnchor?: anchorType;\n spacing?: number;\n padding?: [number, number];\n halo?: number;\n gamma?: number;\n fontWeight?: string;\n fontFamily?: string;\n textAllowOverlap?: boolean;\n\n // cylinder\n pickLight?: boolean;\n depth?: boolean;\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n opacityLinear?: {\n enable: boolean;\n dir: string;\n };\n lightEnable: boolean;\n heightfixed?: boolean; // 圆柱体高度是否固定(不随 zoom 发生变化)\n\n offsets?: styleOffset;\n blend?: string;\n unit?: string;\n mask?: boolean;\n maskInside?: boolean;\n\n rotation?: number; // angle\n speed?: number;\n animateOption: IAnimateOption;\n}\n\nexport interface IPolygonLayerStyleOptions {\n opacity: styleSingle;\n\n opacityLinear: {\n enable: boolean;\n dir: string;\n };\n\n heightfixed?: boolean; // 挤出几何体高度是否固定(不随 zoom 发生变化)\n\n pickLight: boolean;\n mask?: boolean;\n maskInside?: boolean;\n\n // water\n waterTexture?: string;\n speed?: number;\n // ocean\n watercolor?: string;\n watercolor2?: string;\n}\n\nexport interface IImageLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n}\n\nexport interface IGeometryLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n\n mapTexture?: string;\n\n // planeGeometry\n center?: [number, number];\n width?: number;\n height?: number;\n\n widthSegments?: number;\n heightSegments?: number;\n}\n\nexport enum CanvasUpdateType {\n 'AWAYS' = 'aways',\n 'DRAGEND' = 'dragend',\n}\n\nexport interface IDrawingOnCanvas {\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n mapService: IMapService;\n size: [number, number];\n}\nexport interface ICanvasLayerStyleOptions {\n zIndex: number;\n update: CanvasUpdateType | string;\n drawingOnCanvas: (option: IDrawingOnCanvas) => void;\n animateOption: IAnimateOption;\n}\n\nexport interface IHeatMapLayerStyleOptions {\n opacity: number;\n intensity: number;\n radius: number;\n angle: number;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n\n coverage?: number;\n}\n\nexport interface IRasterLayerStyleOptions {\n opacity: number;\n domain: [number, number];\n noDataValue: number;\n clampLow: boolean;\n clampHigh: boolean;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n}\n"],"file":"interface.js"}
@@ -55,7 +55,12 @@ var CanvaModel = function (_BaseModel) {
55
55
  _ref$zIndex = _ref.zIndex,
56
56
  zIndex = _ref$zIndex === void 0 ? 10 : _ref$zIndex,
57
57
  _ref$update = _ref.update,
58
- update = _ref$update === void 0 ? _interface.CanvasUpdateType.AWAYS : _ref$update;
58
+ update = _ref$update === void 0 ? _interface.CanvasUpdateType.AWAYS : _ref$update,
59
+ _ref$animateOption = _ref.animateOption,
60
+ animateOption = _ref$animateOption === void 0 ? {
61
+ enable: false,
62
+ duration: 20
63
+ } : _ref$animateOption;
59
64
 
60
65
  if (+_this.canvas.style.zIndex === zIndex) {
61
66
  _this.canvas.style.zIndex = zIndex + '';
@@ -68,6 +73,10 @@ var CanvaModel = function (_BaseModel) {
68
73
 
69
74
  _this.bindListener();
70
75
  }
76
+
77
+ if (_this.updateMode === _interface.CanvasUpdateType.AWAYS && animateOption.enable) {
78
+ _this.renderCanvas();
79
+ }
71
80
  });
72
81
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "unBindListener", function () {
73
82
  _this.mapService.off('mapchange', _this.renderCanvas);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/canvas/models/canvas.ts"],"names":["CanvaModel","CanvasUpdateType","AWAYS","layer","getLayerConfig","zIndex","update","canvas","style","updateMode","unBindListener","bindListener","mapService","off","renderCanvas","clearCanvas","on","ctx","rendererService","getViewportSize","w","width","h","height","clearRect","viewWidth","viewHeight","prevSize","size","getSize","drawingOnCanvas","document","removeChild","initCanvas","getContainer","createElement","pointerEvents","position","top","left","appendChild","getContext","initModels","BaseModel"],"mappings":"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","sourcesContent":["import BaseModel from '../../core/BaseModel';\nimport {\n CanvasUpdateType,\n ICanvasLayerStyleOptions,\n IDrawingOnCanvas,\n} from '../../core/interface';\n\nexport default class CanvaModel extends BaseModel {\n protected updateMode: CanvasUpdateType = CanvasUpdateType.AWAYS;\n protected canvas: HTMLCanvasElement;\n protected ctx: CanvasRenderingContext2D;\n protected prevSize: [number, number];\n public renderUpdate = () => {\n const {\n zIndex = 10,\n update = CanvasUpdateType.AWAYS,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n if (+this.canvas.style.zIndex === zIndex) {\n this.canvas.style.zIndex = zIndex + '';\n }\n if (this.updateMode !== update) {\n this.updateMode = update as CanvasUpdateType;\n this.unBindListener();\n this.bindListener();\n }\n };\n\n public unBindListener = () => {\n this.mapService.off('mapchange', this.renderCanvas);\n this.mapService.off('zoomstart', this.clearCanvas);\n this.mapService.off('zoomend', this.renderCanvas);\n this.mapService.off('movestart', this.clearCanvas);\n this.mapService.off('moveend', this.renderCanvas);\n };\n\n public bindListener = () => {\n if (this.updateMode === CanvasUpdateType.AWAYS) {\n this.mapService.on('mapchange', this.renderCanvas);\n } else {\n this.mapService.on('zoomstart', this.clearCanvas);\n this.mapService.on('zoomend', this.renderCanvas);\n this.mapService.on('movestart', this.clearCanvas);\n this.mapService.on('moveend', this.renderCanvas);\n }\n };\n\n public clearModels(): void {\n if (this.canvas) {\n document.removeChild(this.canvas);\n // @ts-ignore\n this.canvas = null;\n }\n this.unBindListener();\n }\n\n public initModels() {\n const {\n update = CanvasUpdateType.AWAYS,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n this.updateMode = update as CanvasUpdateType;\n this.initCanvas();\n\n this.renderCanvas();\n\n this.bindListener();\n\n this.mapService.getContainer();\n return [];\n }\n\n public initCanvas(): void {\n const { zIndex } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n const size = this.mapService.getSize();\n const [width, height] = size;\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n this.prevSize = [viewWidth, viewHeight];\n\n const canvas = document.createElement('canvas');\n this.canvas = canvas;\n canvas.width = viewWidth;\n canvas.height = viewHeight;\n canvas.style.pointerEvents = 'none';\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n canvas.style.zIndex = zIndex + '';\n this.mapService.getContainer()?.appendChild(canvas);\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n this.ctx = ctx;\n }\n\n public clearCanvas = () => {\n if (this.ctx) {\n const { width: w, height: h } = this.rendererService.getViewportSize();\n this.ctx.clearRect(0, 0, w, h);\n }\n };\n\n public renderCanvas = () => {\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n if (this.prevSize[0] !== viewWidth || this.prevSize[1] !== viewHeight) {\n this.prevSize = [viewWidth, viewHeight];\n const size = this.mapService.getSize();\n const [width, height] = size;\n this.canvas.width = viewWidth;\n this.canvas.height = viewHeight;\n this.canvas.style.width = width + 'px';\n this.canvas.style.height = height + 'px';\n }\n\n const {\n drawingOnCanvas,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n\n if (this.ctx) {\n drawingOnCanvas({\n canvas: this.canvas,\n ctx: this.ctx,\n mapService: this.mapService,\n size: [viewWidth, viewHeight],\n });\n }\n };\n\n public buildModels() {\n return this.initModels();\n }\n\n protected registerBuiltinAttributes() {\n return;\n }\n}\n"],"file":"canvas.js"}
1
+ {"version":3,"sources":["../../../src/canvas/models/canvas.ts"],"names":["CanvaModel","CanvasUpdateType","AWAYS","layer","getLayerConfig","zIndex","update","animateOption","enable","duration","canvas","style","updateMode","unBindListener","bindListener","renderCanvas","mapService","off","clearCanvas","on","ctx","rendererService","getViewportSize","w","width","h","height","clearRect","viewWidth","viewHeight","prevSize","size","getSize","drawingOnCanvas","document","removeChild","initCanvas","getContainer","createElement","pointerEvents","position","top","left","appendChild","getContext","initModels","BaseModel"],"mappings":"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","sourcesContent":["import { IModelUniform } from '@antv/l7-core';\nimport BaseModel from '../../core/BaseModel';\nimport {\n CanvasUpdateType,\n ICanvasLayerStyleOptions,\n IDrawingOnCanvas,\n} from '../../core/interface';\n\nexport default class CanvaModel extends BaseModel {\n protected updateMode: CanvasUpdateType = CanvasUpdateType.AWAYS;\n protected canvas: HTMLCanvasElement;\n protected ctx: CanvasRenderingContext2D;\n protected prevSize: [number, number];\n\n public renderUpdate = () => {\n const {\n zIndex = 10,\n update = CanvasUpdateType.AWAYS,\n animateOption = { enable: false, duration: 20 },\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n if (+this.canvas.style.zIndex === zIndex) {\n this.canvas.style.zIndex = zIndex + '';\n }\n if (this.updateMode !== update) {\n this.updateMode = update as CanvasUpdateType;\n this.unBindListener();\n this.bindListener();\n }\n if (this.updateMode === CanvasUpdateType.AWAYS && animateOption.enable) {\n this.renderCanvas();\n }\n };\n\n public unBindListener = () => {\n this.mapService.off('mapchange', this.renderCanvas);\n this.mapService.off('zoomstart', this.clearCanvas);\n this.mapService.off('zoomend', this.renderCanvas);\n this.mapService.off('movestart', this.clearCanvas);\n this.mapService.off('moveend', this.renderCanvas);\n };\n\n public bindListener = () => {\n if (this.updateMode === CanvasUpdateType.AWAYS) {\n this.mapService.on('mapchange', this.renderCanvas);\n } else {\n this.mapService.on('zoomstart', this.clearCanvas);\n this.mapService.on('zoomend', this.renderCanvas);\n this.mapService.on('movestart', this.clearCanvas);\n this.mapService.on('moveend', this.renderCanvas);\n }\n };\n\n public clearModels(): void {\n if (this.canvas) {\n document.removeChild(this.canvas);\n // @ts-ignore\n this.canvas = null;\n }\n this.unBindListener();\n }\n\n public initModels() {\n const {\n update = CanvasUpdateType.AWAYS,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n this.updateMode = update as CanvasUpdateType;\n this.initCanvas();\n\n this.renderCanvas();\n\n this.bindListener();\n\n this.mapService.getContainer();\n return [];\n }\n\n public initCanvas(): void {\n const { zIndex } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n const size = this.mapService.getSize();\n const [width, height] = size;\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n this.prevSize = [viewWidth, viewHeight];\n\n const canvas = document.createElement('canvas');\n this.canvas = canvas;\n canvas.width = viewWidth;\n canvas.height = viewHeight;\n canvas.style.pointerEvents = 'none';\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n canvas.style.zIndex = zIndex + '';\n this.mapService.getContainer()?.appendChild(canvas);\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n this.ctx = ctx;\n }\n\n public clearCanvas = () => {\n if (this.ctx) {\n const { width: w, height: h } = this.rendererService.getViewportSize();\n this.ctx.clearRect(0, 0, w, h);\n }\n };\n\n public renderCanvas = () => {\n const {\n width: viewWidth,\n height: viewHeight,\n } = this.rendererService.getViewportSize();\n if (this.prevSize[0] !== viewWidth || this.prevSize[1] !== viewHeight) {\n this.prevSize = [viewWidth, viewHeight];\n const size = this.mapService.getSize();\n const [width, height] = size;\n this.canvas.width = viewWidth;\n this.canvas.height = viewHeight;\n this.canvas.style.width = width + 'px';\n this.canvas.style.height = height + 'px';\n }\n\n const {\n drawingOnCanvas,\n } = this.layer.getLayerConfig() as ICanvasLayerStyleOptions;\n\n if (this.ctx) {\n drawingOnCanvas({\n canvas: this.canvas,\n ctx: this.ctx,\n mapService: this.mapService,\n size: [viewWidth, viewHeight],\n });\n }\n };\n\n public buildModels() {\n return this.initModels();\n }\n\n protected registerBuiltinAttributes() {\n return;\n }\n}\n"],"file":"canvas.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/interface.ts"],"names":["lineStyleType","CanvasUpdateType"],"mappings":";;;;;;IASYA,a;;;WAAAA,a;AAAAA,EAAAA,a,CAAAA,a;AAAAA,EAAAA,a,CAAAA,a;GAAAA,a,6BAAAA,a;;IAmHAC,gB;;;WAAAA,gB;AAAAA,EAAAA,gB;AAAAA,EAAAA,gB;GAAAA,gB,gCAAAA,gB","sourcesContent":["import { IAnimateOption, IMapService } from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport { styleColor, styleOffset, styleSingle } from '../core/BaseModel';\nimport {\n anchorType,\n getGlyphQuads,\n IGlyphQuad,\n shapeText,\n} from '../utils/symbol-layout';\nexport enum lineStyleType {\n 'solid' = 0.0,\n 'dash' = 1.0,\n}\n\nexport interface ILineLayerStyleOptions {\n opacity: styleSingle;\n lineType?: keyof typeof lineStyleType; // 可选参数、线类型(all - dash/solid)\n dashArray?: [number, number]; // 可选参数、虚线间隔\n segmentNumber?: number;\n\n forward?: boolean; // 可选参数、是否反向(arcLine)\n lineTexture?: boolean; // 可选参数、是否开启纹理贴图功能(all)\n iconStep?: number; // 可选参数、纹理贴图步长(all)\n iconStepCount?: number; // 可选参数、纹理贴图间隔\n textureBlend?: string; // 可选参数、供给纹理贴图使用(all)\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n thetaOffset?: number; // 可选参数、设置弧线的偏移量\n\n globalArcHeight?: number; // 可选参数、地球模式下 3D 弧线的高度\n vertexHeightScale?: number; // 可选参数、lineLayer vertex height scale\n\n borderWidth?: number; // 可选参数 线边框宽度\n borderColor?: string; // 可选参数 线边框颜色\n\n heightfixed?: boolean; // 可选参数 高度是否固定\n\n mask?: boolean; // 可选参数 时候允许蒙层\n maskInside?: boolean; // 可选参数 控制图层是否显示在蒙层的内部\n}\n\nexport interface IPointLayerStyleOptions {\n opacity: number;\n strokeOpacity: number;\n strokeWidth: number;\n stroke: string;\n\n textOffset?: [number, number];\n textAnchor?: anchorType;\n spacing?: number;\n padding?: [number, number];\n halo?: number;\n gamma?: number;\n fontWeight?: string;\n fontFamily?: string;\n textAllowOverlap?: boolean;\n\n // cylinder\n pickLight?: boolean;\n depth?: boolean;\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n opacityLinear?: {\n enable: boolean;\n dir: string;\n };\n lightEnable: boolean;\n heightfixed?: boolean; // 圆柱体高度是否固定(不随 zoom 发生变化)\n\n offsets?: styleOffset;\n blend?: string;\n unit?: string;\n mask?: boolean;\n maskInside?: boolean;\n\n rotation?: number; // angle\n speed?: number;\n animateOption: IAnimateOption;\n}\n\nexport interface IPolygonLayerStyleOptions {\n opacity: styleSingle;\n\n opacityLinear: {\n enable: boolean;\n dir: string;\n };\n\n heightfixed?: boolean; // 挤出几何体高度是否固定(不随 zoom 发生变化)\n\n pickLight: boolean;\n mask?: boolean;\n maskInside?: boolean;\n\n // water\n waterTexture?: string;\n speed?: number;\n // ocean\n watercolor?: string;\n watercolor2?: string;\n}\n\nexport interface IImageLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n}\n\nexport interface IGeometryLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n\n mapTexture?: string;\n\n // planeGeometry\n center?: [number, number];\n width?: number;\n height?: number;\n\n widthSegments?: number;\n heightSegments?: number;\n}\n\nexport enum CanvasUpdateType {\n 'AWAYS' = 'aways',\n 'DRAGEND' = 'dragend',\n}\n\nexport interface IDrawingOnCanvas {\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n mapService: IMapService;\n size: [number, number];\n}\nexport interface ICanvasLayerStyleOptions {\n zIndex: number;\n update: CanvasUpdateType | string;\n drawingOnCanvas: (option: IDrawingOnCanvas) => void;\n}\n\nexport interface IHeatMapLayerStyleOptions {\n opacity: number;\n intensity: number;\n radius: number;\n angle: number;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n\n coverage?: number;\n}\n\nexport interface IRasterLayerStyleOptions {\n opacity: number;\n domain: [number, number];\n noDataValue: number;\n clampLow: boolean;\n clampHigh: boolean;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n}\n"],"file":"interface.js"}
1
+ {"version":3,"sources":["../../src/core/interface.ts"],"names":["lineStyleType","CanvasUpdateType"],"mappings":";;;;;;IASYA,a;;;WAAAA,a;AAAAA,EAAAA,a,CAAAA,a;AAAAA,EAAAA,a,CAAAA,a;GAAAA,a,6BAAAA,a;;IAmHAC,gB;;;WAAAA,gB;AAAAA,EAAAA,gB;AAAAA,EAAAA,gB;GAAAA,gB,gCAAAA,gB","sourcesContent":["import { IAnimateOption, IMapService } from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport { styleColor, styleOffset, styleSingle } from '../core/BaseModel';\nimport {\n anchorType,\n getGlyphQuads,\n IGlyphQuad,\n shapeText,\n} from '../utils/symbol-layout';\nexport enum lineStyleType {\n 'solid' = 0.0,\n 'dash' = 1.0,\n}\n\nexport interface ILineLayerStyleOptions {\n opacity: styleSingle;\n lineType?: keyof typeof lineStyleType; // 可选参数、线类型(all - dash/solid)\n dashArray?: [number, number]; // 可选参数、虚线间隔\n segmentNumber?: number;\n\n forward?: boolean; // 可选参数、是否反向(arcLine)\n lineTexture?: boolean; // 可选参数、是否开启纹理贴图功能(all)\n iconStep?: number; // 可选参数、纹理贴图步长(all)\n iconStepCount?: number; // 可选参数、纹理贴图间隔\n textureBlend?: string; // 可选参数、供给纹理贴图使用(all)\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n thetaOffset?: number; // 可选参数、设置弧线的偏移量\n\n globalArcHeight?: number; // 可选参数、地球模式下 3D 弧线的高度\n vertexHeightScale?: number; // 可选参数、lineLayer vertex height scale\n\n borderWidth?: number; // 可选参数 线边框宽度\n borderColor?: string; // 可选参数 线边框颜色\n\n heightfixed?: boolean; // 可选参数 高度是否固定\n\n mask?: boolean; // 可选参数 时候允许蒙层\n maskInside?: boolean; // 可选参数 控制图层是否显示在蒙层的内部\n}\n\nexport interface IPointLayerStyleOptions {\n opacity: number;\n strokeOpacity: number;\n strokeWidth: number;\n stroke: string;\n\n textOffset?: [number, number];\n textAnchor?: anchorType;\n spacing?: number;\n padding?: [number, number];\n halo?: number;\n gamma?: number;\n fontWeight?: string;\n fontFamily?: string;\n textAllowOverlap?: boolean;\n\n // cylinder\n pickLight?: boolean;\n depth?: boolean;\n sourceColor?: string; // 可选参数、设置渐变色的起始颜色(all)\n targetColor?: string; // 可选参数、设置渐变色的终点颜色(all)\n opacityLinear?: {\n enable: boolean;\n dir: string;\n };\n lightEnable: boolean;\n heightfixed?: boolean; // 圆柱体高度是否固定(不随 zoom 发生变化)\n\n offsets?: styleOffset;\n blend?: string;\n unit?: string;\n mask?: boolean;\n maskInside?: boolean;\n\n rotation?: number; // angle\n speed?: number;\n animateOption: IAnimateOption;\n}\n\nexport interface IPolygonLayerStyleOptions {\n opacity: styleSingle;\n\n opacityLinear: {\n enable: boolean;\n dir: string;\n };\n\n heightfixed?: boolean; // 挤出几何体高度是否固定(不随 zoom 发生变化)\n\n pickLight: boolean;\n mask?: boolean;\n maskInside?: boolean;\n\n // water\n waterTexture?: string;\n speed?: number;\n // ocean\n watercolor?: string;\n watercolor2?: string;\n}\n\nexport interface IImageLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n}\n\nexport interface IGeometryLayerStyleOptions {\n opacity: number;\n mask?: boolean;\n maskInside?: boolean;\n\n mapTexture?: string;\n\n // planeGeometry\n center?: [number, number];\n width?: number;\n height?: number;\n\n widthSegments?: number;\n heightSegments?: number;\n}\n\nexport enum CanvasUpdateType {\n 'AWAYS' = 'aways',\n 'DRAGEND' = 'dragend',\n}\n\nexport interface IDrawingOnCanvas {\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n mapService: IMapService;\n size: [number, number];\n}\nexport interface ICanvasLayerStyleOptions {\n zIndex: number;\n update: CanvasUpdateType | string;\n drawingOnCanvas: (option: IDrawingOnCanvas) => void;\n animateOption: IAnimateOption;\n}\n\nexport interface IHeatMapLayerStyleOptions {\n opacity: number;\n intensity: number;\n radius: number;\n angle: number;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n\n coverage?: number;\n}\n\nexport interface IRasterLayerStyleOptions {\n opacity: number;\n domain: [number, number];\n noDataValue: number;\n clampLow: boolean;\n clampHigh: boolean;\n rampColors: IColorRamp;\n mask?: boolean;\n maskInside?: boolean;\n}\n"],"file":"interface.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-layers",
3
- "version": "2.8.7",
3
+ "version": "2.8.8",
4
4
  "description": "L7's collection of built-in layers",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -24,9 +24,9 @@
24
24
  "license": "ISC",
25
25
  "dependencies": {
26
26
  "@antv/geo-coord": "^1.0.8",
27
- "@antv/l7-core": "^2.8.7",
28
- "@antv/l7-source": "^2.8.7",
29
- "@antv/l7-utils": "^2.8.7",
27
+ "@antv/l7-core": "^2.8.8",
28
+ "@antv/l7-source": "^2.8.8",
29
+ "@antv/l7-utils": "^2.8.8",
30
30
  "@babel/runtime": "^7.7.7",
31
31
  "@mapbox/martini": "^0.2.0",
32
32
  "@turf/meta": "^6.0.2",
@@ -52,7 +52,7 @@
52
52
  "@types/gl-matrix": "^2.4.5",
53
53
  "@types/lodash": "^4.14.138"
54
54
  },
55
- "gitHead": "257aaad56dd95e2a6977086e05645560bc311e99",
55
+ "gitHead": "f52bee04c38ec724c27d7ac82f712fce0083bcda",
56
56
  "publishConfig": {
57
57
  "access": "public"
58
58
  }