@antv/l7-scene 2.6.1 → 2.6.2
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/es/ILayerManager.d.ts +2 -0
- package/es/index.d.ts +3 -1
- package/es/index.js +15 -5
- package/es/index.js.map +1 -1
- package/lib/index.js +15 -5
- package/lib/index.js.map +1 -1
- package/package.json +8 -8
package/es/ILayerManager.d.ts
CHANGED
package/es/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import IPostProcessingPassPluggable from './IPostProcessingPassPluggable';
|
|
|
16
16
|
*
|
|
17
17
|
*/
|
|
18
18
|
declare class Scene implements IPostProcessingPassPluggable, IMapController, ILayerManager {
|
|
19
|
+
get map(): unknown;
|
|
19
20
|
private sceneService;
|
|
20
21
|
private mapService;
|
|
21
22
|
private controlService;
|
|
@@ -38,7 +39,6 @@ declare class Scene implements IPostProcessingPassPluggable, IMapController, ILa
|
|
|
38
39
|
exportPng(type?: 'png' | 'jpg'): string;
|
|
39
40
|
exportMap(type?: 'png' | 'jpg'): string;
|
|
40
41
|
registerRenderService(render: any): void;
|
|
41
|
-
get map(): unknown;
|
|
42
42
|
setBgColor(color: string): void;
|
|
43
43
|
addLayer(layer: ILayer): void;
|
|
44
44
|
getLayers(): ILayer[];
|
|
@@ -99,6 +99,8 @@ declare class Scene implements IPostProcessingPassPluggable, IMapController, ILa
|
|
|
99
99
|
lngLatToContainer(lnglat: Point): IPoint;
|
|
100
100
|
destroy(): void;
|
|
101
101
|
registerPostProcessingPass(constructor: new (...args: any[]) => IPostProcessingPass<unknown>, name: string): void;
|
|
102
|
+
enableShaderPick(): void;
|
|
103
|
+
diasbleShaderPick(): void;
|
|
102
104
|
private initComponent;
|
|
103
105
|
private initControl;
|
|
104
106
|
}
|
package/es/index.js
CHANGED
|
@@ -64,6 +64,11 @@ var Scene = function () {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
_createClass(Scene, [{
|
|
67
|
+
key: "map",
|
|
68
|
+
get: function get() {
|
|
69
|
+
return this.mapService.map;
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
67
72
|
key: "getServiceContainer",
|
|
68
73
|
value: function getServiceContainer() {
|
|
69
74
|
return this.container;
|
|
@@ -128,11 +133,6 @@ var Scene = function () {
|
|
|
128
133
|
});
|
|
129
134
|
}
|
|
130
135
|
}
|
|
131
|
-
}, {
|
|
132
|
-
key: "map",
|
|
133
|
-
get: function get() {
|
|
134
|
-
return this.mapService.map;
|
|
135
|
-
}
|
|
136
136
|
}, {
|
|
137
137
|
key: "setBgColor",
|
|
138
138
|
value: function setBgColor(color) {
|
|
@@ -403,6 +403,16 @@ var Scene = function () {
|
|
|
403
403
|
value: function registerPostProcessingPass(constructor, name) {
|
|
404
404
|
this.container.bind(TYPES.IPostProcessingPass).to(constructor).whenTargetNamed(name);
|
|
405
405
|
}
|
|
406
|
+
}, {
|
|
407
|
+
key: "enableShaderPick",
|
|
408
|
+
value: function enableShaderPick() {
|
|
409
|
+
this.layerService.enableShaderPick();
|
|
410
|
+
}
|
|
411
|
+
}, {
|
|
412
|
+
key: "diasbleShaderPick",
|
|
413
|
+
value: function diasbleShaderPick() {
|
|
414
|
+
this.layerService.disableShaderPick();
|
|
415
|
+
}
|
|
406
416
|
}, {
|
|
407
417
|
key: "initComponent",
|
|
408
418
|
value: function initComponent(id) {
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["Logo","createLayerContainer","createSceneContainer","SceneEventList","TYPES","ReglRendererService","DOM","isMini","Scene","config","id","map","canvas","hasBaseMap","sceneContainer","container","setContainer","bind","IRendererService","to","inSingletonScope","sceneService","get","ISceneService","mapService","IMapService","iconService","IIconService","fontService","IFontService","controlService","IControlService","layerService","ILayerService","markerService","IMarkerService","interactionService","IInteractionService","popupService","IPopupService","initMiniScene","initComponent","init","initControl","getSize","getMinZoom","getMaxZoom","getType","getMapContainer","getMapCanvasContainer","type","exportPng","render","loaded","renderSerivce","on","color","setBgColor","layer","layerContainer","addLayer","getLayers","getLayer","name","getLayerByName","parentLayer","remove","removeAllLayers","fontUnicode","addIconFont","options","forEach","fontFamily","fontPath","addFontFace","img","addImage","addImageMini","hasImage","removeImage","glyphs","addIconGlyphs","ctr","addControl","removeControl","getControlByName","marker","addMarker","addMarkerLayer","removeMarkerLayer","removeAllMarkers","popup","addPopup","handle","indexOf","once","off","getZoom","getCenter","center","setCenter","getPitch","pitch","setPitch","getRotation","getBounds","rotation","setRotation","zoomIn","zoomOut","p","panTo","x","y","panBy","getContainer","zoom","setZoom","bound","getSceneConfig","fitBoundsOptions","animate","fitBounds","setZoomAndCenter","style","setMapStyle","setMapStatus","pixel","pixelToLngLat","lnglat","lngLatToPixel","containerToLngLat","lngLatToContainer","destroy","constructor","IPostProcessingPass","whenTargetNamed","logoVisible","logoPosition","position"],"mappings":"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","sourcesContent":["import { Logo } from '@antv/l7-component';\nimport {\n Bounds,\n createLayerContainer,\n createSceneContainer,\n ICameraOptions,\n IControl,\n IControlService,\n IFontService,\n IIconFontGlyph,\n IIconService,\n IImage,\n IInteractionService,\n ILayer,\n ILayerService,\n ILngLat,\n IMapService,\n IMarker,\n IMarkerLayer,\n IMarkerService,\n IPoint,\n IPopup,\n IPopupService,\n IPostProcessingPass,\n IRendererService,\n ISceneConfig,\n ISceneService,\n IStatusOptions,\n Point,\n SceneEventList,\n TYPES,\n} from '@antv/l7-core';\nimport { ReglRendererService } from '@antv/l7-renderer';\nimport { DOM, isMini } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nimport ILayerManager from './ILayerManager';\nimport IMapController from './IMapController';\nimport IPostProcessingPassPluggable from './IPostProcessingPassPluggable';\n\n/**\n * 暴露 Scene API\n *\n * @example\n * import { Scene } from 'l7/scene';\n * import { PointLayer } from 'l7/layers';\n *\n * const scene = new Scene();\n * const pointLayer = new PointLayer();\n * scene.addLayer(pointLayer);\n *\n */\nclass Scene\n implements IPostProcessingPassPluggable, IMapController, ILayerManager {\n private sceneService: ISceneService;\n private mapService: IMapService<unknown>;\n private controlService: IControlService;\n private layerService: ILayerService;\n private iconService: IIconService;\n private markerService: IMarkerService;\n private popupService: IPopupService;\n private fontService: IFontService;\n private interactionService: IInteractionService;\n private container: Container;\n\n public constructor(config: ISceneConfig) {\n const { id, map, canvas, hasBaseMap } = config;\n // 创建场景容器\n const sceneContainer = createSceneContainer();\n this.container = sceneContainer;\n // 绑定地图服务\n map.setContainer(sceneContainer, id, canvas, hasBaseMap);\n\n // 绑定渲染引擎服务\n sceneContainer\n .bind<IRendererService>(TYPES.IRendererService)\n .to(ReglRendererService)\n .inSingletonScope();\n\n // 依赖注入\n this.sceneService = sceneContainer.get<ISceneService>(TYPES.ISceneService);\n this.mapService = sceneContainer.get<IMapService<unknown>>(\n TYPES.IMapService,\n );\n this.iconService = sceneContainer.get<IIconService>(TYPES.IIconService);\n this.fontService = sceneContainer.get<IFontService>(TYPES.IFontService);\n this.controlService = sceneContainer.get<IControlService>(\n TYPES.IControlService,\n );\n this.layerService = sceneContainer.get<ILayerService>(TYPES.ILayerService);\n\n this.markerService = sceneContainer.get<IMarkerService>(\n TYPES.IMarkerService,\n );\n this.interactionService = sceneContainer.get<IInteractionService>(\n TYPES.IInteractionService,\n );\n this.popupService = sceneContainer.get<IPopupService>(TYPES.IPopupService);\n\n if (isMini) {\n this.sceneService.initMiniScene(config);\n } else {\n this.initComponent(id);\n\n // 初始化 scene\n this.sceneService.init(config);\n // TODO: 初始化组件\n\n this.initControl();\n }\n }\n public getServiceContainer(): Container {\n return this.container;\n }\n public getSize(): [number, number] {\n return this.mapService.getSize();\n }\n public getMinZoom(): number {\n return this.mapService.getMinZoom();\n }\n public getMaxZoom(): number {\n return this.mapService.getMaxZoom();\n }\n public getType(): string {\n return this.mapService.getType();\n }\n public getMapContainer(): HTMLElement | null {\n return this.mapService.getMapContainer();\n }\n public getMapCanvasContainer(): HTMLElement {\n return this.mapService.getMapCanvasContainer() as HTMLElement;\n }\n\n public getMapService(): IMapService<unknown> {\n return this.mapService;\n }\n public exportPng(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public exportMap(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public registerRenderService(render: any) {\n if (this.sceneService.loaded) {\n const renderSerivce = new render(this);\n renderSerivce.init();\n } else {\n this.on('loaded', () => {\n const renderSerivce = new render(this);\n renderSerivce.init();\n });\n }\n }\n\n public get map() {\n return this.mapService.map;\n }\n\n public setBgColor(color: string) {\n this.mapService.setBgColor(color);\n }\n\n // layer 管理\n public addLayer(layer: ILayer): void {\n // 为当前图层创建一个容器\n // TODO: 初始化的时候设置 容器\n const layerContainer = createLayerContainer(this.container);\n layer.setContainer(layerContainer, this.container);\n this.sceneService.addLayer(layer);\n }\n\n public getLayers(): ILayer[] {\n return this.layerService.getLayers();\n }\n\n public getLayer(id: string): ILayer | undefined {\n return this.layerService.getLayer(id);\n }\n\n public getLayerByName(name: string): ILayer | undefined {\n return this.layerService.getLayerByName(name);\n }\n\n public removeLayer(layer: ILayer, parentLayer?: ILayer): void {\n this.layerService.remove(layer, parentLayer);\n }\n\n public removeAllLayer(): void {\n this.layerService.removeAllLayers();\n }\n\n public render(): void {\n this.sceneService.render();\n }\n\n // asset method\n /**\n * 为 layer/point/text 支持 iconfont 模式支持\n * @param fontUnicode\n * @param name\n */\n public addIconFont(name: string, fontUnicode: string): void {\n this.fontService.addIconFont(name, fontUnicode);\n }\n\n public addIconFonts(options: string[][]): void {\n options.forEach(([name, fontUnicode]) => {\n this.fontService.addIconFont(name, fontUnicode);\n });\n }\n /**\n * 用户自定义添加第三方字体\n * @param fontFamily\n * @param fontPath\n */\n public addFontFace(fontFamily: string, fontPath: string): void {\n this.sceneService.addFontFace(fontFamily, fontPath);\n }\n\n public addImage(id: string, img: IImage) {\n if (!isMini) {\n this.iconService.addImage(id, img);\n } else {\n this.iconService.addImageMini(id, img, this.sceneService);\n }\n // this.iconService.addImage(id, img);\n }\n\n public hasImage(id: string) {\n return this.iconService.hasImage(id);\n }\n\n public removeImage(id: string) {\n this.iconService.removeImage(id);\n }\n\n public addIconFontGlyphs(fontFamily: string, glyphs: IIconFontGlyph[]) {\n this.fontService.addIconGlyphs(glyphs);\n }\n\n // map control method\n public addControl(ctr: IControl) {\n this.controlService.addControl(ctr, this.container);\n }\n\n public removeControl(ctr: IControl) {\n this.controlService.removeControl(ctr);\n }\n\n public getControlByName(name: string) {\n return this.controlService.getControlByName(name);\n }\n\n // marker\n public addMarker(marker: IMarker) {\n this.markerService.addMarker(marker);\n }\n\n public addMarkerLayer(layer: IMarkerLayer) {\n this.markerService.addMarkerLayer(layer);\n }\n\n public removeMarkerLayer(layer: IMarkerLayer) {\n this.markerService.removeMarkerLayer(layer);\n }\n\n public removeAllMakers() {\n this.markerService.removeAllMarkers();\n }\n\n public addPopup(popup: IPopup) {\n this.popupService.addPopup(popup);\n }\n\n public on(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.on(type, handle)\n : this.sceneService.on(type, handle);\n }\n\n public once(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.once(type, handle)\n : this.sceneService.once(type, handle);\n }\n\n public off(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.off(type, handle)\n : this.sceneService.off(type, handle);\n }\n\n // implements IMapController\n\n public getZoom(): number {\n return this.mapService.getZoom();\n }\n\n public getCenter(options?: ICameraOptions): ILngLat {\n return this.mapService.getCenter(options);\n }\n\n public setCenter(center: [number, number], options?: ICameraOptions) {\n return this.mapService.setCenter(center, options);\n }\n\n public getPitch(): number {\n return this.mapService.getPitch();\n }\n\n public setPitch(pitch: number) {\n return this.mapService.setPitch(pitch);\n }\n\n public getRotation(): number {\n return this.mapService.getRotation();\n }\n\n public getBounds(): Bounds {\n return this.mapService.getBounds();\n }\n\n public setRotation(rotation: number): void {\n this.mapService.setRotation(rotation);\n }\n public zoomIn(): void {\n this.mapService.zoomIn();\n }\n\n public zoomOut(): void {\n this.mapService.zoomOut();\n }\n\n public panTo(p: Point): void {\n this.mapService.panTo(p);\n }\n\n public panBy(x: number, y: number): void {\n this.mapService.panBy(x, y);\n }\n\n public getContainer() {\n return this.mapService.getContainer();\n }\n public setZoom(zoom: number): void {\n this.mapService.setZoom(zoom);\n }\n public fitBounds(bound: Bounds, options?: unknown): void {\n const { fitBoundsOptions, animate } = this.sceneService.getSceneConfig();\n this.mapService.fitBounds(\n bound,\n // 选项优先级:用户传入,覆盖animate直接配置,覆盖Scene配置项传入\n options || {\n ...(fitBoundsOptions as object),\n animate,\n },\n );\n }\n\n public setZoomAndCenter(zoom: number, center: Point): void {\n this.mapService.setZoomAndCenter(zoom, center);\n }\n\n public setMapStyle(style: any): void {\n this.mapService.setMapStyle(style);\n }\n\n public setMapStatus(options: Partial<IStatusOptions>) {\n this.mapService.setMapStatus(options);\n }\n\n // conversion Method\n public pixelToLngLat(pixel: Point): ILngLat {\n return this.mapService.pixelToLngLat(pixel);\n }\n\n public lngLatToPixel(lnglat: Point): IPoint {\n return this.mapService.lngLatToPixel(lnglat);\n }\n\n public containerToLngLat(pixel: Point): ILngLat {\n return this.mapService.containerToLngLat(pixel);\n }\n\n public lngLatToContainer(lnglat: Point): IPoint {\n return this.mapService.lngLatToContainer(lnglat);\n }\n\n public destroy() {\n this.sceneService.destroy();\n // TODO: 清理其他 Service 例如 IconService\n }\n\n public registerPostProcessingPass(\n constructor: new (...args: any[]) => IPostProcessingPass<unknown>,\n name: string,\n ) {\n this.container\n .bind<IPostProcessingPass<unknown>>(TYPES.IPostProcessingPass)\n .to(constructor)\n .whenTargetNamed(name);\n }\n\n private initComponent(id: string | HTMLDivElement) {\n this.controlService.init(\n {\n container: DOM.getContainer(id),\n },\n this.container,\n );\n this.markerService.init(this.container);\n this.popupService.init(this.container);\n }\n\n private initControl() {\n const { logoVisible, logoPosition } = this.sceneService.getSceneConfig();\n if (logoVisible) {\n this.addControl(new Logo({ position: logoPosition }));\n }\n }\n // 资源管理\n}\n\nexport { Scene };\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["Logo","createLayerContainer","createSceneContainer","SceneEventList","TYPES","ReglRendererService","DOM","isMini","Scene","config","id","map","canvas","hasBaseMap","sceneContainer","container","setContainer","bind","IRendererService","to","inSingletonScope","sceneService","get","ISceneService","mapService","IMapService","iconService","IIconService","fontService","IFontService","controlService","IControlService","layerService","ILayerService","markerService","IMarkerService","interactionService","IInteractionService","popupService","IPopupService","initMiniScene","initComponent","init","initControl","getSize","getMinZoom","getMaxZoom","getType","getMapContainer","getMapCanvasContainer","type","exportPng","render","loaded","renderSerivce","on","color","setBgColor","layer","layerContainer","addLayer","getLayers","getLayer","name","getLayerByName","parentLayer","remove","removeAllLayers","fontUnicode","addIconFont","options","forEach","fontFamily","fontPath","addFontFace","img","addImage","addImageMini","hasImage","removeImage","glyphs","addIconGlyphs","ctr","addControl","removeControl","getControlByName","marker","addMarker","addMarkerLayer","removeMarkerLayer","removeAllMarkers","popup","addPopup","handle","indexOf","once","off","getZoom","getCenter","center","setCenter","getPitch","pitch","setPitch","getRotation","getBounds","rotation","setRotation","zoomIn","zoomOut","p","panTo","x","y","panBy","getContainer","zoom","setZoom","bound","getSceneConfig","fitBoundsOptions","animate","fitBounds","setZoomAndCenter","style","setMapStyle","setMapStatus","pixel","pixelToLngLat","lnglat","lngLatToPixel","containerToLngLat","lngLatToContainer","destroy","constructor","IPostProcessingPass","whenTargetNamed","enableShaderPick","disableShaderPick","logoVisible","logoPosition","position"],"mappings":"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","sourcesContent":["import { Logo } from '@antv/l7-component';\nimport {\n Bounds,\n createLayerContainer,\n createSceneContainer,\n ICameraOptions,\n IControl,\n IControlService,\n IFontService,\n IIconFontGlyph,\n IIconService,\n IImage,\n IInteractionService,\n ILayer,\n ILayerService,\n ILngLat,\n IMapService,\n IMarker,\n IMarkerLayer,\n IMarkerService,\n IPoint,\n IPopup,\n IPopupService,\n IPostProcessingPass,\n IRendererService,\n ISceneConfig,\n ISceneService,\n IStatusOptions,\n Point,\n SceneEventList,\n TYPES,\n} from '@antv/l7-core';\nimport { ReglRendererService } from '@antv/l7-renderer';\nimport { DOM, isMini } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nimport ILayerManager from './ILayerManager';\nimport IMapController from './IMapController';\nimport IPostProcessingPassPluggable from './IPostProcessingPassPluggable';\n\n/**\n * 暴露 Scene API\n *\n * @example\n * import { Scene } from 'l7/scene';\n * import { PointLayer } from 'l7/layers';\n *\n * const scene = new Scene();\n * const pointLayer = new PointLayer();\n * scene.addLayer(pointLayer);\n *\n */\nclass Scene\n implements IPostProcessingPassPluggable, IMapController, ILayerManager {\n public get map() {\n return this.mapService.map;\n }\n private sceneService: ISceneService;\n private mapService: IMapService<unknown>;\n private controlService: IControlService;\n private layerService: ILayerService;\n private iconService: IIconService;\n private markerService: IMarkerService;\n private popupService: IPopupService;\n private fontService: IFontService;\n private interactionService: IInteractionService;\n private container: Container;\n\n public constructor(config: ISceneConfig) {\n const { id, map, canvas, hasBaseMap } = config;\n // 创建场景容器\n const sceneContainer = createSceneContainer();\n this.container = sceneContainer;\n // 绑定地图服务\n map.setContainer(sceneContainer, id, canvas, hasBaseMap);\n\n // 绑定渲染引擎服务\n sceneContainer\n .bind<IRendererService>(TYPES.IRendererService)\n .to(ReglRendererService)\n .inSingletonScope();\n\n // 依赖注入\n this.sceneService = sceneContainer.get<ISceneService>(TYPES.ISceneService);\n this.mapService = sceneContainer.get<IMapService<unknown>>(\n TYPES.IMapService,\n );\n this.iconService = sceneContainer.get<IIconService>(TYPES.IIconService);\n this.fontService = sceneContainer.get<IFontService>(TYPES.IFontService);\n this.controlService = sceneContainer.get<IControlService>(\n TYPES.IControlService,\n );\n this.layerService = sceneContainer.get<ILayerService>(TYPES.ILayerService);\n\n this.markerService = sceneContainer.get<IMarkerService>(\n TYPES.IMarkerService,\n );\n this.interactionService = sceneContainer.get<IInteractionService>(\n TYPES.IInteractionService,\n );\n this.popupService = sceneContainer.get<IPopupService>(TYPES.IPopupService);\n\n if (isMini) {\n this.sceneService.initMiniScene(config);\n } else {\n this.initComponent(id);\n\n // 初始化 scene\n this.sceneService.init(config);\n // TODO: 初始化组件\n\n this.initControl();\n }\n }\n public getServiceContainer(): Container {\n return this.container;\n }\n public getSize(): [number, number] {\n return this.mapService.getSize();\n }\n public getMinZoom(): number {\n return this.mapService.getMinZoom();\n }\n public getMaxZoom(): number {\n return this.mapService.getMaxZoom();\n }\n public getType(): string {\n return this.mapService.getType();\n }\n public getMapContainer(): HTMLElement | null {\n return this.mapService.getMapContainer();\n }\n public getMapCanvasContainer(): HTMLElement {\n return this.mapService.getMapCanvasContainer() as HTMLElement;\n }\n\n public getMapService(): IMapService<unknown> {\n return this.mapService;\n }\n public exportPng(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public exportMap(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public registerRenderService(render: any) {\n if (this.sceneService.loaded) {\n const renderSerivce = new render(this);\n renderSerivce.init();\n } else {\n this.on('loaded', () => {\n const renderSerivce = new render(this);\n renderSerivce.init();\n });\n }\n }\n\n public setBgColor(color: string) {\n this.mapService.setBgColor(color);\n }\n\n // layer 管理\n public addLayer(layer: ILayer): void {\n // 为当前图层创建一个容器\n // TODO: 初始化的时候设置 容器\n const layerContainer = createLayerContainer(this.container);\n layer.setContainer(layerContainer, this.container);\n this.sceneService.addLayer(layer);\n }\n\n public getLayers(): ILayer[] {\n return this.layerService.getLayers();\n }\n\n public getLayer(id: string): ILayer | undefined {\n return this.layerService.getLayer(id);\n }\n\n public getLayerByName(name: string): ILayer | undefined {\n return this.layerService.getLayerByName(name);\n }\n\n public removeLayer(layer: ILayer, parentLayer?: ILayer): void {\n this.layerService.remove(layer, parentLayer);\n }\n\n public removeAllLayer(): void {\n this.layerService.removeAllLayers();\n }\n\n public render(): void {\n this.sceneService.render();\n }\n\n // asset method\n /**\n * 为 layer/point/text 支持 iconfont 模式支持\n * @param fontUnicode\n * @param name\n */\n public addIconFont(name: string, fontUnicode: string): void {\n this.fontService.addIconFont(name, fontUnicode);\n }\n\n public addIconFonts(options: string[][]): void {\n options.forEach(([name, fontUnicode]) => {\n this.fontService.addIconFont(name, fontUnicode);\n });\n }\n /**\n * 用户自定义添加第三方字体\n * @param fontFamily\n * @param fontPath\n */\n public addFontFace(fontFamily: string, fontPath: string): void {\n this.sceneService.addFontFace(fontFamily, fontPath);\n }\n\n public addImage(id: string, img: IImage) {\n if (!isMini) {\n this.iconService.addImage(id, img);\n } else {\n this.iconService.addImageMini(id, img, this.sceneService);\n }\n // this.iconService.addImage(id, img);\n }\n\n public hasImage(id: string) {\n return this.iconService.hasImage(id);\n }\n\n public removeImage(id: string) {\n this.iconService.removeImage(id);\n }\n\n public addIconFontGlyphs(fontFamily: string, glyphs: IIconFontGlyph[]) {\n this.fontService.addIconGlyphs(glyphs);\n }\n\n // map control method\n public addControl(ctr: IControl) {\n this.controlService.addControl(ctr, this.container);\n }\n\n public removeControl(ctr: IControl) {\n this.controlService.removeControl(ctr);\n }\n\n public getControlByName(name: string) {\n return this.controlService.getControlByName(name);\n }\n\n // marker\n public addMarker(marker: IMarker) {\n this.markerService.addMarker(marker);\n }\n\n public addMarkerLayer(layer: IMarkerLayer) {\n this.markerService.addMarkerLayer(layer);\n }\n\n public removeMarkerLayer(layer: IMarkerLayer) {\n this.markerService.removeMarkerLayer(layer);\n }\n\n public removeAllMakers() {\n this.markerService.removeAllMarkers();\n }\n\n public addPopup(popup: IPopup) {\n this.popupService.addPopup(popup);\n }\n\n public on(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.on(type, handle)\n : this.sceneService.on(type, handle);\n }\n\n public once(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.once(type, handle)\n : this.sceneService.once(type, handle);\n }\n\n public off(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.off(type, handle)\n : this.sceneService.off(type, handle);\n }\n\n // implements IMapController\n\n public getZoom(): number {\n return this.mapService.getZoom();\n }\n\n public getCenter(options?: ICameraOptions): ILngLat {\n return this.mapService.getCenter(options);\n }\n\n public setCenter(center: [number, number], options?: ICameraOptions) {\n return this.mapService.setCenter(center, options);\n }\n\n public getPitch(): number {\n return this.mapService.getPitch();\n }\n\n public setPitch(pitch: number) {\n return this.mapService.setPitch(pitch);\n }\n\n public getRotation(): number {\n return this.mapService.getRotation();\n }\n\n public getBounds(): Bounds {\n return this.mapService.getBounds();\n }\n\n public setRotation(rotation: number): void {\n this.mapService.setRotation(rotation);\n }\n public zoomIn(): void {\n this.mapService.zoomIn();\n }\n\n public zoomOut(): void {\n this.mapService.zoomOut();\n }\n\n public panTo(p: Point): void {\n this.mapService.panTo(p);\n }\n\n public panBy(x: number, y: number): void {\n this.mapService.panBy(x, y);\n }\n\n public getContainer() {\n return this.mapService.getContainer();\n }\n public setZoom(zoom: number): void {\n this.mapService.setZoom(zoom);\n }\n public fitBounds(bound: Bounds, options?: unknown): void {\n const { fitBoundsOptions, animate } = this.sceneService.getSceneConfig();\n this.mapService.fitBounds(\n bound,\n // 选项优先级:用户传入,覆盖animate直接配置,覆盖Scene配置项传入\n options || {\n ...(fitBoundsOptions as object),\n animate,\n },\n );\n }\n\n public setZoomAndCenter(zoom: number, center: Point): void {\n this.mapService.setZoomAndCenter(zoom, center);\n }\n\n public setMapStyle(style: any): void {\n this.mapService.setMapStyle(style);\n }\n\n public setMapStatus(options: Partial<IStatusOptions>) {\n this.mapService.setMapStatus(options);\n }\n\n // conversion Method\n public pixelToLngLat(pixel: Point): ILngLat {\n return this.mapService.pixelToLngLat(pixel);\n }\n\n public lngLatToPixel(lnglat: Point): IPoint {\n return this.mapService.lngLatToPixel(lnglat);\n }\n\n public containerToLngLat(pixel: Point): ILngLat {\n return this.mapService.containerToLngLat(pixel);\n }\n\n public lngLatToContainer(lnglat: Point): IPoint {\n return this.mapService.lngLatToContainer(lnglat);\n }\n\n public destroy() {\n this.sceneService.destroy();\n // TODO: 清理其他 Service 例如 IconService\n }\n\n public registerPostProcessingPass(\n constructor: new (...args: any[]) => IPostProcessingPass<unknown>,\n name: string,\n ) {\n this.container\n .bind<IPostProcessingPass<unknown>>(TYPES.IPostProcessingPass)\n .to(constructor)\n .whenTargetNamed(name);\n }\n // 资源管理\n\n // 控制 shader pick 计算\n public enableShaderPick() {\n this.layerService.enableShaderPick();\n }\n\n public diasbleShaderPick() {\n this.layerService.disableShaderPick();\n }\n\n private initComponent(id: string | HTMLDivElement) {\n this.controlService.init(\n {\n container: DOM.getContainer(id),\n },\n this.container,\n );\n this.markerService.init(this.container);\n this.popupService.init(this.container);\n }\n\n private initControl() {\n const { logoVisible, logoPosition } = this.sceneService.getSceneConfig();\n if (logoVisible) {\n this.addControl(new Logo({ position: logoPosition }));\n }\n }\n}\n\nexport { Scene };\n"],"file":"index.js"}
|
package/lib/index.js
CHANGED
|
@@ -68,6 +68,11 @@ var Scene = function () {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
(0, _createClass2.default)(Scene, [{
|
|
71
|
+
key: "map",
|
|
72
|
+
get: function get() {
|
|
73
|
+
return this.mapService.map;
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
71
76
|
key: "getServiceContainer",
|
|
72
77
|
value: function getServiceContainer() {
|
|
73
78
|
return this.container;
|
|
@@ -132,11 +137,6 @@ var Scene = function () {
|
|
|
132
137
|
});
|
|
133
138
|
}
|
|
134
139
|
}
|
|
135
|
-
}, {
|
|
136
|
-
key: "map",
|
|
137
|
-
get: function get() {
|
|
138
|
-
return this.mapService.map;
|
|
139
|
-
}
|
|
140
140
|
}, {
|
|
141
141
|
key: "setBgColor",
|
|
142
142
|
value: function setBgColor(color) {
|
|
@@ -407,6 +407,16 @@ var Scene = function () {
|
|
|
407
407
|
value: function registerPostProcessingPass(constructor, name) {
|
|
408
408
|
this.container.bind(_l7Core.TYPES.IPostProcessingPass).to(constructor).whenTargetNamed(name);
|
|
409
409
|
}
|
|
410
|
+
}, {
|
|
411
|
+
key: "enableShaderPick",
|
|
412
|
+
value: function enableShaderPick() {
|
|
413
|
+
this.layerService.enableShaderPick();
|
|
414
|
+
}
|
|
415
|
+
}, {
|
|
416
|
+
key: "diasbleShaderPick",
|
|
417
|
+
value: function diasbleShaderPick() {
|
|
418
|
+
this.layerService.disableShaderPick();
|
|
419
|
+
}
|
|
410
420
|
}, {
|
|
411
421
|
key: "initComponent",
|
|
412
422
|
value: function initComponent(id) {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["Scene","config","id","map","canvas","hasBaseMap","sceneContainer","container","setContainer","bind","TYPES","IRendererService","to","ReglRendererService","inSingletonScope","sceneService","get","ISceneService","mapService","IMapService","iconService","IIconService","fontService","IFontService","controlService","IControlService","layerService","ILayerService","markerService","IMarkerService","interactionService","IInteractionService","popupService","IPopupService","isMini","initMiniScene","initComponent","init","initControl","getSize","getMinZoom","getMaxZoom","getType","getMapContainer","getMapCanvasContainer","type","exportPng","render","loaded","renderSerivce","on","color","setBgColor","layer","layerContainer","addLayer","getLayers","getLayer","name","getLayerByName","parentLayer","remove","removeAllLayers","fontUnicode","addIconFont","options","forEach","fontFamily","fontPath","addFontFace","img","addImage","addImageMini","hasImage","removeImage","glyphs","addIconGlyphs","ctr","addControl","removeControl","getControlByName","marker","addMarker","addMarkerLayer","removeMarkerLayer","removeAllMarkers","popup","addPopup","handle","SceneEventList","indexOf","once","off","getZoom","getCenter","center","setCenter","getPitch","pitch","setPitch","getRotation","getBounds","rotation","setRotation","zoomIn","zoomOut","p","panTo","x","y","panBy","getContainer","zoom","setZoom","bound","getSceneConfig","fitBoundsOptions","animate","fitBounds","setZoomAndCenter","style","setMapStyle","setMapStatus","pixel","pixelToLngLat","lnglat","lngLatToPixel","containerToLngLat","lngLatToContainer","destroy","constructor","IPostProcessingPass","whenTargetNamed","DOM","logoVisible","logoPosition","Logo","position"],"mappings":"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","sourcesContent":["import { Logo } from '@antv/l7-component';\nimport {\n Bounds,\n createLayerContainer,\n createSceneContainer,\n ICameraOptions,\n IControl,\n IControlService,\n IFontService,\n IIconFontGlyph,\n IIconService,\n IImage,\n IInteractionService,\n ILayer,\n ILayerService,\n ILngLat,\n IMapService,\n IMarker,\n IMarkerLayer,\n IMarkerService,\n IPoint,\n IPopup,\n IPopupService,\n IPostProcessingPass,\n IRendererService,\n ISceneConfig,\n ISceneService,\n IStatusOptions,\n Point,\n SceneEventList,\n TYPES,\n} from '@antv/l7-core';\nimport { ReglRendererService } from '@antv/l7-renderer';\nimport { DOM, isMini } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nimport ILayerManager from './ILayerManager';\nimport IMapController from './IMapController';\nimport IPostProcessingPassPluggable from './IPostProcessingPassPluggable';\n\n/**\n * 暴露 Scene API\n *\n * @example\n * import { Scene } from 'l7/scene';\n * import { PointLayer } from 'l7/layers';\n *\n * const scene = new Scene();\n * const pointLayer = new PointLayer();\n * scene.addLayer(pointLayer);\n *\n */\nclass Scene\n implements IPostProcessingPassPluggable, IMapController, ILayerManager {\n private sceneService: ISceneService;\n private mapService: IMapService<unknown>;\n private controlService: IControlService;\n private layerService: ILayerService;\n private iconService: IIconService;\n private markerService: IMarkerService;\n private popupService: IPopupService;\n private fontService: IFontService;\n private interactionService: IInteractionService;\n private container: Container;\n\n public constructor(config: ISceneConfig) {\n const { id, map, canvas, hasBaseMap } = config;\n // 创建场景容器\n const sceneContainer = createSceneContainer();\n this.container = sceneContainer;\n // 绑定地图服务\n map.setContainer(sceneContainer, id, canvas, hasBaseMap);\n\n // 绑定渲染引擎服务\n sceneContainer\n .bind<IRendererService>(TYPES.IRendererService)\n .to(ReglRendererService)\n .inSingletonScope();\n\n // 依赖注入\n this.sceneService = sceneContainer.get<ISceneService>(TYPES.ISceneService);\n this.mapService = sceneContainer.get<IMapService<unknown>>(\n TYPES.IMapService,\n );\n this.iconService = sceneContainer.get<IIconService>(TYPES.IIconService);\n this.fontService = sceneContainer.get<IFontService>(TYPES.IFontService);\n this.controlService = sceneContainer.get<IControlService>(\n TYPES.IControlService,\n );\n this.layerService = sceneContainer.get<ILayerService>(TYPES.ILayerService);\n\n this.markerService = sceneContainer.get<IMarkerService>(\n TYPES.IMarkerService,\n );\n this.interactionService = sceneContainer.get<IInteractionService>(\n TYPES.IInteractionService,\n );\n this.popupService = sceneContainer.get<IPopupService>(TYPES.IPopupService);\n\n if (isMini) {\n this.sceneService.initMiniScene(config);\n } else {\n this.initComponent(id);\n\n // 初始化 scene\n this.sceneService.init(config);\n // TODO: 初始化组件\n\n this.initControl();\n }\n }\n public getServiceContainer(): Container {\n return this.container;\n }\n public getSize(): [number, number] {\n return this.mapService.getSize();\n }\n public getMinZoom(): number {\n return this.mapService.getMinZoom();\n }\n public getMaxZoom(): number {\n return this.mapService.getMaxZoom();\n }\n public getType(): string {\n return this.mapService.getType();\n }\n public getMapContainer(): HTMLElement | null {\n return this.mapService.getMapContainer();\n }\n public getMapCanvasContainer(): HTMLElement {\n return this.mapService.getMapCanvasContainer() as HTMLElement;\n }\n\n public getMapService(): IMapService<unknown> {\n return this.mapService;\n }\n public exportPng(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public exportMap(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public registerRenderService(render: any) {\n if (this.sceneService.loaded) {\n const renderSerivce = new render(this);\n renderSerivce.init();\n } else {\n this.on('loaded', () => {\n const renderSerivce = new render(this);\n renderSerivce.init();\n });\n }\n }\n\n public get map() {\n return this.mapService.map;\n }\n\n public setBgColor(color: string) {\n this.mapService.setBgColor(color);\n }\n\n // layer 管理\n public addLayer(layer: ILayer): void {\n // 为当前图层创建一个容器\n // TODO: 初始化的时候设置 容器\n const layerContainer = createLayerContainer(this.container);\n layer.setContainer(layerContainer, this.container);\n this.sceneService.addLayer(layer);\n }\n\n public getLayers(): ILayer[] {\n return this.layerService.getLayers();\n }\n\n public getLayer(id: string): ILayer | undefined {\n return this.layerService.getLayer(id);\n }\n\n public getLayerByName(name: string): ILayer | undefined {\n return this.layerService.getLayerByName(name);\n }\n\n public removeLayer(layer: ILayer, parentLayer?: ILayer): void {\n this.layerService.remove(layer, parentLayer);\n }\n\n public removeAllLayer(): void {\n this.layerService.removeAllLayers();\n }\n\n public render(): void {\n this.sceneService.render();\n }\n\n // asset method\n /**\n * 为 layer/point/text 支持 iconfont 模式支持\n * @param fontUnicode\n * @param name\n */\n public addIconFont(name: string, fontUnicode: string): void {\n this.fontService.addIconFont(name, fontUnicode);\n }\n\n public addIconFonts(options: string[][]): void {\n options.forEach(([name, fontUnicode]) => {\n this.fontService.addIconFont(name, fontUnicode);\n });\n }\n /**\n * 用户自定义添加第三方字体\n * @param fontFamily\n * @param fontPath\n */\n public addFontFace(fontFamily: string, fontPath: string): void {\n this.sceneService.addFontFace(fontFamily, fontPath);\n }\n\n public addImage(id: string, img: IImage) {\n if (!isMini) {\n this.iconService.addImage(id, img);\n } else {\n this.iconService.addImageMini(id, img, this.sceneService);\n }\n // this.iconService.addImage(id, img);\n }\n\n public hasImage(id: string) {\n return this.iconService.hasImage(id);\n }\n\n public removeImage(id: string) {\n this.iconService.removeImage(id);\n }\n\n public addIconFontGlyphs(fontFamily: string, glyphs: IIconFontGlyph[]) {\n this.fontService.addIconGlyphs(glyphs);\n }\n\n // map control method\n public addControl(ctr: IControl) {\n this.controlService.addControl(ctr, this.container);\n }\n\n public removeControl(ctr: IControl) {\n this.controlService.removeControl(ctr);\n }\n\n public getControlByName(name: string) {\n return this.controlService.getControlByName(name);\n }\n\n // marker\n public addMarker(marker: IMarker) {\n this.markerService.addMarker(marker);\n }\n\n public addMarkerLayer(layer: IMarkerLayer) {\n this.markerService.addMarkerLayer(layer);\n }\n\n public removeMarkerLayer(layer: IMarkerLayer) {\n this.markerService.removeMarkerLayer(layer);\n }\n\n public removeAllMakers() {\n this.markerService.removeAllMarkers();\n }\n\n public addPopup(popup: IPopup) {\n this.popupService.addPopup(popup);\n }\n\n public on(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.on(type, handle)\n : this.sceneService.on(type, handle);\n }\n\n public once(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.once(type, handle)\n : this.sceneService.once(type, handle);\n }\n\n public off(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.off(type, handle)\n : this.sceneService.off(type, handle);\n }\n\n // implements IMapController\n\n public getZoom(): number {\n return this.mapService.getZoom();\n }\n\n public getCenter(options?: ICameraOptions): ILngLat {\n return this.mapService.getCenter(options);\n }\n\n public setCenter(center: [number, number], options?: ICameraOptions) {\n return this.mapService.setCenter(center, options);\n }\n\n public getPitch(): number {\n return this.mapService.getPitch();\n }\n\n public setPitch(pitch: number) {\n return this.mapService.setPitch(pitch);\n }\n\n public getRotation(): number {\n return this.mapService.getRotation();\n }\n\n public getBounds(): Bounds {\n return this.mapService.getBounds();\n }\n\n public setRotation(rotation: number): void {\n this.mapService.setRotation(rotation);\n }\n public zoomIn(): void {\n this.mapService.zoomIn();\n }\n\n public zoomOut(): void {\n this.mapService.zoomOut();\n }\n\n public panTo(p: Point): void {\n this.mapService.panTo(p);\n }\n\n public panBy(x: number, y: number): void {\n this.mapService.panBy(x, y);\n }\n\n public getContainer() {\n return this.mapService.getContainer();\n }\n public setZoom(zoom: number): void {\n this.mapService.setZoom(zoom);\n }\n public fitBounds(bound: Bounds, options?: unknown): void {\n const { fitBoundsOptions, animate } = this.sceneService.getSceneConfig();\n this.mapService.fitBounds(\n bound,\n // 选项优先级:用户传入,覆盖animate直接配置,覆盖Scene配置项传入\n options || {\n ...(fitBoundsOptions as object),\n animate,\n },\n );\n }\n\n public setZoomAndCenter(zoom: number, center: Point): void {\n this.mapService.setZoomAndCenter(zoom, center);\n }\n\n public setMapStyle(style: any): void {\n this.mapService.setMapStyle(style);\n }\n\n public setMapStatus(options: Partial<IStatusOptions>) {\n this.mapService.setMapStatus(options);\n }\n\n // conversion Method\n public pixelToLngLat(pixel: Point): ILngLat {\n return this.mapService.pixelToLngLat(pixel);\n }\n\n public lngLatToPixel(lnglat: Point): IPoint {\n return this.mapService.lngLatToPixel(lnglat);\n }\n\n public containerToLngLat(pixel: Point): ILngLat {\n return this.mapService.containerToLngLat(pixel);\n }\n\n public lngLatToContainer(lnglat: Point): IPoint {\n return this.mapService.lngLatToContainer(lnglat);\n }\n\n public destroy() {\n this.sceneService.destroy();\n // TODO: 清理其他 Service 例如 IconService\n }\n\n public registerPostProcessingPass(\n constructor: new (...args: any[]) => IPostProcessingPass<unknown>,\n name: string,\n ) {\n this.container\n .bind<IPostProcessingPass<unknown>>(TYPES.IPostProcessingPass)\n .to(constructor)\n .whenTargetNamed(name);\n }\n\n private initComponent(id: string | HTMLDivElement) {\n this.controlService.init(\n {\n container: DOM.getContainer(id),\n },\n this.container,\n );\n this.markerService.init(this.container);\n this.popupService.init(this.container);\n }\n\n private initControl() {\n const { logoVisible, logoPosition } = this.sceneService.getSceneConfig();\n if (logoVisible) {\n this.addControl(new Logo({ position: logoPosition }));\n }\n }\n // 资源管理\n}\n\nexport { Scene };\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["Scene","config","id","map","canvas","hasBaseMap","sceneContainer","container","setContainer","bind","TYPES","IRendererService","to","ReglRendererService","inSingletonScope","sceneService","get","ISceneService","mapService","IMapService","iconService","IIconService","fontService","IFontService","controlService","IControlService","layerService","ILayerService","markerService","IMarkerService","interactionService","IInteractionService","popupService","IPopupService","isMini","initMiniScene","initComponent","init","initControl","getSize","getMinZoom","getMaxZoom","getType","getMapContainer","getMapCanvasContainer","type","exportPng","render","loaded","renderSerivce","on","color","setBgColor","layer","layerContainer","addLayer","getLayers","getLayer","name","getLayerByName","parentLayer","remove","removeAllLayers","fontUnicode","addIconFont","options","forEach","fontFamily","fontPath","addFontFace","img","addImage","addImageMini","hasImage","removeImage","glyphs","addIconGlyphs","ctr","addControl","removeControl","getControlByName","marker","addMarker","addMarkerLayer","removeMarkerLayer","removeAllMarkers","popup","addPopup","handle","SceneEventList","indexOf","once","off","getZoom","getCenter","center","setCenter","getPitch","pitch","setPitch","getRotation","getBounds","rotation","setRotation","zoomIn","zoomOut","p","panTo","x","y","panBy","getContainer","zoom","setZoom","bound","getSceneConfig","fitBoundsOptions","animate","fitBounds","setZoomAndCenter","style","setMapStyle","setMapStatus","pixel","pixelToLngLat","lnglat","lngLatToPixel","containerToLngLat","lngLatToContainer","destroy","constructor","IPostProcessingPass","whenTargetNamed","enableShaderPick","disableShaderPick","DOM","logoVisible","logoPosition","Logo","position"],"mappings":"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","sourcesContent":["import { Logo } from '@antv/l7-component';\nimport {\n Bounds,\n createLayerContainer,\n createSceneContainer,\n ICameraOptions,\n IControl,\n IControlService,\n IFontService,\n IIconFontGlyph,\n IIconService,\n IImage,\n IInteractionService,\n ILayer,\n ILayerService,\n ILngLat,\n IMapService,\n IMarker,\n IMarkerLayer,\n IMarkerService,\n IPoint,\n IPopup,\n IPopupService,\n IPostProcessingPass,\n IRendererService,\n ISceneConfig,\n ISceneService,\n IStatusOptions,\n Point,\n SceneEventList,\n TYPES,\n} from '@antv/l7-core';\nimport { ReglRendererService } from '@antv/l7-renderer';\nimport { DOM, isMini } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nimport ILayerManager from './ILayerManager';\nimport IMapController from './IMapController';\nimport IPostProcessingPassPluggable from './IPostProcessingPassPluggable';\n\n/**\n * 暴露 Scene API\n *\n * @example\n * import { Scene } from 'l7/scene';\n * import { PointLayer } from 'l7/layers';\n *\n * const scene = new Scene();\n * const pointLayer = new PointLayer();\n * scene.addLayer(pointLayer);\n *\n */\nclass Scene\n implements IPostProcessingPassPluggable, IMapController, ILayerManager {\n public get map() {\n return this.mapService.map;\n }\n private sceneService: ISceneService;\n private mapService: IMapService<unknown>;\n private controlService: IControlService;\n private layerService: ILayerService;\n private iconService: IIconService;\n private markerService: IMarkerService;\n private popupService: IPopupService;\n private fontService: IFontService;\n private interactionService: IInteractionService;\n private container: Container;\n\n public constructor(config: ISceneConfig) {\n const { id, map, canvas, hasBaseMap } = config;\n // 创建场景容器\n const sceneContainer = createSceneContainer();\n this.container = sceneContainer;\n // 绑定地图服务\n map.setContainer(sceneContainer, id, canvas, hasBaseMap);\n\n // 绑定渲染引擎服务\n sceneContainer\n .bind<IRendererService>(TYPES.IRendererService)\n .to(ReglRendererService)\n .inSingletonScope();\n\n // 依赖注入\n this.sceneService = sceneContainer.get<ISceneService>(TYPES.ISceneService);\n this.mapService = sceneContainer.get<IMapService<unknown>>(\n TYPES.IMapService,\n );\n this.iconService = sceneContainer.get<IIconService>(TYPES.IIconService);\n this.fontService = sceneContainer.get<IFontService>(TYPES.IFontService);\n this.controlService = sceneContainer.get<IControlService>(\n TYPES.IControlService,\n );\n this.layerService = sceneContainer.get<ILayerService>(TYPES.ILayerService);\n\n this.markerService = sceneContainer.get<IMarkerService>(\n TYPES.IMarkerService,\n );\n this.interactionService = sceneContainer.get<IInteractionService>(\n TYPES.IInteractionService,\n );\n this.popupService = sceneContainer.get<IPopupService>(TYPES.IPopupService);\n\n if (isMini) {\n this.sceneService.initMiniScene(config);\n } else {\n this.initComponent(id);\n\n // 初始化 scene\n this.sceneService.init(config);\n // TODO: 初始化组件\n\n this.initControl();\n }\n }\n public getServiceContainer(): Container {\n return this.container;\n }\n public getSize(): [number, number] {\n return this.mapService.getSize();\n }\n public getMinZoom(): number {\n return this.mapService.getMinZoom();\n }\n public getMaxZoom(): number {\n return this.mapService.getMaxZoom();\n }\n public getType(): string {\n return this.mapService.getType();\n }\n public getMapContainer(): HTMLElement | null {\n return this.mapService.getMapContainer();\n }\n public getMapCanvasContainer(): HTMLElement {\n return this.mapService.getMapCanvasContainer() as HTMLElement;\n }\n\n public getMapService(): IMapService<unknown> {\n return this.mapService;\n }\n public exportPng(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public exportMap(type?: 'png' | 'jpg'): string {\n return this.sceneService.exportPng(type);\n }\n\n public registerRenderService(render: any) {\n if (this.sceneService.loaded) {\n const renderSerivce = new render(this);\n renderSerivce.init();\n } else {\n this.on('loaded', () => {\n const renderSerivce = new render(this);\n renderSerivce.init();\n });\n }\n }\n\n public setBgColor(color: string) {\n this.mapService.setBgColor(color);\n }\n\n // layer 管理\n public addLayer(layer: ILayer): void {\n // 为当前图层创建一个容器\n // TODO: 初始化的时候设置 容器\n const layerContainer = createLayerContainer(this.container);\n layer.setContainer(layerContainer, this.container);\n this.sceneService.addLayer(layer);\n }\n\n public getLayers(): ILayer[] {\n return this.layerService.getLayers();\n }\n\n public getLayer(id: string): ILayer | undefined {\n return this.layerService.getLayer(id);\n }\n\n public getLayerByName(name: string): ILayer | undefined {\n return this.layerService.getLayerByName(name);\n }\n\n public removeLayer(layer: ILayer, parentLayer?: ILayer): void {\n this.layerService.remove(layer, parentLayer);\n }\n\n public removeAllLayer(): void {\n this.layerService.removeAllLayers();\n }\n\n public render(): void {\n this.sceneService.render();\n }\n\n // asset method\n /**\n * 为 layer/point/text 支持 iconfont 模式支持\n * @param fontUnicode\n * @param name\n */\n public addIconFont(name: string, fontUnicode: string): void {\n this.fontService.addIconFont(name, fontUnicode);\n }\n\n public addIconFonts(options: string[][]): void {\n options.forEach(([name, fontUnicode]) => {\n this.fontService.addIconFont(name, fontUnicode);\n });\n }\n /**\n * 用户自定义添加第三方字体\n * @param fontFamily\n * @param fontPath\n */\n public addFontFace(fontFamily: string, fontPath: string): void {\n this.sceneService.addFontFace(fontFamily, fontPath);\n }\n\n public addImage(id: string, img: IImage) {\n if (!isMini) {\n this.iconService.addImage(id, img);\n } else {\n this.iconService.addImageMini(id, img, this.sceneService);\n }\n // this.iconService.addImage(id, img);\n }\n\n public hasImage(id: string) {\n return this.iconService.hasImage(id);\n }\n\n public removeImage(id: string) {\n this.iconService.removeImage(id);\n }\n\n public addIconFontGlyphs(fontFamily: string, glyphs: IIconFontGlyph[]) {\n this.fontService.addIconGlyphs(glyphs);\n }\n\n // map control method\n public addControl(ctr: IControl) {\n this.controlService.addControl(ctr, this.container);\n }\n\n public removeControl(ctr: IControl) {\n this.controlService.removeControl(ctr);\n }\n\n public getControlByName(name: string) {\n return this.controlService.getControlByName(name);\n }\n\n // marker\n public addMarker(marker: IMarker) {\n this.markerService.addMarker(marker);\n }\n\n public addMarkerLayer(layer: IMarkerLayer) {\n this.markerService.addMarkerLayer(layer);\n }\n\n public removeMarkerLayer(layer: IMarkerLayer) {\n this.markerService.removeMarkerLayer(layer);\n }\n\n public removeAllMakers() {\n this.markerService.removeAllMarkers();\n }\n\n public addPopup(popup: IPopup) {\n this.popupService.addPopup(popup);\n }\n\n public on(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.on(type, handle)\n : this.sceneService.on(type, handle);\n }\n\n public once(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.once(type, handle)\n : this.sceneService.once(type, handle);\n }\n\n public off(type: string, handle: (...args: any[]) => void): void {\n SceneEventList.indexOf(type) === -1\n ? this.mapService.off(type, handle)\n : this.sceneService.off(type, handle);\n }\n\n // implements IMapController\n\n public getZoom(): number {\n return this.mapService.getZoom();\n }\n\n public getCenter(options?: ICameraOptions): ILngLat {\n return this.mapService.getCenter(options);\n }\n\n public setCenter(center: [number, number], options?: ICameraOptions) {\n return this.mapService.setCenter(center, options);\n }\n\n public getPitch(): number {\n return this.mapService.getPitch();\n }\n\n public setPitch(pitch: number) {\n return this.mapService.setPitch(pitch);\n }\n\n public getRotation(): number {\n return this.mapService.getRotation();\n }\n\n public getBounds(): Bounds {\n return this.mapService.getBounds();\n }\n\n public setRotation(rotation: number): void {\n this.mapService.setRotation(rotation);\n }\n public zoomIn(): void {\n this.mapService.zoomIn();\n }\n\n public zoomOut(): void {\n this.mapService.zoomOut();\n }\n\n public panTo(p: Point): void {\n this.mapService.panTo(p);\n }\n\n public panBy(x: number, y: number): void {\n this.mapService.panBy(x, y);\n }\n\n public getContainer() {\n return this.mapService.getContainer();\n }\n public setZoom(zoom: number): void {\n this.mapService.setZoom(zoom);\n }\n public fitBounds(bound: Bounds, options?: unknown): void {\n const { fitBoundsOptions, animate } = this.sceneService.getSceneConfig();\n this.mapService.fitBounds(\n bound,\n // 选项优先级:用户传入,覆盖animate直接配置,覆盖Scene配置项传入\n options || {\n ...(fitBoundsOptions as object),\n animate,\n },\n );\n }\n\n public setZoomAndCenter(zoom: number, center: Point): void {\n this.mapService.setZoomAndCenter(zoom, center);\n }\n\n public setMapStyle(style: any): void {\n this.mapService.setMapStyle(style);\n }\n\n public setMapStatus(options: Partial<IStatusOptions>) {\n this.mapService.setMapStatus(options);\n }\n\n // conversion Method\n public pixelToLngLat(pixel: Point): ILngLat {\n return this.mapService.pixelToLngLat(pixel);\n }\n\n public lngLatToPixel(lnglat: Point): IPoint {\n return this.mapService.lngLatToPixel(lnglat);\n }\n\n public containerToLngLat(pixel: Point): ILngLat {\n return this.mapService.containerToLngLat(pixel);\n }\n\n public lngLatToContainer(lnglat: Point): IPoint {\n return this.mapService.lngLatToContainer(lnglat);\n }\n\n public destroy() {\n this.sceneService.destroy();\n // TODO: 清理其他 Service 例如 IconService\n }\n\n public registerPostProcessingPass(\n constructor: new (...args: any[]) => IPostProcessingPass<unknown>,\n name: string,\n ) {\n this.container\n .bind<IPostProcessingPass<unknown>>(TYPES.IPostProcessingPass)\n .to(constructor)\n .whenTargetNamed(name);\n }\n // 资源管理\n\n // 控制 shader pick 计算\n public enableShaderPick() {\n this.layerService.enableShaderPick();\n }\n\n public diasbleShaderPick() {\n this.layerService.disableShaderPick();\n }\n\n private initComponent(id: string | HTMLDivElement) {\n this.controlService.init(\n {\n container: DOM.getContainer(id),\n },\n this.container,\n );\n this.markerService.init(this.container);\n this.popupService.init(this.container);\n }\n\n private initControl() {\n const { logoVisible, logoPosition } = this.sceneService.getSceneConfig();\n if (logoVisible) {\n this.addControl(new Logo({ position: logoPosition }));\n }\n }\n}\n\nexport { Scene };\n"],"file":"index.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antv/l7-scene",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -23,18 +23,18 @@
|
|
|
23
23
|
"author": "xiaoiver",
|
|
24
24
|
"license": "ISC",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@antv/l7-component": "^2.6.
|
|
27
|
-
"@antv/l7-core": "^2.6.
|
|
28
|
-
"@antv/l7-layers": "^2.6.
|
|
29
|
-
"@antv/l7-maps": "^2.6.
|
|
30
|
-
"@antv/l7-renderer": "^2.6.
|
|
31
|
-
"@antv/l7-utils": "^2.6.
|
|
26
|
+
"@antv/l7-component": "^2.6.2",
|
|
27
|
+
"@antv/l7-core": "^2.6.2",
|
|
28
|
+
"@antv/l7-layers": "^2.6.2",
|
|
29
|
+
"@antv/l7-maps": "^2.6.2",
|
|
30
|
+
"@antv/l7-renderer": "^2.6.2",
|
|
31
|
+
"@antv/l7-utils": "^2.6.2",
|
|
32
32
|
"@babel/runtime": "^7.7.7",
|
|
33
33
|
"inversify": "^5.0.1",
|
|
34
34
|
"mapbox-gl": "^1.2.1",
|
|
35
35
|
"reflect-metadata": "^0.1.13"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "179fd69b803f2ed1636b14e8eaaa0a7579b54168",
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
40
40
|
}
|