From 4d5e04fc5a074fe85d373fadd56859051ac67d2a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 20 Jan 2025 22:21:59 +0200 Subject: [PATCH] feat(geomap): save & restore zoom --- src/public/app/widgets/type_widgets/geo_map.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/public/app/widgets/type_widgets/geo_map.ts b/src/public/app/widgets/type_widgets/geo_map.ts index 20bf81d6b..38a81ab10 100644 --- a/src/public/app/widgets/type_widgets/geo_map.ts +++ b/src/public/app/widgets/type_widgets/geo_map.ts @@ -7,7 +7,8 @@ const TPL = `
`; interface MapData { view?: { - center: LatLng | [ number, number ]; + center?: LatLng | [ number, number ]; + zoom?: number; } } @@ -46,11 +47,14 @@ export default class GeoMapTypeWidget extends TypeWidget { if (blob) { parsedContent = JSON.parse(blob.content); } - console.log(parsedContent); - const center = parsedContent.view?.center ?? [51.505, -0.09]; - map.setView(center, 13); - map.on("moveend", () => this.spacedUpdate.scheduleUpdate()); + const center = parsedContent.view?.center ?? [51.505, -0.09]; + const zoom = parsedContent.view?.zoom ?? 13; + map.setView(center, zoom); + + const updateFn = () => this.spacedUpdate.scheduleUpdate(); + map.on("moveend", updateFn); + map.on("zoomend", updateFn); } getData(): any { @@ -61,7 +65,8 @@ export default class GeoMapTypeWidget extends TypeWidget { const data: MapData = { view: { - center: map.getBounds().getCenter() + center: map.getBounds().getCenter(), + zoom: map.getZoom() } };