Actually change basemap when the UIEVentsource is changed
This commit is contained in:
parent
db9ac0eaf0
commit
084a1d0c49
2 changed files with 13 additions and 10 deletions
|
@ -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() + " | <a href='https://osm.org'>OpenStreetMap</a>");
|
||||
this.Location = location;
|
||||
|
@ -81,6 +84,14 @@ export class Basemap {
|
|||
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})
|
||||
});
|
||||
|
|
12
index.ts
12
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")
|
||||
|
||||
|
Loading…
Reference in a new issue