diff --git a/admin/admin.db b/admin/admin.db index 0247711..4205a3f 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/classesjs/classe_interface.js b/classesjs/classe_interface.js index a81aa6d..c2f103d 100644 --- a/classesjs/classe_interface.js +++ b/classesjs/classe_interface.js @@ -1405,6 +1405,11 @@ i3GEO.Interface = { layers[0].setVisibility(obj.checked); if(obj.checked === true){ layers[0].div.style.display = "block"; + i3GEO.pluginI3geo.ligaCamada(obj.value); + } + else{ + layers[0].div.style.display = "none"; + i3GEO.pluginI3geo.desLigaCamada(obj.value); } } if (obj.checked) { diff --git a/classesjs/classe_plugini3geo.js b/classesjs/classe_plugini3geo.js index cfcebfb..b8dd616 100644 --- a/classesjs/classe_plugini3geo.js +++ b/classesjs/classe_plugini3geo.js @@ -36,6 +36,7 @@ if (typeof (i3GEO) === 'undefined') { var i3GEO = {}; } i3GEO.pluginI3geo = { + OBJETOS: {}, /** * Inicia a execucao de um plugin * @@ -57,6 +58,16 @@ i3GEO.pluginI3geo = { // cada interface i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada); }, + ligaCamada : function(nomecamada) { + if(i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){ + i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada(); + } + }, + desLigaCamada : function(nomecamada) { + if(i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){ + i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada(); + } + }, /** * Aplica as propriedades em um objeto do tipo tema * @@ -106,6 +117,19 @@ i3GEO.pluginI3geo = { heatmap : { googlemaps: { aplicaPropriedades: function(camada){ + camada.sel = "nao"; + camada.download = "nao"; + camada.AGUARDALEGENDA = false; + camada.temporizador = ""; + camada.copia = false; + camada.procurar = false; + camada.toponimia = false; + camada.etiquetas = false; + camada.tabela = false; + camada.grafico = false; + camada.destacar = false; + camada.wms = false; + camada.classe = "NAO"; return camada; }, inicia: function(camada){ @@ -145,6 +169,11 @@ i3GEO.pluginI3geo = { "i3GEO.pluginI3geo.heatmap_script"); } }, + // + //O script que adiciona a camada + //define os eventos visibilitychanged, moveend e removed + //A camada e adicionada como um objeto layer, permitindo que as funcoes do i3Geo operem normalmente, sem muitas modificacoes + // openlayers : { aplicaPropriedades: function(camada){ camada.sel = "nao"; @@ -204,6 +233,15 @@ i3GEO.pluginI3geo = { projection: new OpenLayers.Projection("EPSG:4326") } ); + heatmap.ligaCamada = function(){ + this.toggle(); + this.updateLayer(); + }; + heatmap.desLigaCamada = function(){ + this.toggle(); + this.updateLayer(); + }; + i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap; i3geoOL.addLayer(heatmap); heatmap.setDataSet(transformedTestData); heatmap_dados = null; diff --git a/pacotes/heatmap/src/heatmap-openlayers.js b/pacotes/heatmap/src/heatmap-openlayers.js index cf64d49..ce22890 100755 --- a/pacotes/heatmap/src/heatmap-openlayers.js +++ b/pacotes/heatmap/src/heatmap-openlayers.js @@ -49,7 +49,7 @@ OpenLayers.Layer.Heatmap = OpenLayers.Class(OpenLayers.Layer, { // on zoomend and moveend we have to move the canvas element and redraw the datapoints with new positions //map.events.register("zoomend", this, handler); map.events.register("moveend", this, handler); - this.events.register("visibilitychanged", this,handler1); + //this.events.register("visibilitychanged", this,handler1); map.events.register( "removed", this, -- libgit2 0.21.2