From da301a10416c6df0670e2ec5702dd7e3866e85bf Mon Sep 17 00:00:00 2001 From: Harel Mazor Date: Sat, 25 Jun 2016 23:21:57 +0300 Subject: [PATCH] Fixes #172 - Save application state better - fix overlay bug. --- IsrealHiking.Web/services/LayersService.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/IsrealHiking.Web/services/LayersService.ts b/IsrealHiking.Web/services/LayersService.ts index a5c52aed8..03cde4ad4 100644 --- a/IsrealHiking.Web/services/LayersService.ts +++ b/IsrealHiking.Web/services/LayersService.ts @@ -77,8 +77,6 @@ module IsraelHiking.Services { this.eventHelper = new Common.EventHelper(); this.markers = this.drawingFactory.createDrawingMarker([]); - this.localStorageService.set(LayersService.OVERLAYS_KEY, null) - let lastModified = (typeof getLastModifiedDate == "function") ? getLastModifiedDate() : (new Date(document.lastModified)).toDateString(); this.defaultAttribution = LayersService.ATTRIBUTION + "Last update: " + lastModified; // default layers: @@ -94,13 +92,13 @@ module IsraelHiking.Services { isEditable: false } as ILayer, LayersService.MTB_ATTRIBUTION + lastModified); this.baseLayers.push({ key: LayersService.GOOGLE_EARTH, layer: new L.Google() as any, selected: false, address: "", isEditable: false } as IBaseLayer); - this.addOverlay({ + let hikingTrailsOverlay = this.addOverlay({ key: LayersService.HIKING_TRAILS, address: LayersService.OVERLAY_TILES_ADDRESS, minZoom: LayersService.MIN_ZOOM, - maxZoom: LayersService.MAX_NATIVE_ZOOM, - isEditable: false - } as Common.LayerData); + maxZoom: LayersService.MAX_NATIVE_ZOOM + } as ILayer); + hikingTrailsOverlay.isEditable = false; this.overlays.push({ visible: false, isEditable: false, address: "", key: "Wiki", layer: new Drawing.WikiMarkersLayer($http, mapService) as L.ILayer } as IOverlay); this.addLayersFromLocalStorage(); this.addDataFromHash(); @@ -129,6 +127,7 @@ module IsraelHiking.Services { overlay = angular.copy(layerData) as IOverlay; overlay.layer = L.tileLayer(overlay.address, this.createOptionsFromLayerData(layerData)); overlay.visible = false; + overlay.isEditable = true; (overlay.layer as L.TileLayer).setZIndex(this.overlayZIndex++); this.overlays.push(overlay); var overlaysFromStorage = this.localStorageService.get(LayersService.OVERLAYS_KEY) || []; @@ -432,12 +431,12 @@ module IsraelHiking.Services { } private createOptionsFromLayerData = (layerData: Common.LayerData, attribution?: string): L.TileLayerOptions => { - return { + return { minZoom: layerData.minZoom || LayersService.MIN_ZOOM, maxNativeZoom: layerData.maxZoom || LayersService.MAX_NATIVE_ZOOM, maxZoom: LayersService.MAX_ZOOM, attribution: attribution || this.defaultAttribution - }; + } as L.TileLayerOptions; } public getData = () => {