@artstesh/maps 1.0.0 → 1.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.
- package/dist/bundles/maps-components-src-map.umd.js +182 -65
- package/dist/bundles/maps-components-src-map.umd.js.map +1 -1
- package/dist/bundles/maps-components.umd.js +182 -65
- package/dist/bundles/maps-components.umd.js.map +1 -1
- package/dist/esm2015/map/map-plate/layers/tile-layer/tile-layer.component.js +40 -6
- package/dist/esm2015/map/map-plate/layers/tile-layer/tile-layer.factory.js +50 -0
- package/dist/esm2015/map/map-plate/layers/tile-layer/tile-layer.settings.js +14 -8
- package/dist/esm2015/map/map.module.js +3 -3
- package/dist/esm2015/map/messages/commands/add-tile.command.js +12 -0
- package/dist/esm2015/map/messages/commands/remove-tile.command.js +12 -0
- package/dist/esm2015/map/services/map-management.service.js +19 -9
- package/dist/esm2015/map/services/message-registrator.service.js +5 -3
- package/dist/esm2015/src/map/map-plate/layers/tile-layer/tile-layer.component.js +40 -6
- package/dist/esm2015/src/map/map-plate/layers/tile-layer/tile-layer.factory.js +50 -0
- package/dist/esm2015/src/map/map-plate/layers/tile-layer/tile-layer.settings.js +14 -8
- package/dist/esm2015/src/map/map.module.js +3 -3
- package/dist/esm2015/src/map/messages/commands/add-tile.command.js +12 -0
- package/dist/esm2015/src/map/messages/commands/remove-tile.command.js +12 -0
- package/dist/esm2015/src/map/services/map-management.service.js +19 -9
- package/dist/esm2015/src/map/services/message-registrator.service.js +5 -3
- package/dist/fesm2015/maps-components-src-map.js +159 -60
- package/dist/fesm2015/maps-components-src-map.js.map +1 -1
- package/dist/fesm2015/maps-components.js +159 -60
- package/dist/fesm2015/maps-components.js.map +1 -1
- package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +14 -5
- package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -0
- package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +3 -2
- package/dist/map/map.module.d.ts +1 -1
- package/dist/map/messages/commands/add-tile.command.d.ts +9 -0
- package/dist/map/messages/commands/remove-tile.command.d.ts +9 -0
- package/dist/map/services/map-management.service.d.ts +2 -1
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +14 -5
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -0
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +3 -2
- package/dist/src/map/map.module.d.ts +1 -1
- package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -0
- package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -0
- package/dist/src/map/services/map-management.service.d.ts +2 -1
- package/package.json +1 -1
- package/dist/esm2015/map/messages/commands/clear-layer.command.js +0 -12
- package/dist/esm2015/src/map/messages/commands/clear-layer.command.js +0 -12
- package/dist/map/messages/commands/clear-layer.command.d.ts +0 -7
- package/dist/src/map/messages/commands/clear-layer.command.d.ts +0 -7
|
@@ -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 === null || normalizedCoord === void 0 ? void 0 : normalizedCoord.x) || x))
|
|
27
|
+
.replace('{z}', String(zoom))
|
|
28
|
+
.replace('{y}', String(bound - ((normalizedCoord === null || normalizedCoord === void 0 ? void 0 : 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: "12.2.17", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
TileLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TileLayerFactory, decorators: [{
|
|
45
|
+
type: Injectable,
|
|
46
|
+
args: [{
|
|
47
|
+
providedIn: 'root',
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUM7aUJBQy9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSxDQUFDLEtBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBK0IsRUFBRSxJQUFZO1FBQ3RFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoQixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztZQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUMzRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OEdBbENVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IFRpbGVDb29yZCB9IGZyb20gJ29sL3RpbGVjb29yZCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJGYWN0b3J5IHtcbiAgcHVibGljIGJ1aWxkKHNldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IFRpbGVMYXllcjxYWVo+IHtcbiAgICBjb25zdCBzb3VyY2UgPSBuZXcgWFlaKHtcbiAgICAgIHRpbGVTaXplOiAyNTYsXG4gICAgICBtYXhab29tOiBzZXR0aW5ncy5tYXhab29tIHx8IDE0LFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCAxLFxuICAgICAgcHJvamVjdGlvbjogZ2V0KHNldHRpbmdzLnByb2plY3Rpb24pISxcbiAgICAgIHRpbGVVcmxGdW5jdGlvbjogdGhpcy5nZXRUaWxlRnVuYyhzZXR0aW5ncyksXG4gICAgICBjcm9zc09yaWdpbjogJ0Fub255bW91cycsXG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoeyBzb3VyY2UsIG9wYWNpdHk6IHNldHRpbmdzLm9wYWNpdHkgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRpbGVGdW5jKHNldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyk6ICh0aWxlQ29vcmQ6IFRpbGVDb29yZCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKHRpbGVDb29yZCkgPT4ge1xuICAgICAgY29uc3Qgem9vbSA9IHRpbGVDb29yZFswXTtcbiAgICAgIGNvbnN0IHggPSB0aWxlQ29vcmRbMV07XG4gICAgICBjb25zdCB5ID0gdGlsZUNvb3JkWzJdO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZENvb3JkID0gdGhpcy5nZXROb3JtYWxpemVkQ29vcmQoeyB4OiB4LCB5OiB5IH0sIHpvb20pO1xuICAgICAgY29uc3QgYm91bmQgPSAxIDw8IHpvb207XG4gICAgICByZXR1cm4gc2V0dGluZ3MudXJsXG4gICAgICAgIC5yZXBsYWNlKCd7eH0nLCBTdHJpbmcobm9ybWFsaXplZENvb3JkPy54IHx8IHgpKVxuICAgICAgICAucmVwbGFjZSgne3p9JywgU3RyaW5nKHpvb20pKVxuICAgICAgICAucmVwbGFjZSgne3l9JywgU3RyaW5nKGJvdW5kIC0gKG5vcm1hbGl6ZWRDb29yZD8ueSB8fCB5KSAtIDEpKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb3JtYWxpemVkQ29vcmQoY29vcmQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgem9vbTogbnVtYmVyKSB7XG4gICAgY29uc3QgeSA9IGNvb3JkLnk7XG4gICAgbGV0IHggPSBjb29yZC54O1xuICAgIGNvbnN0IHRpbGVSYW5nZSA9IDEgPDwgem9vbTtcbiAgICBpZiAoeSA8IDAgfHwgeSA+PSB0aWxlUmFuZ2UpIHJldHVybiBudWxsO1xuICAgIGlmICh4IDwgMCB8fCB4ID49IHRpbGVSYW5nZSkgeCA9ICgoeCAlIHRpbGVSYW5nZSkgKyB0aWxlUmFuZ2UpICUgdGlsZVJhbmdlO1xuICAgIHJldHVybiB7IHg6IHgsIHk6IHkgfTtcbiAgfVxufVxuIl19
|
|
@@ -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 =
|
|
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(Object.assign(Object.assign({}, this), { url }));
|
|
19
20
|
}
|
|
20
|
-
setName(name) {
|
|
21
|
-
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { name }));
|
|
22
|
-
}
|
|
23
21
|
setMaxZoom(maxZoom) {
|
|
24
22
|
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { maxZoom }));
|
|
25
23
|
}
|
|
26
24
|
setMinZoom(minZoom) {
|
|
27
25
|
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { minZoom }));
|
|
28
26
|
}
|
|
27
|
+
setOpacity(opacity) {
|
|
28
|
+
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { opacity }));
|
|
29
|
+
}
|
|
30
|
+
setProjection(projection) {
|
|
31
|
+
return TileLayerSettings.copy(Object.assign(Object.assign({}, 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.
|
|
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,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLEdBQUcsQ0FBQztRQUN0QixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBVyxXQUFXLENBQUM7SUF3Q25DLENBQUM7SUF0Q1EsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxHQUFHLElBQUcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxpQ0FBTSxJQUFJLEtBQUUsVUFBVSxJQUFHLENBQUM7SUFDekQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICBvcGFjaXR5OiBudW1iZXIgPSAwLjY7XG4gIHVybDogc3RyaW5nID0gJyc7XG4gIHByb2plY3Rpb246IHN0cmluZyA9ICdFUFNHOjM4NTcnO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQucHJvamVjdGlvbiA9IG1vZGVsLnByb2plY3Rpb247XG4gICAgcmVzdWx0Lm9wYWNpdHkgPSBtb2RlbC5vcGFjaXR5O1xuICAgIHJlc3VsdC51cmwgPSBtb2RlbC51cmw7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHVybCB9KTtcbiAgfVxuXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIHNldE9wYWNpdHkob3BhY2l0eTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgb3BhY2l0eSB9KTtcbiAgfVxuXG4gIHNldFByb2plY3Rpb24ocHJvamVjdGlvbjogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgcHJvamVjdGlvbiB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IFRpbGVMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy51cmwgIT09IG1vZGVsLnVybCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnByb2plY3Rpb24gIT09IG1vZGVsLnByb2plY3Rpb24pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5vcGFjaXR5ICE9PSBtb2RlbC5vcGFjaXR5KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,7 +15,7 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.
|
|
|
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: "12.2.17", ngImport: i0, type: MapModule, imports: [[CommonModule]] });
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
@@ -29,7 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", 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,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBY2xGLE1BQU0sT0FBTyxTQUFTOzt1R0FBVCxTQUFTO3dHQUFULFNBQVMsaUJBVGxCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsZ0JBQWdCLGFBUFIsWUFBWSxhQVNaLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQjt3R0FFN0UsU0FBUyxZQVhYLENBQUMsWUFBWSxDQUFDOzRGQVdaLFNBQVM7a0JBWnJCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUM7aUJBQzFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlc3RydWN0aWJsZUNvbXBvbmVudCxcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgT3NtVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbTWFwUGxhdGVDb21wb25lbnQsIEZlYXR1cmVMYXllckNvbXBvbmVudCwgTWFya2Vyc0NvbXBvbmVudCwgVGlsZUxheWVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -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 {
|
|
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,19 +15,28 @@ export class MapManagementService {
|
|
|
14
15
|
this.observeAddLayer();
|
|
15
16
|
this.observeRemoveLayer();
|
|
16
17
|
this.observePlaceFeatures();
|
|
17
|
-
this.
|
|
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
|
-
var _a, _b;
|
|
27
|
-
(_b = (_a = this.layers[c.layer]) === null || _a === void 0 ? void 0 : _a.getSource()) === null || _b === void 0 ? void 0 : _b.clear();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
40
|
observeAddLayer() {
|
|
31
41
|
this.postboy.subscribe(AddLayerCommand.ID).subscribe((c) => {
|
|
32
42
|
if (!this.map)
|
|
@@ -58,4 +68,4 @@ MapManagementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
58
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapManagementService, decorators: [{
|
|
59
69
|
type: Injectable
|
|
60
70
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzdFLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFGdEMsV0FBTSxHQUFpRCxFQUFFLENBQUM7UUFHaEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFvQixpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBaUIsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFrQixlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBNEIseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7O1lBQzlGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUNsQyxNQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLDBDQUFFLFNBQVMsRUFBRSwwQ0FBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSwwQ0FBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBcUIsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBdkRVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwTWFuYWdlbWVudFNlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcbiAgcHJpdmF0ZSBsYXllcnM6IHsgW25hbWU6IHN0cmluZ106IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZExheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm9ic2VydmVQbGFjZUZlYXR1cmVzKCk7XG4gICAgdGhpcy5vYnNlcnZlQWRkVGlsZSgpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZVRpbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVJlbW92ZVRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxSZW1vdmVUaWxlQ29tbWFuZD4oUmVtb3ZlVGlsZUNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8QWRkVGlsZUNvbW1hbmQ+KEFkZFRpbGVDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQWRkTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRMYXllckNvbW1hbmQ+KEFkZExheWVyQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVyc1tjLmxheWVyLmdldCgnbmFtZScpXSA9IGMubGF5ZXI7XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVBsYWNlRmVhdHVyZXMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kPihQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5sYXllcnNbYy5sYXllcl0pIHJldHVybjtcbiAgICAgIHRoaXMubGF5ZXJzW2MubGF5ZXJdPy5nZXRTb3VyY2UoKT8uY2xlYXIoKTtcbiAgICAgIHRoaXMubGF5ZXJzW2MubGF5ZXJdLmdldFNvdXJjZSgpPy5hZGRGZWF0dXJlcyhjLmZlYXR1cmVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVJlbW92ZUxheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UmVtb3ZlTGF5ZXJDb21tYW5kPihSZW1vdmVMYXllckNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgZGVsZXRlIHRoaXMubGF5ZXJzW2MubGF5ZXIuZ2V0KCduYW1lJyldO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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 {
|
|
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(
|
|
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: "12.2.17", 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: "12.2.17", ngImport: i0, type: MessageRegistratorService, decorators: [{
|
|
22
24
|
type: Injectable
|
|
23
25
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQUc3RSxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQVksT0FBMEI7UUFDcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxhQUFhLENBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLElBQUksT0FBTyxFQUFtQixDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxhQUFhLENBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQXNCLENBQUMsQ0FBQztRQUMzRSxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQWtCLENBQUMsQ0FBQztRQUNuRSxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLE9BQU8sRUFBcUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7O3VIQVJVLHlCQUF5QjsySEFBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3Ioc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKE1hcFJlbmRlcmVkRXZlbnQuSUQsIG5ldyBSZXBsYXlTdWJqZWN0PE1hcFJlbmRlcmVkRXZlbnQ+KDEpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKEFkZExheWVyQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8QWRkTGF5ZXJDb21tYW5kPigpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQsIG5ldyBSZXBsYXlTdWJqZWN0PFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KDEpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKFJlbW92ZUxheWVyQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8UmVtb3ZlTGF5ZXJDb21tYW5kPigpKTtcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKEFkZFRpbGVDb21tYW5kLklELCBuZXcgU3ViamVjdDxBZGRUaWxlQ29tbWFuZD4oKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihSZW1vdmVUaWxlQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8UmVtb3ZlVGlsZUNvbW1hbmQ+KCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,45 @@
|
|
|
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: "12.2.17", ngImport: i0, type: TileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: "12.2.17", ngImport: i0, type: TileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: "12.2.17", ngImport: i0, type: TileLayerComponent, decorators: [{
|
|
12
44
|
type: Component,
|
|
13
45
|
args: [{
|
|
@@ -16,5 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
16
48
|
styleUrls: [],
|
|
17
49
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18
50
|
}]
|
|
19
|
-
}], ctorParameters: function () { return []; }
|
|
20
|
-
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.TileLayerFactory }]; }, propDecorators: { settings: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFRbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUczRCxZQUFvQixPQUEwQixFQUFVLE9BQXlCO1FBQy9FLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQWNqRixjQUFTLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQVF2RCxjQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBcEJyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUlELElBQWEsUUFBUSxDQUFDLEtBQW9DO1FBQ3hELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUlPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7Z0hBbkNVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLCtHQUpuQixFQUFFOzRGQUlELGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsRUFBRTtvQkFDYixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7dUlBb0JjLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgVGlsZVNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVGlsZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyRmFjdG9yeSB9IGZyb20gJy4vdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10aWxlLWxheWVyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IHtcbiAgcHVibGljIGxheWVyPzogVGlsZUxheWVyPFhZWj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBUaWxlTGF5ZXJGYWN0b3J5KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyA9IG5ldyBUaWxlTGF5ZXJTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB0aGlzLnJlbW92ZUxheWVyKCk7XG5cbiAgcHJpdmF0ZSBpbml0TGF5ZXIoKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcigpO1xuICAgIHRoaXMubGF5ZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBBZGRUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlVGlsZUNvbW1hbmQodGhpcy5sYXllcikpO1xuICB9XG59XG4iXX0=
|
|
@@ -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 === null || normalizedCoord === void 0 ? void 0 : normalizedCoord.x) || x))
|
|
27
|
+
.replace('{z}', String(zoom))
|
|
28
|
+
.replace('{y}', String(bound - ((normalizedCoord === null || normalizedCoord === void 0 ? void 0 : 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: "12.2.17", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
TileLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TileLayerFactory, decorators: [{
|
|
45
|
+
type: Injectable,
|
|
46
|
+
args: [{
|
|
47
|
+
providedIn: 'root',
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUM7aUJBQy9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSxDQUFDLEtBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBK0IsRUFBRSxJQUFZO1FBQ3RFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoQixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztZQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUMzRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OEdBbENVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IFRpbGVDb29yZCB9IGZyb20gJ29sL3RpbGVjb29yZCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJGYWN0b3J5IHtcbiAgcHVibGljIGJ1aWxkKHNldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IFRpbGVMYXllcjxYWVo+IHtcbiAgICBjb25zdCBzb3VyY2UgPSBuZXcgWFlaKHtcbiAgICAgIHRpbGVTaXplOiAyNTYsXG4gICAgICBtYXhab29tOiBzZXR0aW5ncy5tYXhab29tIHx8IDE0LFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCAxLFxuICAgICAgcHJvamVjdGlvbjogZ2V0KHNldHRpbmdzLnByb2plY3Rpb24pISxcbiAgICAgIHRpbGVVcmxGdW5jdGlvbjogdGhpcy5nZXRUaWxlRnVuYyhzZXR0aW5ncyksXG4gICAgICBjcm9zc09yaWdpbjogJ0Fub255bW91cycsXG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoeyBzb3VyY2UsIG9wYWNpdHk6IHNldHRpbmdzLm9wYWNpdHkgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRpbGVGdW5jKHNldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyk6ICh0aWxlQ29vcmQ6IFRpbGVDb29yZCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKHRpbGVDb29yZCkgPT4ge1xuICAgICAgY29uc3Qgem9vbSA9IHRpbGVDb29yZFswXTtcbiAgICAgIGNvbnN0IHggPSB0aWxlQ29vcmRbMV07XG4gICAgICBjb25zdCB5ID0gdGlsZUNvb3JkWzJdO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZENvb3JkID0gdGhpcy5nZXROb3JtYWxpemVkQ29vcmQoeyB4OiB4LCB5OiB5IH0sIHpvb20pO1xuICAgICAgY29uc3QgYm91bmQgPSAxIDw8IHpvb207XG4gICAgICByZXR1cm4gc2V0dGluZ3MudXJsXG4gICAgICAgIC5yZXBsYWNlKCd7eH0nLCBTdHJpbmcobm9ybWFsaXplZENvb3JkPy54IHx8IHgpKVxuICAgICAgICAucmVwbGFjZSgne3p9JywgU3RyaW5nKHpvb20pKVxuICAgICAgICAucmVwbGFjZSgne3l9JywgU3RyaW5nKGJvdW5kIC0gKG5vcm1hbGl6ZWRDb29yZD8ueSB8fCB5KSAtIDEpKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb3JtYWxpemVkQ29vcmQoY29vcmQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgem9vbTogbnVtYmVyKSB7XG4gICAgY29uc3QgeSA9IGNvb3JkLnk7XG4gICAgbGV0IHggPSBjb29yZC54O1xuICAgIGNvbnN0IHRpbGVSYW5nZSA9IDEgPDwgem9vbTtcbiAgICBpZiAoeSA8IDAgfHwgeSA+PSB0aWxlUmFuZ2UpIHJldHVybiBudWxsO1xuICAgIGlmICh4IDwgMCB8fCB4ID49IHRpbGVSYW5nZSkgeCA9ICgoeCAlIHRpbGVSYW5nZSkgKyB0aWxlUmFuZ2UpICUgdGlsZVJhbmdlO1xuICAgIHJldHVybiB7IHg6IHgsIHk6IHkgfTtcbiAgfVxufVxuIl19
|
|
@@ -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 =
|
|
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(Object.assign(Object.assign({}, this), { url }));
|
|
19
20
|
}
|
|
20
|
-
setName(name) {
|
|
21
|
-
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { name }));
|
|
22
|
-
}
|
|
23
21
|
setMaxZoom(maxZoom) {
|
|
24
22
|
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { maxZoom }));
|
|
25
23
|
}
|
|
26
24
|
setMinZoom(minZoom) {
|
|
27
25
|
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { minZoom }));
|
|
28
26
|
}
|
|
27
|
+
setOpacity(opacity) {
|
|
28
|
+
return TileLayerSettings.copy(Object.assign(Object.assign({}, this), { opacity }));
|
|
29
|
+
}
|
|
30
|
+
setProjection(projection) {
|
|
31
|
+
return TileLayerSettings.copy(Object.assign(Object.assign({}, 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.
|
|
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,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLEdBQUcsQ0FBQztRQUN0QixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBVyxXQUFXLENBQUM7SUF3Q25DLENBQUM7SUF0Q1EsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxHQUFHLElBQUcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxpQ0FBTSxJQUFJLEtBQUUsVUFBVSxJQUFHLENBQUM7SUFDekQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICBvcGFjaXR5OiBudW1iZXIgPSAwLjY7XG4gIHVybDogc3RyaW5nID0gJyc7XG4gIHByb2plY3Rpb246IHN0cmluZyA9ICdFUFNHOjM4NTcnO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQucHJvamVjdGlvbiA9IG1vZGVsLnByb2plY3Rpb247XG4gICAgcmVzdWx0Lm9wYWNpdHkgPSBtb2RlbC5vcGFjaXR5O1xuICAgIHJlc3VsdC51cmwgPSBtb2RlbC51cmw7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHVybCB9KTtcbiAgfVxuXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIHNldE9wYWNpdHkob3BhY2l0eTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgb3BhY2l0eSB9KTtcbiAgfVxuXG4gIHNldFByb2plY3Rpb24ocHJvamVjdGlvbjogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgcHJvamVjdGlvbiB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IFRpbGVMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy51cmwgIT09IG1vZGVsLnVybCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnByb2plY3Rpb24gIT09IG1vZGVsLnByb2plY3Rpb24pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5vcGFjaXR5ICE9PSBtb2RlbC5vcGFjaXR5KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,7 +15,7 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.
|
|
|
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: "12.2.17", ngImport: i0, type: MapModule, imports: [[CommonModule]] });
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
@@ -29,7 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", 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,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBY2xGLE1BQU0sT0FBTyxTQUFTOzt1R0FBVCxTQUFTO3dHQUFULFNBQVMsaUJBVGxCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsZ0JBQWdCLGFBUFIsWUFBWSxhQVNaLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQjt3R0FFN0UsU0FBUyxZQVhYLENBQUMsWUFBWSxDQUFDOzRGQVdaLFNBQVM7a0JBWnJCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUM7aUJBQzFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlc3RydWN0aWJsZUNvbXBvbmVudCxcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgT3NtVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbTWFwUGxhdGVDb21wb25lbnQsIEZlYXR1cmVMYXllckNvbXBvbmVudCwgTWFya2Vyc0NvbXBvbmVudCwgVGlsZUxheWVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRpbGUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQUdoRCxZQUFtQixLQUFxQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURTLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRXhDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLGNBQWMsQ0FBQyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7QUFSc0IsaUJBQUUsR0FBRyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnLi4vZ2VuZXJpYy1tZXNzYWdlJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgVGlsZUxheWVyIGZyb20gJ29sL2xheWVyL1RpbGUnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcblxuZXhwb3J0IGNsYXNzIEFkZFRpbGVDb21tYW5kIGV4dGVuZHMgR2VuZXJpY01lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEID0gJzI1YjdkZjI4LTcyY2UtNDQ1My05ZmU2LTU0Mjg1YTJmZGM1Nyc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxheWVyOiBUaWxlTGF5ZXI8WFlaPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEFkZFRpbGVDb21tYW5kLklEO1xuICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXRpbGUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBR25ELFlBQW1CLEtBQXFCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFFeEMsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8saUJBQWlCLENBQUMsRUFBRSxDQUFDO0lBQzlCLENBQUM7O0FBUnNCLG9CQUFFLEdBQUcsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgQmFzZUxheWVyIGZyb20gJ29sL2xheWVyL0Jhc2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5cbmV4cG9ydCBjbGFzcyBSZW1vdmVUaWxlQ29tbWFuZCBleHRlbmRzIEdlbmVyaWNNZXNzYWdlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRCA9ICdjMzZjY2MwYi01NjM4LTQ4MTktYjE0OC0yZGU1N2E1OWE1YjcnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsYXllcjogVGlsZUxheWVyPFhZWj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBSZW1vdmVUaWxlQ29tbWFuZC5JRDtcbiAgfVxufVxuIl19
|