From 6cacd5081734b3ec91773872c603baaf11a39dc1 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 00:58:07 +0200 Subject: [PATCH] Scalebar: add option to set scalebar, don't show scalebar if not set --- assets/layers/usersettings/usersettings.json | 25 ++++++++++++++++++++ src/UI/Map/MapLibreAdaptor.ts | 10 ++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 51573c0af2..1f7e5b37d7 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -470,6 +470,31 @@ } ] }, + { + "id": "scalebar", + "question": { + "en": "Should a scale bar be shown on the map?", + "nl": "Moet er een schaalbalk weergegeven worden?" + }, + "mappings": [ + { + "if": "mapcomplete-preference-show-scale=true", + "then": { + "en": "Show the scalebar", + "nl": "Toon de schaalbalk" + } + }, + { + "if": "mapcomplete-preference-show-scale=false", + "alsoShowIf": "mapcomplete-preference-show-scale=", + + "then": { + "en": "Hide the scalebar", + "nl": "Verberg de schaalbalk" + } + } + ] + }, { "id": "picture-license", "description": "This question is not meant to be placed on an OpenStreetMap-element; however it is used in the user information panel to ask which license the user wants", diff --git a/src/UI/Map/MapLibreAdaptor.ts b/src/UI/Map/MapLibreAdaptor.ts index f7f2fccacc..ecdd54efba 100644 --- a/src/UI/Map/MapLibreAdaptor.ts +++ b/src/UI/Map/MapLibreAdaptor.ts @@ -692,15 +692,17 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { if (!map) { return } - if (!showScale && this.scaleControl) { - map.removeControl(this.scaleControl) + if (!showScale) { + if(this.scaleControl){ + map.removeControl(this.scaleControl) + this.scaleControl = undefined + } return } - console.log("Adding scale") if (this.scaleControl === undefined) { this.scaleControl = new ScaleControl({ - maxWidth: 80, + maxWidth: 100, unit: "metric" }) }