Skip to content

Commit ac6e509

Browse files
committed
fix: map in settings could do weird movements
1 parent 8669ec9 commit ac6e509

File tree

2 files changed

+24
-30
lines changed

2 files changed

+24
-30
lines changed

libs/safe/src/lib/components/ui/map/map.component.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,6 @@ export class MapComponent
217217
this.setUpMapListeners();
218218

219219
setTimeout(() => {
220-
console.log('invalidating');
221220
this.map.invalidateSize();
222221
this.mapEvent.emit({
223222
type: MapEventType.FIRST_LOAD,
@@ -336,19 +335,24 @@ export class MapComponent
336335
if (this.map.getZoom() !== initialState.viewpoint.zoom) {
337336
this.map.setZoom(initialState.viewpoint.zoom);
338337
}
339-
const currentCenter = this.map.getCenter();
340-
if (
341-
initialState.viewpoint.center.latitude !== currentCenter.lat ||
342-
initialState.viewpoint.center.longitude !== currentCenter.lng
343-
) {
344-
this.map.setView(
345-
L.latLng(
346-
initialState.viewpoint.center.latitude,
347-
initialState.viewpoint.center.longitude
348-
),
349-
initialState.viewpoint.zoom
350-
);
351-
}
338+
// Could ask the map to do some unwanted movements
339+
// const currentCenter = this.map.getCenter();
340+
// if (
341+
// initialState.viewpoint.center.latitude !== currentCenter.lat ||
342+
// initialState.viewpoint.center.longitude !== currentCenter.lng
343+
// ) {
344+
// console.log([
345+
// initialState.viewpoint.center.latitude,
346+
// initialState.viewpoint.center.longitude,
347+
// ]);
348+
// this.map.setView(
349+
// L.latLng(
350+
// initialState.viewpoint.center.latitude,
351+
// initialState.viewpoint.center.longitude
352+
// ),
353+
// initialState.viewpoint.zoom
354+
// );
355+
// }
352356
}
353357

354358
// Close layers/bookmarks menu

libs/safe/src/lib/components/widgets/map-settings/map-settings.component.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,9 @@ import {
1818
MapEvent,
1919
MapEventType,
2020
} from '../../ui/map/interfaces/map.interface';
21-
import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
21+
import { BehaviorSubject, Subject, debounceTime, takeUntil } from 'rxjs';
2222
import { SafeUnsubscribeComponent } from '../../utils/unsubscribe/unsubscribe.component';
2323
import { LayerModel } from '../../../models/layer.model';
24-
import { SafeMapLayersService } from '../../../services/map/map-layers.service';
25-
import { SafeConfirmService } from '../../../services/confirm/confirm.service';
26-
import { TranslateService } from '@ngx-translate/core';
2724
import { MapComponent } from '../../ui/map';
2825
import { extendWidgetForm } from '../common/display-settings/extendWidgetForm';
2926
import { SafeLayoutService } from '../../../services/layout/layout.service';
@@ -66,16 +63,10 @@ export class SafeMapSettingsComponent
6663
/**
6764
* Class constructor
6865
*
69-
* @param mapLayersService SafeMapLayersService to add/edit/remove layers
70-
* @param confirmService SafeConfirmService
71-
* @param translate TranslateService
7266
* @param cdr ChangeDetectorRef
7367
* @param layoutService Shared layout service
7468
*/
7569
constructor(
76-
private mapLayersService: SafeMapLayersService,
77-
private confirmService: SafeConfirmService,
78-
private translate: TranslateService,
7970
private cdr: ChangeDetectorRef,
8071
private layoutService: SafeLayoutService
8172
) {
@@ -147,37 +138,37 @@ export class SafeMapSettingsComponent
147138
});
148139
this.tileForm
149140
.get('initialState')
150-
?.valueChanges.pipe(takeUntil(this.destroy$))
141+
?.valueChanges.pipe(takeUntil(this.destroy$), debounceTime(1000))
151142
.subscribe((value) =>
152143
this.updateMapSettings({
153144
initialState: value,
154145
} as MapConstructorSettings)
155146
);
156147
this.tileForm
157148
.get('basemap')
158-
?.valueChanges.pipe(takeUntil(this.destroy$))
149+
?.valueChanges.pipe(takeUntil(this.destroy$), debounceTime(1000))
159150
.subscribe((value) =>
160151
this.updateMapSettings({ basemap: value } as MapConstructorSettings)
161152
);
162153
this.tileForm
163154
.get('controls')
164-
?.valueChanges.pipe(takeUntil(this.destroy$))
155+
?.valueChanges.pipe(takeUntil(this.destroy$), debounceTime(1000))
165156
.subscribe((value) => {
166157
this.updateMapSettings({
167158
controls: value,
168159
} as MapConstructorSettings);
169160
});
170161
this.tileForm
171162
.get('arcGisWebMap')
172-
?.valueChanges.pipe(takeUntil(this.destroy$))
163+
?.valueChanges.pipe(takeUntil(this.destroy$), debounceTime(1000))
173164
.subscribe((value) =>
174165
this.updateMapSettings({
175166
arcGisWebMap: value,
176167
} as MapConstructorSettings)
177168
);
178169
this.tileForm
179170
.get('layers')
180-
?.valueChanges.pipe(takeUntil(this.destroy$))
171+
?.valueChanges.pipe(takeUntil(this.destroy$), debounceTime(1000))
181172
.subscribe((value) =>
182173
this.updateMapSettings({
183174
layers: value,
@@ -217,7 +208,6 @@ export class SafeMapSettingsComponent
217208
* @param settings new settings
218209
*/
219210
private updateMapSettings(settings: MapConstructorSettings) {
220-
console.log('update');
221211
if (this.mapSettings) {
222212
this.mapSettings = {
223213
...this.mapSettings,

0 commit comments

Comments
 (0)