From 6d45b8438e4333858ac9c28a4cfbe722d853f9f3 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 19 May 2015 18:57:38 +0000 Subject: [PATCH] OL3 - Opções de ligar e desligar temas na árvore de camadas --- classesjs/classe_interface.js | 1 - js/arvoredecamadas.js | 2 +- js/interface.js | 31 +++++++++++++++++++------------ 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/classesjs/classe_interface.js b/classesjs/classe_interface.js index d8d0266..6563fe6 100644 --- a/classesjs/classe_interface.js +++ b/classesjs/classe_interface.js @@ -2354,7 +2354,6 @@ i3GEO.Interface = try { i3GeoMap = new google.maps.Map($i(i3GEO.Interface.IDMAPA), i3GEO.Interface.googlemaps.MAPOPTIONS); } catch (e) { - alert(e); return; } if (i3GEO.Interface.googlemaps.ESTILOS && i3GEO.Interface.googlemaps.ESTILOPADRAO != "") { diff --git a/js/arvoredecamadas.js b/js/arvoredecamadas.js index ce0bb37..c97428e 100644 --- a/js/arvoredecamadas.js +++ b/js/arvoredecamadas.js @@ -809,7 +809,7 @@ i3GEO.arvoreDeCamadas = novoel.style.top = "0px"; novoel.style.zIndex = "50000"; novoel.style.left = ((i3GEO.parametros.w / 2) - 75) + "px"; - // novoel.style.display = "none"; + novoel.style.display = "none"; $i(i3GEO.Interface.IDMAPA).appendChild(novoel); i3GEO.arvoreDeCamadas.progressBar = new YAHOO.widget.ProgressBar({ height : 5, diff --git a/js/interface.js b/js/interface.js index d2fa636..7972db9 100755 --- a/js/interface.js +++ b/js/interface.js @@ -762,11 +762,9 @@ i3GEO.Interface = redesenha : function() { var openlayers = i3GEO.Interface.openlayers; openlayers.criaLayers(); - //FIXME returns aqui openlayers.ordenaLayers(); - //openlayers.recalcPar(); - //i3GEO.janela.fechaAguarde(); - //openlayers.sobeLayersGraficos(); + openlayers.recalcPar(); + i3GEO.janela.fechaAguarde(); }, /** * Cria o mapa do lado do cliente (navegador) Define o que for necessario para a criacao de @@ -803,6 +801,9 @@ i3GEO.Interface = // // funcoes utilitarias // + ol.layer.Layer.prototype.setVisibility = function(v){ + this.setVisible(v); + }; i3geoOL.getLayersByName = function(nome) { var res = [], layers = this.getLayers(), n = layers.getLength(), i; for (i = 0; i < n; i++) { @@ -824,6 +825,9 @@ i3GEO.Interface = } } }; + i3geoOL.getLayersBase = function(){ + return i3geoOL.getLayersBy("isBaseLayer",true); + }; i3geoOL.getLayersBy = function(chave, valor) { var res = [], layers = this.getLayers(), n = layers.getLength(), i; for (i = 0; i < n; i++) { @@ -1524,18 +1528,21 @@ i3GEO.Interface = * Ordena os layers no mapa conforme i3GEO.arvoreDeCamadas.CAMADAS */ ordenaLayers : function() { - var ordem = i3GEO.arvoreDeCamadas.CAMADAS, nordem = ordem.length, layer, layers, i, maiorindice; - // maior indice + var ordem = i3GEO.arvoreDeCamadas.CAMADAS, + nordem = ordem.length, + nbase = i3geoOL.getLayersBase().length, + layer, layers, i, maiorindice; + layers = i3geoOL.getLayers(); - maiorindice = i3geoOL.getLayerIndex(layers[(layers.length) - 1]); for (i = nordem - 1; i >= 0; i--) { - layers = i3geoOL.getLayersByName(ordem[i].name); + layer = i3geoOL.getLayersByName(ordem[i].name); layer = layers[0]; if (layer) { - i3geoOL.setLayerIndex(layer, maiorindice + i); + layers.setAt(nordem + nbase,layer); } } - i3GEO.Interface.openlayers.sobeLayersGraficos(); + //TODO precisa subir os layers graficos? + //i3GEO.Interface.openlayers.sobeLayersGraficos(); }, /** * Sobe ou desce um layer na pilha de camadas @@ -1560,10 +1567,10 @@ i3GEO.Interface = if (layers.length > 0) { layers[0].setVisibility(obj.checked); if (obj.checked === true) { - layers[0].div.style.display = "block"; + //layers[0].div.style.display = "block"; i3GEO.pluginI3geo.ligaCamada(obj.value); } else { - layers[0].div.style.display = "none"; + //layers[0].div.style.display = "none"; i3GEO.pluginI3geo.desligaCamada(obj.value); } } -- libgit2 0.21.2