From 47bc5fa1b2a10e4b327a4cc48d844675390304d1 Mon Sep 17 00:00:00 2001 From: Xelio Date: Wed, 1 May 2013 13:14:19 +0800 Subject: [PATCH] Make use of layer control status function in main script Layers display status now persist between session --- code/boot.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/boot.js b/code/boot.js index 29b052cc..79aa6afb 100644 --- a/code/boot.js +++ b/code/boot.js @@ -160,6 +160,7 @@ window.setupMap = function() { )); var addLayers = {}; + var hiddenLayer = []; portalsLayers = []; for(var i = 0; i <= 8; i++) { @@ -167,15 +168,21 @@ window.setupMap = function() { map.addLayer(portalsLayers[i]); var t = (i === 0 ? 'Unclaimed' : 'Level ' + i) + ' Portals'; addLayers[t] = portalsLayers[i]; + // Store it in hiddenLayer to remove later + if(!isLayerGroupDisplayed(t)) hiddenLayer.push(portalsLayers[i]); } fieldsLayer = L.layerGroup([]); map.addLayer(fieldsLayer, true); addLayers['Fields'] = fieldsLayer; + // Store it in hiddenLayer to remove later + if(!isLayerGroupDisplayed('Fields')) hiddenLayer.push(fieldsLayer); linksLayer = L.layerGroup([]); map.addLayer(linksLayer, true); addLayers['Links'] = linksLayer; + // Store it in hiddenLayer to remove later + if(!isLayerGroupDisplayed('Links')) hiddenLayer.push(linksLayer); window.layerChooser = new L.Control.Layers({ 'MapQuest OSM': views[0], @@ -185,6 +192,10 @@ window.setupMap = function() { 'Google Hybrid': views[4], 'Google Terrain': views[5] }, addLayers); + // Remove the hidden layer after layerChooser built, to avoid messing up ordering of layers + $.each(hiddenLayer, function(ind, layer){ + map.removeLayer(layer); + }); map.addControl(window.layerChooser);