@artstesh/maps 4.0.0 → 4.0.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.
Files changed (43) hide show
  1. package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.component.mjs +40 -6
  2. package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -0
  3. package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +14 -8
  4. package/dist/esm2020/map/map.module.mjs +3 -3
  5. package/dist/esm2020/map/messages/commands/add-tile.command.mjs +12 -0
  6. package/dist/esm2020/map/messages/commands/remove-tile.command.mjs +12 -0
  7. package/dist/esm2020/map/services/map-management.service.mjs +19 -8
  8. package/dist/esm2020/map/services/message-registrator.service.mjs +5 -3
  9. package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +40 -6
  10. package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -0
  11. package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +14 -8
  12. package/dist/esm2020/src/map/map.module.mjs +3 -3
  13. package/dist/esm2020/src/map/messages/commands/add-tile.command.mjs +12 -0
  14. package/dist/esm2020/src/map/messages/commands/remove-tile.command.mjs +12 -0
  15. package/dist/esm2020/src/map/services/map-management.service.mjs +19 -8
  16. package/dist/esm2020/src/map/services/message-registrator.service.mjs +5 -3
  17. package/dist/fesm2015/maps-components-src-map.mjs +159 -60
  18. package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
  19. package/dist/fesm2015/maps-components.mjs +159 -60
  20. package/dist/fesm2015/maps-components.mjs.map +1 -1
  21. package/dist/fesm2020/maps-components-src-map.mjs +159 -59
  22. package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
  23. package/dist/fesm2020/maps-components.mjs +159 -59
  24. package/dist/fesm2020/maps-components.mjs.map +1 -1
  25. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +14 -5
  26. package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -0
  27. package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +3 -2
  28. package/dist/map/map.module.d.ts +1 -1
  29. package/dist/map/messages/commands/add-tile.command.d.ts +9 -0
  30. package/dist/map/messages/commands/remove-tile.command.d.ts +9 -0
  31. package/dist/map/services/map-management.service.d.ts +2 -1
  32. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +14 -5
  33. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -0
  34. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +3 -2
  35. package/dist/src/map/map.module.d.ts +1 -1
  36. package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -0
  37. package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -0
  38. package/dist/src/map/services/map-management.service.d.ts +2 -1
  39. package/package.json +1 -1
  40. package/dist/esm2020/map/messages/commands/clear-layer.command.mjs +0 -12
  41. package/dist/esm2020/src/map/messages/commands/clear-layer.command.mjs +0 -12
  42. package/dist/map/messages/commands/clear-layer.command.d.ts +0 -7
  43. package/dist/src/map/messages/commands/clear-layer.command.d.ts +0 -7
@@ -1,15 +1,49 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { TileLayerSettings } from './tile-layer.settings';
6
+ import { AddTileCommand } from '../../../messages/commands/add-tile.command';
7
+ import { RemoveTileCommand } from '../../../messages/commands/remove-tile.command';
3
8
  import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./tile-layer.factory";
4
11
  export class TileLayerComponent extends DestructibleComponent {
5
- constructor() {
12
+ constructor(postboy, factory) {
6
13
  super();
14
+ this.postboy = postboy;
15
+ this.factory = factory;
16
+ this._settings = new TileLayerSettings();
17
+ this.onDestroy = () => this.removeLayer();
18
+ }
19
+ ngOnInit() {
20
+ this.postboy
21
+ .subscribe(MapRenderedEvent.ID)
22
+ .pipe(filter((m) => !!m), first())
23
+ .subscribe((m) => this.initLayer());
24
+ }
25
+ set settings(value) {
26
+ if (!value || this._settings.isSame(value))
27
+ return;
28
+ this._settings = value;
29
+ this.initLayer();
30
+ }
31
+ initLayer() {
32
+ this.removeLayer();
33
+ this.layer = this.factory.build(this._settings);
34
+ this.postboy.fire(new AddTileCommand(this.layer));
35
+ }
36
+ removeLayer() {
37
+ if (this.layer)
38
+ this.postboy.fire(new RemoveTileCommand(this.layer));
7
39
  }
8
40
  }
9
- TileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TileLayerComponent, selector: "lib-tile-layer", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ TileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
42
+ TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TileLayerComponent, selector: "lib-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, decorators: [{
12
44
  type: Component,
13
45
  args: [{ selector: 'lib-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
14
- }], ctorParameters: function () { return []; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFXL0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUkzRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQzs7Z0hBTlUsa0JBQWtCO29HQUFsQixrQkFBa0IsNkVBSm5CLEVBQUU7NEZBSUQsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixZQUNoQixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCBUaWxlU291cmNlIGZyb20gJ29sL3NvdXJjZS9UaWxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgc291cmNlPzogWFlaO1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8VGlsZVNvdXJjZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICAvL1xuICAvLyBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IEZlYXR1cmVMYXllckZhY3RvcnkpIHtcbiAgLy8gICBzdXBlcigpO1xuICAvLyAgIHBvc3Rib3lcbiAgLy8gICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgLy8gICAgIC5waXBlKFxuICAvLyAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gIC8vICAgICAgIGZpcnN0KCksXG4gIC8vICAgICApXG4gIC8vICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgLy8gfVxuICAvL1xuICAvLyBfc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gIC8vXG4gIC8vIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgLy8gICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgLy8gICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAvLyAgIHRoaXMuaW5pdExheWVyKCk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XG4gIC8vICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgLy8gfVxuICAvL1xuICAvLyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgLy8gICBpZiAodGhpcy5sYXllcikge1xuICAvLyAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIodGhpcy5sYXllcik7XG4gIC8vICAgfVxuICAvLyAgIC8vIEB0cy1pZ25vcmVcbiAgLy8gICB0aGlzLmxheWVyPy5zZXRNYXAobnVsbCk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJpdmF0ZSBpbml0TGF5ZXIoKTogdm9pZCB7XG4gIC8vICAgaWYgKCF0aGlzLl9zZXR0aW5ncy51cmwpIHJldHVybjtcbiAgLy8gICBpZiAodGhpcy5sYXllcikgdGhpcy5wYXJlbnQubWFwLnJlbW92ZUxheWVyKHRoaXMubGF5ZXIpO1xuICAvLyAgIHRoaXMuc291cmNlID0gbmV3IFhZWih7XG4gIC8vICAgICB0aWxlU2l6ZTogMjU2LFxuICAvLyAgICAgbWF4Wm9vbTogdGhpcy5fc2V0dGluZ3MubWF4Wm9vbSxcbiAgLy8gICAgIG1pblpvb206IHRoaXMuX3NldHRpbmdzLm1pblpvb20sXG4gIC8vICAgICBwcm9qZWN0aW9uOiBnZXQoJ0VQU0c6Mzg1NycpISxcbiAgLy8gICAgIHRpbGVVcmxGdW5jdGlvbjogdGhpcy5nZXRUaWxlRnVuYygpLFxuICAvLyAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjI3MTA2MjcvdGFpbnRlZC1jYW52YXNlcy1tYXktbm90LWJlLWV4cG9ydGVkLzQ2NjM3OTYzIzQ2NjM3OTYzXG4gIC8vICAgICBjcm9zc09yaWdpbjogJ0Fub255bW91cycsXG4gIC8vICAgfSk7XG4gIC8vICAgdGhpcy5sYXllciA9IG5ldyBUaWxlTGF5ZXIoe1xuICAvLyAgICAgcHJlbG9hZDogMCxcbiAgLy8gICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gIC8vICAgICBvcGFjaXR5OiB0aGlzLl9zZXR0aW5ncy5vcGFjaXR5LFxuICAvLyAgIH0pO1xuICAvLyAgIHRoaXMubGF5ZXIuc2V0KCduYW1lJywgdGhpcy5fc2V0dGluZ3MubmFtZSk7XG4gIC8vICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJpdmF0ZSBnZXRUaWxlRnVuYygpOiAodGlsZUNvb3JkOiBUaWxlQ29vcmQpID0+IHN0cmluZyB7XG4gIC8vICAgcmV0dXJuICh0aWxlQ29vcmQpID0+IHtcbiAgLy8gICAgIGNvbnN0IHpvb20gPSB0aWxlQ29vcmRbMF07XG4gIC8vICAgICBjb25zdCB4ID0gdGlsZUNvb3JkWzFdO1xuICAvLyAgICAgY29uc3QgeSA9IHRpbGVDb29yZFsyXTtcbiAgLy8gICAgIGNvbnN0IG5vcm1hbGl6ZWRDb29yZCA9IHRoaXMuZ2V0Tm9ybWFsaXplZENvb3JkKHsgeDogeCwgeTogeSB9LCB6b29tKTtcbiAgLy8gICAgIGNvbnN0IGJvdW5kID0gMSA8PCB6b29tO1xuICAvLyAgICAgcmV0dXJuIGAke3RoaXMuX3NldHRpbmdzLnVybH0vJHt6b29tfS8ke25vcm1hbGl6ZWRDb29yZD8ueCB8fCB4fS8ke2JvdW5kIC0gKG5vcm1hbGl6ZWRDb29yZD8ueSB8fCB5KSAtIDF9YDtcbiAgLy8gICB9O1xuICAvLyB9XG4gIC8vXG4gIC8vIHByaXZhdGUgZ2V0Tm9ybWFsaXplZENvb3JkKGNvb3JkOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sIHpvb206IG51bWJlcikge1xuICAvLyAgIGNvbnN0IHkgPSBjb29yZC55O1xuICAvLyAgIGxldCB4ID0gY29vcmQueDtcbiAgLy8gICBjb25zdCB0aWxlUmFuZ2UgPSAxIDw8IHpvb207XG4gIC8vXG4gIC8vICAgLy8gZG9uJ3QgcmVwZWF0IGFjcm9zcyB5LWF4aXMgKHZlcnRpY2FsbHkpXG4gIC8vICAgaWYgKHkgPCAwIHx8IHkgPj0gdGlsZVJhbmdlKSB7XG4gIC8vICAgICByZXR1cm4gbnVsbDtcbiAgLy8gICB9XG4gIC8vICAgLy8gcmVwZWF0IGFjcm9zcyB4LWF4aXNcbiAgLy8gICBpZiAoeCA8IDAgfHwgeCA+PSB0aWxlUmFuZ2UpIHtcbiAgLy8gICAgIHggPSAoKHggJSB0aWxlUmFuZ2UpICsgdGlsZVJhbmdlKSAlIHRpbGVSYW5nZTtcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICAvLyB9XG59XG4iXX0=
46
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.TileLayerFactory }]; }, propDecorators: { settings: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFRbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUczRCxZQUFvQixPQUEwQixFQUFVLE9BQXlCO1FBQy9FLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQWNqRixjQUFTLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQVF2RCxjQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBcEJyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUlELElBQWEsUUFBUSxDQUFDLEtBQW9DO1FBQ3hELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUlPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7Z0hBbkNVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLCtHQUpuQixFQUFFOzRGQUlELGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3VJQXFCbEMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCBUaWxlU291cmNlIGZyb20gJ29sL3NvdXJjZS9UaWxlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi90aWxlLWxheWVyLmZhY3RvcnknO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4uL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8WFlaPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IFRpbGVMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBfc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBUaWxlTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5sYXllciA9IHRoaXMuZmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZFRpbGVDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { XYZ } from 'ol/source';
3
+ import { get } from 'ol/proj';
4
+ import TileLayer from 'ol/layer/Tile';
5
+ import * as i0 from "@angular/core";
6
+ export class TileLayerFactory {
7
+ build(settings) {
8
+ const source = new XYZ({
9
+ tileSize: 256,
10
+ maxZoom: settings.maxZoom || 14,
11
+ minZoom: settings.minZoom || 1,
12
+ projection: get(settings.projection),
13
+ tileUrlFunction: this.getTileFunc(settings),
14
+ crossOrigin: 'Anonymous',
15
+ });
16
+ return new TileLayer({ source, opacity: settings.opacity });
17
+ }
18
+ getTileFunc(settings) {
19
+ return (tileCoord) => {
20
+ const zoom = tileCoord[0];
21
+ const x = tileCoord[1];
22
+ const y = tileCoord[2];
23
+ const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
24
+ const bound = 1 << zoom;
25
+ return settings.url
26
+ .replace('{x}', String(normalizedCoord?.x || x))
27
+ .replace('{z}', String(zoom))
28
+ .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
+ };
30
+ }
31
+ getNormalizedCoord(coord, zoom) {
32
+ const y = coord.y;
33
+ let x = coord.x;
34
+ const tileRange = 1 << zoom;
35
+ if (y < 0 || y >= tileRange)
36
+ return null;
37
+ if (x < 0 || x >= tileRange)
38
+ x = ((x % tileRange) + tileRange) % tileRange;
39
+ return { x: x, y: y };
40
+ }
41
+ }
42
+ TileLayerFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43
+ TileLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerFactory, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root',
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs4R0FsQ1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
@@ -1,31 +1,35 @@
1
1
  export class TileLayerSettings {
2
2
  constructor() {
3
- this.name = 'tiles';
4
3
  this.maxZoom = 19;
5
4
  this.minZoom = 0;
6
- this.opacity = 1;
5
+ this.opacity = 0.6;
7
6
  this.url = '';
7
+ this.projection = 'EPSG:3857';
8
8
  }
9
9
  static copy(model) {
10
10
  const result = new TileLayerSettings();
11
- result.name = model.name;
12
11
  result.maxZoom = model.maxZoom;
13
12
  result.minZoom = model.minZoom;
13
+ result.projection = model.projection;
14
+ result.opacity = model.opacity;
14
15
  result.url = model.url;
15
16
  return result;
16
17
  }
17
18
  setUrl(url) {
18
19
  return TileLayerSettings.copy({ ...this, url });
19
20
  }
20
- setName(name) {
21
- return TileLayerSettings.copy({ ...this, name });
22
- }
23
21
  setMaxZoom(maxZoom) {
24
22
  return TileLayerSettings.copy({ ...this, maxZoom });
25
23
  }
26
24
  setMinZoom(minZoom) {
27
25
  return TileLayerSettings.copy({ ...this, minZoom });
28
26
  }
27
+ setOpacity(opacity) {
28
+ return TileLayerSettings.copy({ ...this, opacity });
29
+ }
30
+ setProjection(projection) {
31
+ return TileLayerSettings.copy({ ...this, projection });
32
+ }
29
33
  isSame(model) {
30
34
  if (this.maxZoom !== model.maxZoom)
31
35
  return false;
@@ -33,9 +37,11 @@ export class TileLayerSettings {
33
37
  return false;
34
38
  if (this.url !== model.url)
35
39
  return false;
36
- if (this.name !== model.name)
40
+ if (this.projection !== model.projection)
41
+ return false;
42
+ if (this.opacity !== model.opacity)
37
43
  return false;
38
44
  return true;
39
45
  }
40
46
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxTQUFJLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFFBQUcsR0FBVyxFQUFFLENBQUM7SUFrQ25CLENBQUM7SUFoQ1EsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gIG5hbWU6IHN0cmluZyA9ICd0aWxlcyc7XG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICBvcGFjaXR5OiBudW1iZXIgPSAxO1xuICB1cmw6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm5hbWUgPSBtb2RlbC5uYW1lO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnVybCA9IG1vZGVsLnVybDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgdXJsIH0pO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBuYW1lIH0pO1xuICB9XG5cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgcHVibGljIGlzU2FtZShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubmFtZSAhPT0gbW9kZWwubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLEdBQUcsQ0FBQztRQUN0QixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBVyxXQUFXLENBQUM7SUF3Q25DLENBQUM7SUF0Q1EsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBd0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVGlsZUxheWVyU2V0dGluZ3Mge1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgbWluWm9vbTogbnVtYmVyID0gMDtcbiAgb3BhY2l0eTogbnVtYmVyID0gMC42O1xuICB1cmw6IHN0cmluZyA9ICcnO1xuICBwcm9qZWN0aW9uOiBzdHJpbmcgPSAnRVBTRzozODU3JztcblxuICBwdWJsaWMgc3RhdGljIGNvcHkobW9kZWw6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBUaWxlTGF5ZXJTZXR0aW5ncygpO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnByb2plY3Rpb24gPSBtb2RlbC5wcm9qZWN0aW9uO1xuICAgIHJlc3VsdC5vcGFjaXR5ID0gbW9kZWwub3BhY2l0eTtcbiAgICByZXN1bHQudXJsID0gbW9kZWwudXJsO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICBzZXRNaW5ab29tKG1pblpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICBzZXRPcGFjaXR5KG9wYWNpdHk6IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG9wYWNpdHkgfSk7XG4gIH1cblxuICBzZXRQcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHByb2plY3Rpb24gfSk7XG4gIH1cblxuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMudXJsICE9PSBtb2RlbC51cmwpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uICE9PSBtb2RlbC5wcm9qZWN0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMub3BhY2l0eSAhPT0gbW9kZWwub3BhY2l0eSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
@@ -15,7 +15,7 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
15
15
  TileLayerComponent,
16
16
  OsmTileLayerComponent,
17
17
  FeatureLayerComponent,
18
- MarkersComponent], imports: [CommonModule], exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent] });
18
+ MarkersComponent], imports: [CommonModule], exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent] });
19
19
  MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
21
21
  type: NgModule,
@@ -29,7 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
29
29
  FeatureLayerComponent,
30
30
  MarkersComponent,
31
31
  ],
32
- exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent],
32
+ exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent],
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBY2xGLE1BQU0sT0FBTyxTQUFTOzt1R0FBVCxTQUFTO3dHQUFULFNBQVMsaUJBVGxCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsZ0JBQWdCLGFBUFIsWUFBWSxhQVNaLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQjt3R0FFekQsU0FBUyxZQVhWLFlBQVk7NEZBV1gsU0FBUztrQkFackIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUGxhdGVDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9zbVRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFya2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2ZlYXR1cmVzL21hcmtlcnMvbWFya2Vycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50LFxuICAgIE1hcFBsYXRlQ29tcG9uZW50LFxuICAgIFRpbGVMYXllckNvbXBvbmVudCxcbiAgICBPc21UaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtNYXBQbGF0ZUNvbXBvbmVudCwgRmVhdHVyZUxheWVyQ29tcG9uZW50LCBNYXJrZXJzQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBY2xGLE1BQU0sT0FBTyxTQUFTOzt1R0FBVCxTQUFTO3dHQUFULFNBQVMsaUJBVGxCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsZ0JBQWdCLGFBUFIsWUFBWSxhQVNaLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQjt3R0FFN0UsU0FBUyxZQVhWLFlBQVk7NEZBV1gsU0FBUztrQkFackIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztpQkFDMUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUGxhdGVDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9zbVRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFya2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2ZlYXR1cmVzL21hcmtlcnMvbWFya2Vycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50LFxuICAgIE1hcFBsYXRlQ29tcG9uZW50LFxuICAgIFRpbGVMYXllckNvbXBvbmVudCxcbiAgICBPc21UaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtNYXBQbGF0ZUNvbXBvbmVudCwgRmVhdHVyZUxheWVyQ29tcG9uZW50LCBNYXJrZXJzQ29tcG9uZW50LCBUaWxlTGF5ZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ export class AddTileCommand extends GenericMessage {
3
+ constructor(layer) {
4
+ super();
5
+ this.layer = layer;
6
+ }
7
+ get id() {
8
+ return AddTileCommand.ID;
9
+ }
10
+ }
11
+ AddTileCommand.ID = '25b7df28-72ce-4453-9fe6-54285a2fdc57';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRpbGUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQUdoRCxZQUFtQixLQUFxQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURTLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRXhDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLGNBQWMsQ0FBQyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7QUFSc0IsaUJBQUUsR0FBRyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnLi4vZ2VuZXJpYy1tZXNzYWdlJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgVGlsZUxheWVyIGZyb20gJ29sL2xheWVyL1RpbGUnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcblxuZXhwb3J0IGNsYXNzIEFkZFRpbGVDb21tYW5kIGV4dGVuZHMgR2VuZXJpY01lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEID0gJzI1YjdkZjI4LTcyY2UtNDQ1My05ZmU2LTU0Mjg1YTJmZGM1Nyc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxheWVyOiBUaWxlTGF5ZXI8WFlaPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEFkZFRpbGVDb21tYW5kLklEO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ export class RemoveTileCommand extends GenericMessage {
3
+ constructor(layer) {
4
+ super();
5
+ this.layer = layer;
6
+ }
7
+ get id() {
8
+ return RemoveTileCommand.ID;
9
+ }
10
+ }
11
+ RemoveTileCommand.ID = 'c36ccc0b-5638-4819-b148-2de57a59a5b7';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXRpbGUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBR25ELFlBQW1CLEtBQXFCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFFeEMsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8saUJBQWlCLENBQUMsRUFBRSxDQUFDO0lBQzlCLENBQUM7O0FBUnNCLG9CQUFFLEdBQUcsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgQmFzZUxheWVyIGZyb20gJ29sL2xheWVyL0Jhc2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5cbmV4cG9ydCBjbGFzcyBSZW1vdmVUaWxlQ29tbWFuZCBleHRlbmRzIEdlbmVyaWNNZXNzYWdlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRCA9ICdjMzZjY2MwYi01NjM4LTQ4MTktYjE0OC0yZGU1N2E1OWE1YjcnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsYXllcjogVGlsZUxheWVyPFhZWj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBSZW1vdmVUaWxlQ29tbWFuZC5JRDtcbiAgfVxufVxuIl19
@@ -3,7 +3,8 @@ import { AddLayerCommand } from '../messages/commands/add-layer.command';
3
3
  import { RemoveLayerCommand } from '../messages/commands/remove-layer.command';
4
4
  import { MapRenderedEvent } from '../messages';
5
5
  import { PlaceLayerFeaturesCommand } from '../messages/commands/place-layer-features.command';
6
- import { ClearLayerCommand } from '../messages/commands/clear-layer.command';
6
+ import { AddTileCommand } from '../messages/commands/add-tile.command';
7
+ import { RemoveTileCommand } from '../messages/commands/remove-tile.command';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./map-postboy.service";
9
10
  export class MapManagementService {
@@ -14,18 +15,28 @@ export class MapManagementService {
14
15
  this.observeAddLayer();
15
16
  this.observeRemoveLayer();
16
17
  this.observePlaceFeatures();
17
- this.observeClearLayer();
18
+ this.observeAddTile();
19
+ this.observeRemoveTile();
20
+ }
21
+ observeRemoveTile() {
22
+ this.postboy.subscribe(RemoveTileCommand.ID).subscribe((c) => {
23
+ if (!this.map)
24
+ return;
25
+ this.map.removeLayer(c.layer);
26
+ });
27
+ }
28
+ observeAddTile() {
29
+ this.postboy.subscribe(AddTileCommand.ID).subscribe((c) => {
30
+ if (!this.map)
31
+ return;
32
+ this.map.addLayer(c.layer);
33
+ });
18
34
  }
19
35
  observeMapRender() {
20
36
  this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
21
37
  this.map = m.map;
22
38
  });
23
39
  }
24
- observeClearLayer() {
25
- this.postboy.subscribe(ClearLayerCommand.ID).subscribe((c) => {
26
- this.layers[c.layer]?.getSource()?.clear();
27
- });
28
- }
29
40
  observeAddLayer() {
30
41
  this.postboy.subscribe(AddLayerCommand.ID).subscribe((c) => {
31
42
  if (!this.map)
@@ -56,4 +67,4 @@ MapManagementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
56
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapManagementService, decorators: [{
57
68
  type: Injectable
58
69
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUFHN0UsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUZ0QyxXQUFNLEdBQWlELEVBQUUsQ0FBQztRQUdoRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBb0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBa0IsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQTRCLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBcUIsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBOUNVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IENsZWFyTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2xlYXItbGF5ZXIuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVyczogeyBbbmFtZTogc3RyaW5nXTogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgdGhpcy5vYnNlcnZlTWFwUmVuZGVyKCk7XG4gICAgdGhpcy5vYnNlcnZlQWRkTGF5ZXIoKTtcbiAgICB0aGlzLm9ic2VydmVSZW1vdmVMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVBsYWNlRmVhdHVyZXMoKTtcbiAgICB0aGlzLm9ic2VydmVDbGVhckxheWVyKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDbGVhckxheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8Q2xlYXJMYXllckNvbW1hbmQ+KENsZWFyTGF5ZXJDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIHRoaXMubGF5ZXJzW2MubGF5ZXJdPy5nZXRTb3VyY2UoKT8uY2xlYXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZExheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8QWRkTGF5ZXJDb21tYW5kPihBZGRMYXllckNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnNbYy5sYXllci5nZXQoJ25hbWUnKV0gPSBjLmxheWVyO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVQbGFjZUZlYXR1cmVzKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZD4oUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubGF5ZXJzW2MubGF5ZXJdKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVyc1tjLmxheWVyXT8uZ2V0U291cmNlKCk/LmNsZWFyKCk7XG4gICAgICB0aGlzLmxheWVyc1tjLmxheWVyXS5nZXRTb3VyY2UoKT8uYWRkRmVhdHVyZXMoYy5mZWF0dXJlcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmVMYXllcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFJlbW92ZUxheWVyQ29tbWFuZD4oUmVtb3ZlTGF5ZXJDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIGRlbGV0ZSB0aGlzLmxheWVyc1tjLmxheWVyLmdldCgnbmFtZScpXTtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzdFLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFGdEMsV0FBTSxHQUFpRCxFQUFFLENBQUM7UUFHaEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFvQixpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBaUIsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFrQixlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBNEIseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFxQixrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEF2RFUsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVyczogeyBbbmFtZTogc3RyaW5nXTogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgdGhpcy5vYnNlcnZlTWFwUmVuZGVyKCk7XG4gICAgdGhpcy5vYnNlcnZlQWRkTGF5ZXIoKTtcbiAgICB0aGlzLm9ic2VydmVSZW1vdmVMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVBsYWNlRmVhdHVyZXMoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRUaWxlKCk7XG4gICAgdGhpcy5vYnNlcnZlUmVtb3ZlVGlsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlVGlsZSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFJlbW92ZVRpbGVDb21tYW5kPihSZW1vdmVUaWxlQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZFRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRUaWxlQ29tbWFuZD4oQWRkVGlsZUNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRMYXllcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEFkZExheWVyQ29tbWFuZD4oQWRkTGF5ZXJDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubGF5ZXJzW2MubGF5ZXIuZ2V0KCduYW1lJyldID0gYy5sYXllcjtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUGxhY2VGZWF0dXJlcygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLmxheWVyc1tjLmxheWVyXSkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnNbYy5sYXllcl0/LmdldFNvdXJjZSgpPy5jbGVhcigpO1xuICAgICAgdGhpcy5sYXllcnNbYy5sYXllcl0uZ2V0U291cmNlKCk/LmFkZEZlYXR1cmVzKGMuZmVhdHVyZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxSZW1vdmVMYXllckNvbW1hbmQ+KFJlbW92ZUxheWVyQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICBkZWxldGUgdGhpcy5sYXllcnNbYy5sYXllci5nZXQoJ25hbWUnKV07XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -4,7 +4,8 @@ import { MapRenderedEvent } from '../messages';
4
4
  import { AddLayerCommand } from '../messages/commands/add-layer.command';
5
5
  import { PlaceLayerFeaturesCommand } from '../messages/commands/place-layer-features.command';
6
6
  import { RemoveLayerCommand } from '../messages/commands/remove-layer.command';
7
- import { ClearLayerCommand } from '../messages/commands/clear-layer.command';
7
+ import { AddTileCommand } from '../messages/commands/add-tile.command';
8
+ import { RemoveTileCommand } from '../messages/commands/remove-tile.command';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "./map-postboy.service";
10
11
  export class MessageRegistratorService {
@@ -13,7 +14,8 @@ export class MessageRegistratorService {
13
14
  service.register(AddLayerCommand.ID, new Subject());
14
15
  service.register(PlaceLayerFeaturesCommand.ID, new ReplaySubject(1));
15
16
  service.register(RemoveLayerCommand.ID, new Subject());
16
- service.register(ClearLayerCommand.ID, new Subject());
17
+ service.register(AddTileCommand.ID, new Subject());
18
+ service.register(RemoveTileCommand.ID, new Subject());
17
19
  }
18
20
  }
19
21
  MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -21,4 +23,4 @@ MessageRegistratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.
21
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, decorators: [{
22
24
  type: Injectable
23
25
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzdFLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFBWSxPQUEwQjtRQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxJQUFJLGFBQWEsQ0FBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RSxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQW1CLENBQUMsQ0FBQztRQUNyRSxPQUFPLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxJQUFJLGFBQWEsQ0FBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRyxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxJQUFJLE9BQU8sRUFBc0IsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksT0FBTyxFQUFxQixDQUFDLENBQUM7SUFDM0UsQ0FBQzs7dUhBUFUseUJBQXlCOzJIQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbGVhckxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NsZWFyLWxheWVyLmNvbW1hbmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHNlcnZpY2U6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc2VydmljZS5yZWdpc3RlcihNYXBSZW5kZXJlZEV2ZW50LklELCBuZXcgUmVwbGF5U3ViamVjdDxNYXBSZW5kZXJlZEV2ZW50PigxKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihBZGRMYXllckNvbW1hbmQuSUQsIG5ldyBTdWJqZWN0PEFkZExheWVyQ29tbWFuZD4oKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kLklELCBuZXcgUmVwbGF5U3ViamVjdDxQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kPigxKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihSZW1vdmVMYXllckNvbW1hbmQuSUQsIG5ldyBTdWJqZWN0PFJlbW92ZUxheWVyQ29tbWFuZD4oKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihDbGVhckxheWVyQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8Q2xlYXJMYXllckNvbW1hbmQ+KCkpO1xuICB9XG59XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQUc3RSxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQVksT0FBMEI7UUFDcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxhQUFhLENBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLElBQUksT0FBTyxFQUFtQixDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxhQUFhLENBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQXNCLENBQUMsQ0FBQztRQUMzRSxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQWtCLENBQUMsQ0FBQztRQUNuRSxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLE9BQU8sRUFBcUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7O3VIQVJVLHlCQUF5QjsySEFBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3Ioc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKE1hcFJlbmRlcmVkRXZlbnQuSUQsIG5ldyBSZXBsYXlTdWJqZWN0PE1hcFJlbmRlcmVkRXZlbnQ+KDEpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKEFkZExheWVyQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8QWRkTGF5ZXJDb21tYW5kPigpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQsIG5ldyBSZXBsYXlTdWJqZWN0PFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KDEpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKFJlbW92ZUxheWVyQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8UmVtb3ZlTGF5ZXJDb21tYW5kPigpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKEFkZFRpbGVDb21tYW5kLklELCBuZXcgU3ViamVjdDxBZGRUaWxlQ29tbWFuZD4oKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihSZW1vdmVUaWxlQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8UmVtb3ZlVGlsZUNvbW1hbmQ+KCkpO1xuICB9XG59XG4iXX0=
@@ -1,15 +1,49 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { TileLayerSettings } from './tile-layer.settings';
6
+ import { AddTileCommand } from '../../../messages/commands/add-tile.command';
7
+ import { RemoveTileCommand } from '../../../messages/commands/remove-tile.command';
3
8
  import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./tile-layer.factory";
4
11
  export class TileLayerComponent extends DestructibleComponent {
5
- constructor() {
12
+ constructor(postboy, factory) {
6
13
  super();
14
+ this.postboy = postboy;
15
+ this.factory = factory;
16
+ this._settings = new TileLayerSettings();
17
+ this.onDestroy = () => this.removeLayer();
18
+ }
19
+ ngOnInit() {
20
+ this.postboy
21
+ .subscribe(MapRenderedEvent.ID)
22
+ .pipe(filter((m) => !!m), first())
23
+ .subscribe((m) => this.initLayer());
24
+ }
25
+ set settings(value) {
26
+ if (!value || this._settings.isSame(value))
27
+ return;
28
+ this._settings = value;
29
+ this.initLayer();
30
+ }
31
+ initLayer() {
32
+ this.removeLayer();
33
+ this.layer = this.factory.build(this._settings);
34
+ this.postboy.fire(new AddTileCommand(this.layer));
35
+ }
36
+ removeLayer() {
37
+ if (this.layer)
38
+ this.postboy.fire(new RemoveTileCommand(this.layer));
7
39
  }
8
40
  }
9
- TileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TileLayerComponent, selector: "lib-tile-layer", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ TileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
42
+ TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TileLayerComponent, selector: "lib-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, decorators: [{
12
44
  type: Component,
13
45
  args: [{ selector: 'lib-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
14
- }], ctorParameters: function () { return []; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFXL0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUkzRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQzs7Z0hBTlUsa0JBQWtCO29HQUFsQixrQkFBa0IsNkVBSm5CLEVBQUU7NEZBSUQsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixZQUNoQixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCBUaWxlU291cmNlIGZyb20gJ29sL3NvdXJjZS9UaWxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgc291cmNlPzogWFlaO1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8VGlsZVNvdXJjZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICAvL1xuICAvLyBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IEZlYXR1cmVMYXllckZhY3RvcnkpIHtcbiAgLy8gICBzdXBlcigpO1xuICAvLyAgIHBvc3Rib3lcbiAgLy8gICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgLy8gICAgIC5waXBlKFxuICAvLyAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gIC8vICAgICAgIGZpcnN0KCksXG4gIC8vICAgICApXG4gIC8vICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgLy8gfVxuICAvL1xuICAvLyBfc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gIC8vXG4gIC8vIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgLy8gICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgLy8gICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAvLyAgIHRoaXMuaW5pdExheWVyKCk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XG4gIC8vICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgLy8gfVxuICAvL1xuICAvLyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgLy8gICBpZiAodGhpcy5sYXllcikge1xuICAvLyAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIodGhpcy5sYXllcik7XG4gIC8vICAgfVxuICAvLyAgIC8vIEB0cy1pZ25vcmVcbiAgLy8gICB0aGlzLmxheWVyPy5zZXRNYXAobnVsbCk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJpdmF0ZSBpbml0TGF5ZXIoKTogdm9pZCB7XG4gIC8vICAgaWYgKCF0aGlzLl9zZXR0aW5ncy51cmwpIHJldHVybjtcbiAgLy8gICBpZiAodGhpcy5sYXllcikgdGhpcy5wYXJlbnQubWFwLnJlbW92ZUxheWVyKHRoaXMubGF5ZXIpO1xuICAvLyAgIHRoaXMuc291cmNlID0gbmV3IFhZWih7XG4gIC8vICAgICB0aWxlU2l6ZTogMjU2LFxuICAvLyAgICAgbWF4Wm9vbTogdGhpcy5fc2V0dGluZ3MubWF4Wm9vbSxcbiAgLy8gICAgIG1pblpvb206IHRoaXMuX3NldHRpbmdzLm1pblpvb20sXG4gIC8vICAgICBwcm9qZWN0aW9uOiBnZXQoJ0VQU0c6Mzg1NycpISxcbiAgLy8gICAgIHRpbGVVcmxGdW5jdGlvbjogdGhpcy5nZXRUaWxlRnVuYygpLFxuICAvLyAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjI3MTA2MjcvdGFpbnRlZC1jYW52YXNlcy1tYXktbm90LWJlLWV4cG9ydGVkLzQ2NjM3OTYzIzQ2NjM3OTYzXG4gIC8vICAgICBjcm9zc09yaWdpbjogJ0Fub255bW91cycsXG4gIC8vICAgfSk7XG4gIC8vICAgdGhpcy5sYXllciA9IG5ldyBUaWxlTGF5ZXIoe1xuICAvLyAgICAgcHJlbG9hZDogMCxcbiAgLy8gICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gIC8vICAgICBvcGFjaXR5OiB0aGlzLl9zZXR0aW5ncy5vcGFjaXR5LFxuICAvLyAgIH0pO1xuICAvLyAgIHRoaXMubGF5ZXIuc2V0KCduYW1lJywgdGhpcy5fc2V0dGluZ3MubmFtZSk7XG4gIC8vICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJpdmF0ZSBnZXRUaWxlRnVuYygpOiAodGlsZUNvb3JkOiBUaWxlQ29vcmQpID0+IHN0cmluZyB7XG4gIC8vICAgcmV0dXJuICh0aWxlQ29vcmQpID0+IHtcbiAgLy8gICAgIGNvbnN0IHpvb20gPSB0aWxlQ29vcmRbMF07XG4gIC8vICAgICBjb25zdCB4ID0gdGlsZUNvb3JkWzFdO1xuICAvLyAgICAgY29uc3QgeSA9IHRpbGVDb29yZFsyXTtcbiAgLy8gICAgIGNvbnN0IG5vcm1hbGl6ZWRDb29yZCA9IHRoaXMuZ2V0Tm9ybWFsaXplZENvb3JkKHsgeDogeCwgeTogeSB9LCB6b29tKTtcbiAgLy8gICAgIGNvbnN0IGJvdW5kID0gMSA8PCB6b29tO1xuICAvLyAgICAgcmV0dXJuIGAke3RoaXMuX3NldHRpbmdzLnVybH0vJHt6b29tfS8ke25vcm1hbGl6ZWRDb29yZD8ueCB8fCB4fS8ke2JvdW5kIC0gKG5vcm1hbGl6ZWRDb29yZD8ueSB8fCB5KSAtIDF9YDtcbiAgLy8gICB9O1xuICAvLyB9XG4gIC8vXG4gIC8vIHByaXZhdGUgZ2V0Tm9ybWFsaXplZENvb3JkKGNvb3JkOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sIHpvb206IG51bWJlcikge1xuICAvLyAgIGNvbnN0IHkgPSBjb29yZC55O1xuICAvLyAgIGxldCB4ID0gY29vcmQueDtcbiAgLy8gICBjb25zdCB0aWxlUmFuZ2UgPSAxIDw8IHpvb207XG4gIC8vXG4gIC8vICAgLy8gZG9uJ3QgcmVwZWF0IGFjcm9zcyB5LWF4aXMgKHZlcnRpY2FsbHkpXG4gIC8vICAgaWYgKHkgPCAwIHx8IHkgPj0gdGlsZVJhbmdlKSB7XG4gIC8vICAgICByZXR1cm4gbnVsbDtcbiAgLy8gICB9XG4gIC8vICAgLy8gcmVwZWF0IGFjcm9zcyB4LWF4aXNcbiAgLy8gICBpZiAoeCA8IDAgfHwgeCA+PSB0aWxlUmFuZ2UpIHtcbiAgLy8gICAgIHggPSAoKHggJSB0aWxlUmFuZ2UpICsgdGlsZVJhbmdlKSAlIHRpbGVSYW5nZTtcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICAvLyB9XG59XG4iXX0=
46
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.TileLayerFactory }]; }, propDecorators: { settings: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFRbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUczRCxZQUFvQixPQUEwQixFQUFVLE9BQXlCO1FBQy9FLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQWNqRixjQUFTLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQVF2RCxjQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBcEJyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUlELElBQWEsUUFBUSxDQUFDLEtBQW9DO1FBQ3hELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUlPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7Z0hBbkNVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLCtHQUpuQixFQUFFOzRGQUlELGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3VJQXFCbEMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCBUaWxlU291cmNlIGZyb20gJ29sL3NvdXJjZS9UaWxlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi90aWxlLWxheWVyLmZhY3RvcnknO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4uL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8WFlaPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IFRpbGVMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBfc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBUaWxlTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5sYXllciA9IHRoaXMuZmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZFRpbGVDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { XYZ } from 'ol/source';
3
+ import { get } from 'ol/proj';
4
+ import TileLayer from 'ol/layer/Tile';
5
+ import * as i0 from "@angular/core";
6
+ export class TileLayerFactory {
7
+ build(settings) {
8
+ const source = new XYZ({
9
+ tileSize: 256,
10
+ maxZoom: settings.maxZoom || 14,
11
+ minZoom: settings.minZoom || 1,
12
+ projection: get(settings.projection),
13
+ tileUrlFunction: this.getTileFunc(settings),
14
+ crossOrigin: 'Anonymous',
15
+ });
16
+ return new TileLayer({ source, opacity: settings.opacity });
17
+ }
18
+ getTileFunc(settings) {
19
+ return (tileCoord) => {
20
+ const zoom = tileCoord[0];
21
+ const x = tileCoord[1];
22
+ const y = tileCoord[2];
23
+ const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
24
+ const bound = 1 << zoom;
25
+ return settings.url
26
+ .replace('{x}', String(normalizedCoord?.x || x))
27
+ .replace('{z}', String(zoom))
28
+ .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
+ };
30
+ }
31
+ getNormalizedCoord(coord, zoom) {
32
+ const y = coord.y;
33
+ let x = coord.x;
34
+ const tileRange = 1 << zoom;
35
+ if (y < 0 || y >= tileRange)
36
+ return null;
37
+ if (x < 0 || x >= tileRange)
38
+ x = ((x % tileRange) + tileRange) % tileRange;
39
+ return { x: x, y: y };
40
+ }
41
+ }
42
+ TileLayerFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43
+ TileLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerFactory, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root',
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs4R0FsQ1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
@@ -1,31 +1,35 @@
1
1
  export class TileLayerSettings {
2
2
  constructor() {
3
- this.name = 'tiles';
4
3
  this.maxZoom = 19;
5
4
  this.minZoom = 0;
6
- this.opacity = 1;
5
+ this.opacity = 0.6;
7
6
  this.url = '';
7
+ this.projection = 'EPSG:3857';
8
8
  }
9
9
  static copy(model) {
10
10
  const result = new TileLayerSettings();
11
- result.name = model.name;
12
11
  result.maxZoom = model.maxZoom;
13
12
  result.minZoom = model.minZoom;
13
+ result.projection = model.projection;
14
+ result.opacity = model.opacity;
14
15
  result.url = model.url;
15
16
  return result;
16
17
  }
17
18
  setUrl(url) {
18
19
  return TileLayerSettings.copy({ ...this, url });
19
20
  }
20
- setName(name) {
21
- return TileLayerSettings.copy({ ...this, name });
22
- }
23
21
  setMaxZoom(maxZoom) {
24
22
  return TileLayerSettings.copy({ ...this, maxZoom });
25
23
  }
26
24
  setMinZoom(minZoom) {
27
25
  return TileLayerSettings.copy({ ...this, minZoom });
28
26
  }
27
+ setOpacity(opacity) {
28
+ return TileLayerSettings.copy({ ...this, opacity });
29
+ }
30
+ setProjection(projection) {
31
+ return TileLayerSettings.copy({ ...this, projection });
32
+ }
29
33
  isSame(model) {
30
34
  if (this.maxZoom !== model.maxZoom)
31
35
  return false;
@@ -33,9 +37,11 @@ export class TileLayerSettings {
33
37
  return false;
34
38
  if (this.url !== model.url)
35
39
  return false;
36
- if (this.name !== model.name)
40
+ if (this.projection !== model.projection)
41
+ return false;
42
+ if (this.opacity !== model.opacity)
37
43
  return false;
38
44
  return true;
39
45
  }
40
46
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxTQUFJLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFFBQUcsR0FBVyxFQUFFLENBQUM7SUFrQ25CLENBQUM7SUFoQ1EsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gIG5hbWU6IHN0cmluZyA9ICd0aWxlcyc7XG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICBvcGFjaXR5OiBudW1iZXIgPSAxO1xuICB1cmw6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm5hbWUgPSBtb2RlbC5uYW1lO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnVybCA9IG1vZGVsLnVybDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgdXJsIH0pO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBuYW1lIH0pO1xuICB9XG5cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgcHVibGljIGlzU2FtZShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubmFtZSAhPT0gbW9kZWwubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLEdBQUcsQ0FBQztRQUN0QixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBVyxXQUFXLENBQUM7SUF3Q25DLENBQUM7SUF0Q1EsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBd0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVGlsZUxheWVyU2V0dGluZ3Mge1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgbWluWm9vbTogbnVtYmVyID0gMDtcbiAgb3BhY2l0eTogbnVtYmVyID0gMC42O1xuICB1cmw6IHN0cmluZyA9ICcnO1xuICBwcm9qZWN0aW9uOiBzdHJpbmcgPSAnRVBTRzozODU3JztcblxuICBwdWJsaWMgc3RhdGljIGNvcHkobW9kZWw6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBUaWxlTGF5ZXJTZXR0aW5ncygpO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnByb2plY3Rpb24gPSBtb2RlbC5wcm9qZWN0aW9uO1xuICAgIHJlc3VsdC5vcGFjaXR5ID0gbW9kZWwub3BhY2l0eTtcbiAgICByZXN1bHQudXJsID0gbW9kZWwudXJsO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICBzZXRNaW5ab29tKG1pblpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICBzZXRPcGFjaXR5KG9wYWNpdHk6IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG9wYWNpdHkgfSk7XG4gIH1cblxuICBzZXRQcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHByb2plY3Rpb24gfSk7XG4gIH1cblxuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMudXJsICE9PSBtb2RlbC51cmwpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uICE9PSBtb2RlbC5wcm9qZWN0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMub3BhY2l0eSAhPT0gbW9kZWwub3BhY2l0eSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=