@artstesh/maps 4.1.17 → 4.1.18
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/esm2020/map/map-plate/map-plate.factory.service.mjs +3 -1
- package/dist/esm2020/map/models/map-settings.mjs +15 -1
- package/dist/esm2020/src/map/map-plate/map-plate.factory.service.mjs +3 -1
- package/dist/esm2020/src/map/models/map-settings.mjs +15 -1
- package/dist/fesm2015/maps-components-src-map.mjs +16 -1
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +16 -1
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +16 -1
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +16 -1
- package/dist/fesm2020/maps-components.mjs.map +1 -1
- package/dist/map/models/map-settings.d.ts +10 -0
- package/dist/package.json +1 -1
- package/dist/src/map/models/map-settings.d.ts +10 -0
- package/package.json +2 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import Map from 'ol/Map';
|
|
3
3
|
import View from 'ol/View';
|
|
4
|
+
import { defaults } from 'ol/interaction';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class MapPlateFactory {
|
|
6
7
|
build(settings) {
|
|
@@ -13,6 +14,7 @@ export class MapPlateFactory {
|
|
|
13
14
|
maxZoom: settings?.maxZoom || 19,
|
|
14
15
|
}),
|
|
15
16
|
layers: [],
|
|
17
|
+
interactions: defaults(settings.interactionSettings),
|
|
16
18
|
});
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -24,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
24
26
|
providedIn: 'root',
|
|
25
27
|
}]
|
|
26
28
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuZmFjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBRXpCLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQztBQUMzQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLEtBQUssQ0FBQyxRQUFxQjtRQUNoQyxPQUFPLElBQUksR0FBRyxDQUFDO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUM7Z0JBQ2IsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUN6QixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFO2FBQ2pDLENBQUM7WUFDRixNQUFNLEVBQUUsRUFBRTtZQUNWLFlBQVksRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQWJVLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgVmlldyBmcm9tICdvbC9WaWV3JztcbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVGYWN0b3J5IHtcbiAgcHVibGljIGJ1aWxkKHNldHRpbmdzOiBNYXBTZXR0aW5ncyk6IE1hcCB7XG4gICAgcmV0dXJuIG5ldyBNYXAoe1xuICAgICAgY29udHJvbHM6IFtdLFxuICAgICAgdmlldzogbmV3IFZpZXcoe1xuICAgICAgICBjZW50ZXI6IHNldHRpbmdzPy5jZW50ZXIgfHwgWzAsIDBdLFxuICAgICAgICB6b29tOiBzZXR0aW5ncz8uem9vbSB8fCA0LFxuICAgICAgICBtaW5ab29tOiBzZXR0aW5ncz8ubWluWm9vbSB8fCAwLFxuICAgICAgICBtYXhab29tOiBzZXR0aW5ncz8ubWF4Wm9vbSB8fCAxOSxcbiAgICAgIH0pLFxuICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgIGludGVyYWN0aW9uczogZGVmYXVsdHMoc2V0dGluZ3MuaW50ZXJhY3Rpb25TZXR0aW5ncyksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,6 +11,7 @@ export class MapSettings {
|
|
|
11
11
|
this.zoom = 4;
|
|
12
12
|
this.lyrs = MapLyrs.Hybrid;
|
|
13
13
|
this.language = 'en';
|
|
14
|
+
this.interactionSettings = {};
|
|
14
15
|
}
|
|
15
16
|
static copy(model) {
|
|
16
17
|
const result = new MapSettings();
|
|
@@ -19,9 +20,20 @@ export class MapSettings {
|
|
|
19
20
|
result.minZoom = model.minZoom;
|
|
20
21
|
result.zoom = model.zoom;
|
|
21
22
|
result.lyrs = model.lyrs;
|
|
23
|
+
result.interactionSettings = model.interactionSettings;
|
|
22
24
|
result.language = model.language;
|
|
23
25
|
return result;
|
|
24
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Updates the interaction settings of the map and returns a new MapSettings instance
|
|
29
|
+
* with the updated settings.
|
|
30
|
+
*
|
|
31
|
+
* @param {DefaultsOptions} interactionSettings - The new interaction settings to be applied.
|
|
32
|
+
* @return {MapSettings} A new MapSettings instance with the updated interaction settings.
|
|
33
|
+
*/
|
|
34
|
+
setInteractionSettings(interactionSettings) {
|
|
35
|
+
return MapSettings.copy({ ...this, interactionSettings });
|
|
36
|
+
}
|
|
25
37
|
/**
|
|
26
38
|
* Sets the center for the map settings.
|
|
27
39
|
*
|
|
@@ -93,7 +105,9 @@ export class MapSettings {
|
|
|
93
105
|
return false;
|
|
94
106
|
if (this.language !== model.language)
|
|
95
107
|
return false;
|
|
108
|
+
if (this.interactionSettings !== model.interactionSettings)
|
|
109
|
+
return false;
|
|
96
110
|
return this.center.length === model.center.length && !this.center.filter((c, i) => c !== model.center[i]).length;
|
|
97
111
|
}
|
|
98
112
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHMUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSxXQUFNLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsU0FBSSxHQUFZLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDL0IsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4Qix3QkFBbUIsR0FBb0IsRUFBRSxDQUFDO0lBb0c1QyxDQUFDO0lBbEdRLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBa0I7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDdkQsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxzQkFBc0IsQ0FBQyxtQkFBb0M7UUFDekQsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxNQUFnQjtRQUN4QixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLFFBQWdCO1FBQzFCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQWtCO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLEtBQUssQ0FBQyxtQkFBbUI7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXBMeXJzIH0gZnJvbSAnLi9tYXAtbHlycy5lbnVtJztcbmltcG9ydCB7IERlZmF1bHRzT3B0aW9ucyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb25maWd1cmFibGUgc2V0dGluZ3MgZm9yIGEgbWFwIGluc3RhbmNlLCBwcm92aWRpbmdcbiAqIG9wdGlvbnMgZm9yIGNlbnRlciBjb29yZGluYXRlcywgem9vbSBsZXZlbHMsIG1hcCBsYXllcnMsIGFuZCBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcFNldHRpbmdzIHtcbiAgY2VudGVyOiBudW1iZXJbXSA9IFswLCAwXTtcbiAgbWF4Wm9vbTogbnVtYmVyID0gMTk7XG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIHpvb206IG51bWJlciA9IDQ7XG4gIGx5cnM6IE1hcEx5cnMgPSBNYXBMeXJzLkh5YnJpZDtcbiAgbGFuZ3VhZ2U6IHN0cmluZyA9ICdlbic7XG4gIGludGVyYWN0aW9uU2V0dGluZ3M6IERlZmF1bHRzT3B0aW9ucyA9IHt9O1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogTWFwU2V0dGluZ3MpOiBNYXBTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcFNldHRpbmdzKCk7XG4gICAgcmVzdWx0LmNlbnRlciA9IG1vZGVsLmNlbnRlcjtcbiAgICByZXN1bHQubWF4Wm9vbSA9IG1vZGVsLm1heFpvb207XG4gICAgcmVzdWx0Lm1pblpvb20gPSBtb2RlbC5taW5ab29tO1xuICAgIHJlc3VsdC56b29tID0gbW9kZWwuem9vbTtcbiAgICByZXN1bHQubHlycyA9IG1vZGVsLmx5cnM7XG4gICAgcmVzdWx0LmludGVyYWN0aW9uU2V0dGluZ3MgPSBtb2RlbC5pbnRlcmFjdGlvblNldHRpbmdzO1xuICAgIHJlc3VsdC5sYW5ndWFnZSA9IG1vZGVsLmxhbmd1YWdlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgaW50ZXJhY3Rpb24gc2V0dGluZ3Mgb2YgdGhlIG1hcCBhbmQgcmV0dXJucyBhIG5ldyBNYXBTZXR0aW5ncyBpbnN0YW5jZVxuICAgKiB3aXRoIHRoZSB1cGRhdGVkIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge0RlZmF1bHRzT3B0aW9uc30gaW50ZXJhY3Rpb25TZXR0aW5ncyAtIFRoZSBuZXcgaW50ZXJhY3Rpb24gc2V0dGluZ3MgdG8gYmUgYXBwbGllZC5cbiAgICogQHJldHVybiB7TWFwU2V0dGluZ3N9IEEgbmV3IE1hcFNldHRpbmdzIGluc3RhbmNlIHdpdGggdGhlIHVwZGF0ZWQgaW50ZXJhY3Rpb24gc2V0dGluZ3MuXG4gICAqL1xuICBzZXRJbnRlcmFjdGlvblNldHRpbmdzKGludGVyYWN0aW9uU2V0dGluZ3M6IERlZmF1bHRzT3B0aW9ucyk6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGludGVyYWN0aW9uU2V0dGluZ3MgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2VudGVyIGZvciB0aGUgbWFwIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcltdfSBjZW50ZXIgLSBBIHR3by1lbGVtZW50IGFycmF5IHJlcHJlc2VudGluZyB0aGUgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSBvZiB0aGUgbWFwJ3MgY2VudGVyLlxuICAgKiBAcmV0dXJuIHtNYXBTZXR0aW5nc30gQSBuZXcgTWFwU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgY2VudGVyLlxuICAgKi9cbiAgc2V0Q2VudGVyKGNlbnRlcjogbnVtYmVyW10pOiBNYXBTZXR0aW5ncyB7XG4gICAgcmV0dXJuIE1hcFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBjZW50ZXIgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtNYXBTZXR0aW5nc30gQSBuZXcgaW5zdGFuY2Ugb2YgTWFwU2V0dGluZ3Mgd2l0aCB0aGUgdXBkYXRlZCBtYXhpbXVtIHpvb20gbGV2ZWwuXG4gICAqL1xuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWluaW11bSB6b29tIGxldmVsIGZvciB0aGUgbWFwIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWluWm9vbSBUaGUgbWluaW11bSB6b29tIGxldmVsIHRvIGJlIHNldC4gTXVzdCBiZSBhIHZhbGlkIG51bWVyaWMgdmFsdWUuXG4gICAqIEByZXR1cm4ge01hcFNldHRpbmdzfSBBIG5ldyBNYXBTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgdXBkYXRlZCBtaW5pbXVtIHpvb20gbGV2ZWwuXG4gICAqL1xuICBzZXRNaW5ab29tKG1pblpvb206IG51bWJlcik6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRqdXN0cyB0aGUgem9vbSBsZXZlbCBvZiB0aGUgbWFwIGJ5IHNldHRpbmcgdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpvb20gLSBUaGUgZGVzaXJlZCB6b29tIGxldmVsIHRvIGJlIHNldC5cbiAgICogQHJldHVybiB7TWFwU2V0dGluZ3N9IEEgbmV3IE1hcFNldHRpbmdzIGluc3RhbmNlIHdpdGggdGhlIHVwZGF0ZWQgem9vbSBsZXZlbC5cbiAgICovXG4gIHNldFpvb20oem9vbTogbnVtYmVyKTogTWFwU2V0dGluZ3Mge1xuICAgIHJldHVybiBNYXBTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYXllcnMgaW4gdGhlIG1hcCBzZXR0aW5ncyB3aXRoIHRoZSBwcm92aWRlZCBsYXllcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7TWFwTHlyc30gbHlycyAtIFRoZSBsYXllcnMgdG8gYmUgc2V0IGluIHRoZSBtYXAgc2V0dGluZ3MuXG4gICAqIEByZXR1cm4ge01hcFNldHRpbmdzfSBBIG5ldyBpbnN0YW5jZSBvZiBNYXBTZXR0aW5ncyB3aXRoIHRoZSB1cGRhdGVkIGxheWVycy5cbiAgICovXG4gIHNldEx5cnMobHlyczogTWFwTHlycyk6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGx5cnMgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgbGFuZ3VhZ2Ugc2V0dGluZyBmb3IgdGhlIG1hcCBjb25maWd1cmF0aW9uIGFuZCByZXR1cm5zIGEgbmV3IGluc3RhbmNlIHdpdGggdGhlIHVwZGF0ZWQgbGFuZ3VhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsYW5ndWFnZSAtIFRoZSBsYW5ndWFnZSB0byBiZSBzZXQgZm9yIHRoZSBtYXAgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybiB7TWFwU2V0dGluZ3N9IEEgbmV3IGluc3RhbmNlIG9mIE1hcFNldHRpbmdzIHdpdGggdGhlIHVwZGF0ZWQgbGFuZ3VhZ2UuXG4gICAqL1xuICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogTWFwU2V0dGluZ3Mge1xuICAgIHJldHVybiBNYXBTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbGFuZ3VhZ2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZXMgdGhlIGN1cnJlbnQgTWFwU2V0dGluZ3MgaW5zdGFuY2Ugd2l0aCBhbm90aGVyIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBpZGVudGljYWwuXG4gICAqXG4gICAqIEBwYXJhbSB7TWFwU2V0dGluZ3N9IG1vZGVsIC0gVGhlIE1hcFNldHRpbmdzIGluc3RhbmNlIHRvIGNvbXBhcmUgd2l0aCB0aGUgY3VycmVudCBpbnN0YW5jZS5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIGJvdGggTWFwU2V0dGluZ3MgaW5zdGFuY2VzIGhhdmUgdGhlIHNhbWUgcHJvcGVydGllcyBhbmQgdmFsdWVzOyBvdGhlcndpc2UsIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogTWFwU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpvb20gIT09IG1vZGVsLnpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5seXJzICE9PSBtb2RlbC5seXJzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubGFuZ3VhZ2UgIT09IG1vZGVsLmxhbmd1YWdlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuaW50ZXJhY3Rpb25TZXR0aW5ncyAhPT0gbW9kZWwuaW50ZXJhY3Rpb25TZXR0aW5ncykgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0aGlzLmNlbnRlci5sZW5ndGggPT09IG1vZGVsLmNlbnRlci5sZW5ndGggJiYgIXRoaXMuY2VudGVyLmZpbHRlcigoYywgaSkgPT4gYyAhPT0gbW9kZWwuY2VudGVyW2ldKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import Map from 'ol/Map';
|
|
3
3
|
import View from 'ol/View';
|
|
4
|
+
import { defaults } from 'ol/interaction';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class MapPlateFactory {
|
|
6
7
|
build(settings) {
|
|
@@ -13,6 +14,7 @@ export class MapPlateFactory {
|
|
|
13
14
|
maxZoom: settings?.maxZoom || 19,
|
|
14
15
|
}),
|
|
15
16
|
layers: [],
|
|
17
|
+
interactions: defaults(settings.interactionSettings),
|
|
16
18
|
});
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -24,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
24
26
|
providedIn: 'root',
|
|
25
27
|
}]
|
|
26
28
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuZmFjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBRXpCLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQztBQUMzQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLEtBQUssQ0FBQyxRQUFxQjtRQUNoQyxPQUFPLElBQUksR0FBRyxDQUFDO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUM7Z0JBQ2IsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUN6QixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFO2FBQ2pDLENBQUM7WUFDRixNQUFNLEVBQUUsRUFBRTtZQUNWLFlBQVksRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQWJVLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgVmlldyBmcm9tICdvbC9WaWV3JztcbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVGYWN0b3J5IHtcbiAgcHVibGljIGJ1aWxkKHNldHRpbmdzOiBNYXBTZXR0aW5ncyk6IE1hcCB7XG4gICAgcmV0dXJuIG5ldyBNYXAoe1xuICAgICAgY29udHJvbHM6IFtdLFxuICAgICAgdmlldzogbmV3IFZpZXcoe1xuICAgICAgICBjZW50ZXI6IHNldHRpbmdzPy5jZW50ZXIgfHwgWzAsIDBdLFxuICAgICAgICB6b29tOiBzZXR0aW5ncz8uem9vbSB8fCA0LFxuICAgICAgICBtaW5ab29tOiBzZXR0aW5ncz8ubWluWm9vbSB8fCAwLFxuICAgICAgICBtYXhab29tOiBzZXR0aW5ncz8ubWF4Wm9vbSB8fCAxOSxcbiAgICAgIH0pLFxuICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgIGludGVyYWN0aW9uczogZGVmYXVsdHMoc2V0dGluZ3MuaW50ZXJhY3Rpb25TZXR0aW5ncyksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,6 +11,7 @@ export class MapSettings {
|
|
|
11
11
|
this.zoom = 4;
|
|
12
12
|
this.lyrs = MapLyrs.Hybrid;
|
|
13
13
|
this.language = 'en';
|
|
14
|
+
this.interactionSettings = {};
|
|
14
15
|
}
|
|
15
16
|
static copy(model) {
|
|
16
17
|
const result = new MapSettings();
|
|
@@ -19,9 +20,20 @@ export class MapSettings {
|
|
|
19
20
|
result.minZoom = model.minZoom;
|
|
20
21
|
result.zoom = model.zoom;
|
|
21
22
|
result.lyrs = model.lyrs;
|
|
23
|
+
result.interactionSettings = model.interactionSettings;
|
|
22
24
|
result.language = model.language;
|
|
23
25
|
return result;
|
|
24
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Updates the interaction settings of the map and returns a new MapSettings instance
|
|
29
|
+
* with the updated settings.
|
|
30
|
+
*
|
|
31
|
+
* @param {DefaultsOptions} interactionSettings - The new interaction settings to be applied.
|
|
32
|
+
* @return {MapSettings} A new MapSettings instance with the updated interaction settings.
|
|
33
|
+
*/
|
|
34
|
+
setInteractionSettings(interactionSettings) {
|
|
35
|
+
return MapSettings.copy({ ...this, interactionSettings });
|
|
36
|
+
}
|
|
25
37
|
/**
|
|
26
38
|
* Sets the center for the map settings.
|
|
27
39
|
*
|
|
@@ -93,7 +105,9 @@ export class MapSettings {
|
|
|
93
105
|
return false;
|
|
94
106
|
if (this.language !== model.language)
|
|
95
107
|
return false;
|
|
108
|
+
if (this.interactionSettings !== model.interactionSettings)
|
|
109
|
+
return false;
|
|
96
110
|
return this.center.length === model.center.length && !this.center.filter((c, i) => c !== model.center[i]).length;
|
|
97
111
|
}
|
|
98
112
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHMUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSxXQUFNLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsU0FBSSxHQUFZLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDL0IsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4Qix3QkFBbUIsR0FBb0IsRUFBRSxDQUFDO0lBb0c1QyxDQUFDO0lBbEdRLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBa0I7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDdkQsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxzQkFBc0IsQ0FBQyxtQkFBb0M7UUFDekQsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxNQUFnQjtRQUN4QixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLFFBQWdCO1FBQzFCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQWtCO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLEtBQUssQ0FBQyxtQkFBbUI7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXBMeXJzIH0gZnJvbSAnLi9tYXAtbHlycy5lbnVtJztcbmltcG9ydCB7IERlZmF1bHRzT3B0aW9ucyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb25maWd1cmFibGUgc2V0dGluZ3MgZm9yIGEgbWFwIGluc3RhbmNlLCBwcm92aWRpbmdcbiAqIG9wdGlvbnMgZm9yIGNlbnRlciBjb29yZGluYXRlcywgem9vbSBsZXZlbHMsIG1hcCBsYXllcnMsIGFuZCBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcFNldHRpbmdzIHtcbiAgY2VudGVyOiBudW1iZXJbXSA9IFswLCAwXTtcbiAgbWF4Wm9vbTogbnVtYmVyID0gMTk7XG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIHpvb206IG51bWJlciA9IDQ7XG4gIGx5cnM6IE1hcEx5cnMgPSBNYXBMeXJzLkh5YnJpZDtcbiAgbGFuZ3VhZ2U6IHN0cmluZyA9ICdlbic7XG4gIGludGVyYWN0aW9uU2V0dGluZ3M6IERlZmF1bHRzT3B0aW9ucyA9IHt9O1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogTWFwU2V0dGluZ3MpOiBNYXBTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcFNldHRpbmdzKCk7XG4gICAgcmVzdWx0LmNlbnRlciA9IG1vZGVsLmNlbnRlcjtcbiAgICByZXN1bHQubWF4Wm9vbSA9IG1vZGVsLm1heFpvb207XG4gICAgcmVzdWx0Lm1pblpvb20gPSBtb2RlbC5taW5ab29tO1xuICAgIHJlc3VsdC56b29tID0gbW9kZWwuem9vbTtcbiAgICByZXN1bHQubHlycyA9IG1vZGVsLmx5cnM7XG4gICAgcmVzdWx0LmludGVyYWN0aW9uU2V0dGluZ3MgPSBtb2RlbC5pbnRlcmFjdGlvblNldHRpbmdzO1xuICAgIHJlc3VsdC5sYW5ndWFnZSA9IG1vZGVsLmxhbmd1YWdlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgaW50ZXJhY3Rpb24gc2V0dGluZ3Mgb2YgdGhlIG1hcCBhbmQgcmV0dXJucyBhIG5ldyBNYXBTZXR0aW5ncyBpbnN0YW5jZVxuICAgKiB3aXRoIHRoZSB1cGRhdGVkIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge0RlZmF1bHRzT3B0aW9uc30gaW50ZXJhY3Rpb25TZXR0aW5ncyAtIFRoZSBuZXcgaW50ZXJhY3Rpb24gc2V0dGluZ3MgdG8gYmUgYXBwbGllZC5cbiAgICogQHJldHVybiB7TWFwU2V0dGluZ3N9IEEgbmV3IE1hcFNldHRpbmdzIGluc3RhbmNlIHdpdGggdGhlIHVwZGF0ZWQgaW50ZXJhY3Rpb24gc2V0dGluZ3MuXG4gICAqL1xuICBzZXRJbnRlcmFjdGlvblNldHRpbmdzKGludGVyYWN0aW9uU2V0dGluZ3M6IERlZmF1bHRzT3B0aW9ucyk6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGludGVyYWN0aW9uU2V0dGluZ3MgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2VudGVyIGZvciB0aGUgbWFwIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcltdfSBjZW50ZXIgLSBBIHR3by1lbGVtZW50IGFycmF5IHJlcHJlc2VudGluZyB0aGUgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSBvZiB0aGUgbWFwJ3MgY2VudGVyLlxuICAgKiBAcmV0dXJuIHtNYXBTZXR0aW5nc30gQSBuZXcgTWFwU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgY2VudGVyLlxuICAgKi9cbiAgc2V0Q2VudGVyKGNlbnRlcjogbnVtYmVyW10pOiBNYXBTZXR0aW5ncyB7XG4gICAgcmV0dXJuIE1hcFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBjZW50ZXIgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtNYXBTZXR0aW5nc30gQSBuZXcgaW5zdGFuY2Ugb2YgTWFwU2V0dGluZ3Mgd2l0aCB0aGUgdXBkYXRlZCBtYXhpbXVtIHpvb20gbGV2ZWwuXG4gICAqL1xuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWluaW11bSB6b29tIGxldmVsIGZvciB0aGUgbWFwIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWluWm9vbSBUaGUgbWluaW11bSB6b29tIGxldmVsIHRvIGJlIHNldC4gTXVzdCBiZSBhIHZhbGlkIG51bWVyaWMgdmFsdWUuXG4gICAqIEByZXR1cm4ge01hcFNldHRpbmdzfSBBIG5ldyBNYXBTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgdXBkYXRlZCBtaW5pbXVtIHpvb20gbGV2ZWwuXG4gICAqL1xuICBzZXRNaW5ab29tKG1pblpvb206IG51bWJlcik6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRqdXN0cyB0aGUgem9vbSBsZXZlbCBvZiB0aGUgbWFwIGJ5IHNldHRpbmcgdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpvb20gLSBUaGUgZGVzaXJlZCB6b29tIGxldmVsIHRvIGJlIHNldC5cbiAgICogQHJldHVybiB7TWFwU2V0dGluZ3N9IEEgbmV3IE1hcFNldHRpbmdzIGluc3RhbmNlIHdpdGggdGhlIHVwZGF0ZWQgem9vbSBsZXZlbC5cbiAgICovXG4gIHNldFpvb20oem9vbTogbnVtYmVyKTogTWFwU2V0dGluZ3Mge1xuICAgIHJldHVybiBNYXBTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYXllcnMgaW4gdGhlIG1hcCBzZXR0aW5ncyB3aXRoIHRoZSBwcm92aWRlZCBsYXllcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7TWFwTHlyc30gbHlycyAtIFRoZSBsYXllcnMgdG8gYmUgc2V0IGluIHRoZSBtYXAgc2V0dGluZ3MuXG4gICAqIEByZXR1cm4ge01hcFNldHRpbmdzfSBBIG5ldyBpbnN0YW5jZSBvZiBNYXBTZXR0aW5ncyB3aXRoIHRoZSB1cGRhdGVkIGxheWVycy5cbiAgICovXG4gIHNldEx5cnMobHlyczogTWFwTHlycyk6IE1hcFNldHRpbmdzIHtcbiAgICByZXR1cm4gTWFwU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGx5cnMgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgbGFuZ3VhZ2Ugc2V0dGluZyBmb3IgdGhlIG1hcCBjb25maWd1cmF0aW9uIGFuZCByZXR1cm5zIGEgbmV3IGluc3RhbmNlIHdpdGggdGhlIHVwZGF0ZWQgbGFuZ3VhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsYW5ndWFnZSAtIFRoZSBsYW5ndWFnZSB0byBiZSBzZXQgZm9yIHRoZSBtYXAgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybiB7TWFwU2V0dGluZ3N9IEEgbmV3IGluc3RhbmNlIG9mIE1hcFNldHRpbmdzIHdpdGggdGhlIHVwZGF0ZWQgbGFuZ3VhZ2UuXG4gICAqL1xuICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogTWFwU2V0dGluZ3Mge1xuICAgIHJldHVybiBNYXBTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbGFuZ3VhZ2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZXMgdGhlIGN1cnJlbnQgTWFwU2V0dGluZ3MgaW5zdGFuY2Ugd2l0aCBhbm90aGVyIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBpZGVudGljYWwuXG4gICAqXG4gICAqIEBwYXJhbSB7TWFwU2V0dGluZ3N9IG1vZGVsIC0gVGhlIE1hcFNldHRpbmdzIGluc3RhbmNlIHRvIGNvbXBhcmUgd2l0aCB0aGUgY3VycmVudCBpbnN0YW5jZS5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIGJvdGggTWFwU2V0dGluZ3MgaW5zdGFuY2VzIGhhdmUgdGhlIHNhbWUgcHJvcGVydGllcyBhbmQgdmFsdWVzOyBvdGhlcndpc2UsIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogTWFwU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpvb20gIT09IG1vZGVsLnpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5seXJzICE9PSBtb2RlbC5seXJzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubGFuZ3VhZ2UgIT09IG1vZGVsLmxhbmd1YWdlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuaW50ZXJhY3Rpb25TZXR0aW5ncyAhPT0gbW9kZWwuaW50ZXJhY3Rpb25TZXR0aW5ncykgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0aGlzLmNlbnRlci5sZW5ndGggPT09IG1vZGVsLmNlbnRlci5sZW5ndGggJiYgIXRoaXMuY2VudGVyLmZpbHRlcigoYywgaSkgPT4gYyAhPT0gbW9kZWwuY2VudGVyW2ldKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,7 +9,7 @@ import { getCenter, createEmpty, extend } from 'ol/extent';
|
|
|
9
9
|
import { Control, Zoom } from 'ol/control';
|
|
10
10
|
import { get, useGeographic, transform } from 'ol/proj';
|
|
11
11
|
import { PostboyGenericMessage, PostboyCallbackMessage, PostboyExecutor, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
|
|
12
|
-
import { Draw, Modify, Translate } from 'ol/interaction';
|
|
12
|
+
import { Draw, Modify, Translate, defaults } from 'ol/interaction';
|
|
13
13
|
import { createRegularPolygon, createBox } from 'ol/interaction/Draw';
|
|
14
14
|
import * as Sphere from 'ol/sphere';
|
|
15
15
|
import { Dictionary } from '@artstesh/collections';
|
|
@@ -77,6 +77,7 @@ class MapSettings {
|
|
|
77
77
|
this.zoom = 4;
|
|
78
78
|
this.lyrs = MapLyrs.Hybrid;
|
|
79
79
|
this.language = 'en';
|
|
80
|
+
this.interactionSettings = {};
|
|
80
81
|
}
|
|
81
82
|
static copy(model) {
|
|
82
83
|
const result = new MapSettings();
|
|
@@ -85,9 +86,20 @@ class MapSettings {
|
|
|
85
86
|
result.minZoom = model.minZoom;
|
|
86
87
|
result.zoom = model.zoom;
|
|
87
88
|
result.lyrs = model.lyrs;
|
|
89
|
+
result.interactionSettings = model.interactionSettings;
|
|
88
90
|
result.language = model.language;
|
|
89
91
|
return result;
|
|
90
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Updates the interaction settings of the map and returns a new MapSettings instance
|
|
95
|
+
* with the updated settings.
|
|
96
|
+
*
|
|
97
|
+
* @param {DefaultsOptions} interactionSettings - The new interaction settings to be applied.
|
|
98
|
+
* @return {MapSettings} A new MapSettings instance with the updated interaction settings.
|
|
99
|
+
*/
|
|
100
|
+
setInteractionSettings(interactionSettings) {
|
|
101
|
+
return MapSettings.copy(Object.assign(Object.assign({}, this), { interactionSettings }));
|
|
102
|
+
}
|
|
91
103
|
/**
|
|
92
104
|
* Sets the center for the map settings.
|
|
93
105
|
*
|
|
@@ -159,6 +171,8 @@ class MapSettings {
|
|
|
159
171
|
return false;
|
|
160
172
|
if (this.language !== model.language)
|
|
161
173
|
return false;
|
|
174
|
+
if (this.interactionSettings !== model.interactionSettings)
|
|
175
|
+
return false;
|
|
162
176
|
return this.center.length === model.center.length && !this.center.filter((c, i) => c !== model.center[i]).length;
|
|
163
177
|
}
|
|
164
178
|
}
|
|
@@ -2003,6 +2017,7 @@ class MapPlateFactory {
|
|
|
2003
2017
|
maxZoom: (settings === null || settings === void 0 ? void 0 : settings.maxZoom) || 19,
|
|
2004
2018
|
}),
|
|
2005
2019
|
layers: [],
|
|
2020
|
+
interactions: defaults(settings.interactionSettings),
|
|
2006
2021
|
});
|
|
2007
2022
|
}
|
|
2008
2023
|
}
|