diff --git a/Logic/Basemap.ts b/Logic/Basemap.ts index 750196a..d4fb2a1 100644 --- a/Logic/Basemap.ts +++ b/Logic/Basemap.ts @@ -50,6 +50,7 @@ export class Basemap { public Location: UIEventSource<{ zoom: number, lat: number, lon: number }>; public LastClickLocation: UIEventSource<{ lat: number, lon: number }> = new UIEventSource<{ lat: number, lon: number }>(undefined) + private _previousLayer : L.tileLayer= undefined; public CurrentLayer: UIEventSource<{ name: string, layer: L.tileLayer @@ -66,6 +67,8 @@ export class Basemap { zoom: location.data.zoom, layers: [BaseLayers.defaultLayer], }); + + this.map.attributionControl.setPrefix( extraAttribution.Render() + " | OpenStreetMap"); this.Location = location; @@ -80,6 +83,14 @@ export class Basemap { location.data.lon = self.map.getCenter().lng; location.ping(); }); + + this.CurrentLayer.addCallback((layer:{layer: L.tileLayer}) => { + if(self._previousLayer !== undefined){ + self.map.removeLayer(self._previousLayer); + } + self._previousLayer = layer.layer; + self.map.addLayer(layer.layer); + }); this.map.on("click", function (e) { self.LastClickLocation.setData({lat: e.latlng.lat, lon: e.latlng.lng}) diff --git a/index.ts b/index.ts index 1baa1f7..cc42070 100644 --- a/index.ts +++ b/index.ts @@ -3,7 +3,7 @@ import {Changes} from "./Logic/Changes"; import {ElementStorage} from "./Logic/ElementStorage"; import {UIEventSource} from "./UI/UIEventSource"; import {UserBadge} from "./UI/UserBadge"; -import {Basemap} from "./Logic/Basemap"; +import {BaseLayers, Basemap} from "./Logic/Basemap"; import {PendingChanges} from "./UI/PendingChanges"; import {CenterMessageBox} from "./UI/CenterMessageBox"; import {Helpers} from "./Helpers"; @@ -12,7 +12,6 @@ import {FilteredLayer} from "./Logic/FilteredLayer"; import {LayerUpdater} from "./Logic/LayerUpdater"; import {UIElement} from "./UI/UIElement"; import {FullScreenMessageBoxHandler} from "./UI/FullScreenMessageBoxHandler"; -import {Overpass} from "./Logic/Overpass"; import {FeatureInfoBox} from "./UI/FeatureInfoBox"; import {GeoLocationHandler} from "./Logic/GeoLocationHandler"; import {StrayClickHandler} from "./Logic/StrayClickHandler"; @@ -21,19 +20,13 @@ import {VariableUiElement} from "./UI/Base/VariableUIElement"; import {SearchAndGo} from "./UI/SearchAndGo"; import {CollapseButton} from "./UI/Base/CollapseButton"; import {AllKnownLayouts} from "./Customizations/AllKnownLayouts"; -import { All } from "./Customizations/Layouts/All"; import {CheckBox} from "./UI/Base/CheckBox"; -import { DrinkingWater } from "./Customizations/Layers/DrinkingWater"; import Translations from "./UI/i18n/Translations"; -import Translation from "./UI/i18n/Translation"; import Locale from "./UI/i18n/Locale"; import {Layout, WelcomeMessage} from "./Customizations/Layout"; import {DropDown} from "./UI/Input/DropDown"; -import {FixedInputElement} from "./UI/Input/FixedInputElement"; import {FixedUiElement} from "./UI/Base/FixedUiElement"; -import ParkingType from "./Customizations/Questions/bike/ParkingType"; -import { LayerDefinition } from "./Customizations/LayerDefinition"; -import { LayerSelection } from "./UI/LayerSelection"; +import {LayerSelection} from "./UI/LayerSelection"; import Combine from "./UI/Base/Combine"; @@ -334,4 +327,3 @@ const openFilterButton = ` new CheckBox(new Combine([new LayerSelection(flayers), openFilterButton]), closedFilterButton).AttachTo("filter__selection") - \ No newline at end of file