From 43720e0ad2f8c759a7cd72a1cfacf56ddc9fc0a6 Mon Sep 17 00:00:00 2001
From: Edmar Moretti
Date: Wed, 22 Apr 2015 20:57:45 +0000
Subject: [PATCH] Observação do metadata TILES nos mashups
---
classesjs/classe_plugini3geo.js | 12 ++++++++----
classesjs/compactados/classe_plugini3geo_compacto.js | 2 +-
classesjs/i3geo_tudo_compacto6.js | 2 +-
classesjs/i3geo_tudo_compacto6.js.php | 2 +-
mashups/openlayers.php | 73 ++++++++++++++++++++++++++++++++-----------------------------------------
mashups/osm.php | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------
temas/_llocaliphp.map | 3 ++-
7 files changed, 151 insertions(+), 159 deletions(-)
diff --git a/classesjs/classe_plugini3geo.js b/classesjs/classe_plugini3geo.js
index 1dd6ac9..d5e7167 100644
--- a/classesjs/classe_plugini3geo.js
+++ b/classesjs/classe_plugini3geo.js
@@ -1140,7 +1140,7 @@ i3GEO.pluginI3geo =
return camada;
},
layerMashup : function(camada, epsg) {
- var p = [];
+ var p = [], tile;
if (!camada.cache) {
camada["cache"] = "NAO";
}
@@ -1153,9 +1153,13 @@ i3GEO.pluginI3geo =
else{
camada["transitioneffect"] = null;
}
-
+ if(camada["tiles"] === "NAO"){
+ tile = false;
+ }
+ else{
+ tile = true;
+ }
// o gerador de OGC e especifico desse plugin, pois aceita parametros diferentes do original i3geo/ogc.php
- // TODO usar tile conforme parametro no mapfile
if (camada.cache === "NAO") {
p.push(new OpenLayers.Layer.WMS(camada.tema, i3GEO.configura.locaplic + "ferramentas/parametrossql/ogc.php?tema="
+ camada.name
@@ -1164,7 +1168,7 @@ i3GEO.pluginI3geo =
SRS : 'EPSG:' + epsg,
FORMAT : 'image/png'
}, {
- singleTile : false,
+ singleTile : tile,
isBaseLayer : false,
visibility : true,
transitionEffect : camada["transitioneffect"],
diff --git a/classesjs/compactados/classe_plugini3geo_compacto.js b/classesjs/compactados/classe_plugini3geo_compacto.js
index bda0cbe..daffea1 100755
--- a/classesjs/compactados/classe_plugini3geo_compacto.js
+++ b/classesjs/compactados/classe_plugini3geo_compacto.js
@@ -1 +1 @@
-if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"
Coluna que contém os dados:"+"
"+"
Ou valor numérico para cada ponto:"+"
"+"
Raio de cada ponto em pixels:"+"
"+"
Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"
"+"
Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map
";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},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){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{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},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)";ins+=""}else{ins+=""}ins+="
Título
Chave
Tipo (input ou select)
Valores
PHP que retorna os valores (opcional)
";for(i=0;i
"+"
"+"
"+"
"+"
"+"
"}ins+="
"+"
As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+" O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+" Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+" Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+" Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+" Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+" Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[];if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:false,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}};
\ No newline at end of file
+if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"
Coluna que contém os dados:"+"
"+"
Ou valor numérico para cada ponto:"+"
"+"
Raio de cada ponto em pixels:"+"
"+"
Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"
"+"
Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map
";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},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){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{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},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)";ins+=""}else{ins+=""}ins+="
Título
Chave
Tipo (input ou select)
Valores
PHP que retorna os valores (opcional)
";for(i=0;i
"+"
"+"
"+"
"+"
"+"
"}ins+="
"+"
As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+" O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+" Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+" Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+" Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+" Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+" Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[],tile;if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada["tiles"]==="NAO"){tile=false}else{tile=true}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}};
\ No newline at end of file
diff --git a/classesjs/i3geo_tudo_compacto6.js b/classesjs/i3geo_tudo_compacto6.js
index cc7816c..d3ca98c 100755
--- a/classesjs/i3geo_tudo_compacto6.js
+++ b/classesjs/i3geo_tudo_compacto6.js
@@ -285,7 +285,7 @@ if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEON
if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="
Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"
"+"
Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map
";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},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){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{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},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)";ins+=""}else{ins+=""}ins+="
Título
Chave
Tipo (input ou select)
Valores
PHP que retorna os valores (opcional)
";for(i=0;i
"+"
"+"
"+"
"+"
"+"
"}ins+="
"+"
As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+" O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+" Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+" Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+" Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+" Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+" Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[];if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:false,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}};
+if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"
Coluna que contém os dados:"+"
"+"
Ou valor numérico para cada ponto:"+"
"+"
Raio de cada ponto em pixels:"+"
"+"
Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"
"+"
Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map
";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},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){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{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},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)";ins+=""}else{ins+=""}ins+="
Título
Chave
Tipo (input ou select)
Valores
PHP que retorna os valores (opcional)
";for(i=0;i
"+"
"+"
"+"
"+"
"+"
"}ins+="
"+"
As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+" O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+" Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+" Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+" Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+" Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+" Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[],tile;if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada["tiles"]==="NAO"){tile=false}else{tile=true}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}};
//
//compactados/euDock.2.0.js
if(!euEnv)var euEnv=new Array();euEnv.Kost=new Array();euEnv.Kost.num=0;euEnv.Kost.next=function(){return this.num++};euEnv.euDockArray=new Array();euEnv.refreshTime=35;euEnv.exeThread=true;euEnv.exeThreadWhiteLoop=0;euEnv.x=0;euEnv.y=0;euEnv.mouseMoved=false;var euUP=1;var euDOWN=2;var euLEFT=3;var euRIGHT=4;var euICON=5;var euMOUSE=6;var euSCREEN=7;var euOBJECT=8;var euABSOLUTE=9;var euRELATIVE=10;var euHORIZONTAL=11;var euVERTICAL=12;var euCENTER=13;var euTRANSPARENT=14;var euFIXED=15;var euOPAQUE=16;function euIdObjTop(euObj){var ret=euObj.offsetTop;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetTop;return ret};function euIdObjLeft(euObj){var ret=euObj.offsetLeft;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetLeft;return ret};function isEuInside(euObj,x,y){var euTop=euIdObjTop(euObj);var euLeft=euIdObjLeft(euObj);return((euTop<=y&&(euTop+euObj.offsetHeight)>=y)&&(euLeft<=x&&(euLeft+euObj.offsetWidth)>=x))};function euDimensioni(){if(typeof(window.innerWidth)=='number'){euEnv.euFrameWidth=window.innerWidth-16;euEnv.euFrameHeight=window.innerHeight}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){euEnv.euFrameWidth=document.documentElement.clientWidth-16;euEnv.euFrameHeight=document.documentElement.clientHeight}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){euEnv.euFrameWidth=document.body.clientWidth;euEnv.euFrameHeight=document.body.clientHeight}};function offsEut(){euEnv.euScrOfY=0;euEnv.euScrOfX=0;if(typeof(window.pageYoffsEut)=='number'){euEnv.euScrOfY=window.pageYoffsEut;euEnv.euScrOfX=window.pageXoffsEut}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){euEnv.euScrOfY=document.body.scrollTop;euEnv.euScrOfX=document.body.scrollLeft}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){euEnv.euScrOfY=document.documentElement.scrollTop;euEnv.euScrOfX=document.documentElement.scrollLeft}};function euKostFunc30(x){return 0.3};function euKostFunc100(x){return 1};function euLinear(x){return x};function euLinear30(x){var r=1*(x+(1-x)*0.3);return r};function euLinear20(x){return x+(1-x)*0.2};function euExp30(x){return euLinear30(x*x*x)};function euLinear50(x){return x+(1-x)*0.5};function euHarmonic(x){return euLinear30((1-Math.cos(Math.PI*x))/2)};function euSemiHarmonic(x){return euLinear30(Math.cos(Math.PI*(1-x)/2))};function euDock(onde){this.id='euDock_'+euEnv.Kost.next();var novoel=document.createElement("div");novoel.style.position="absolute";novoel.innerHTML="
"+"";if(onde){novoel.style.zIndex=100000;onde.appendChild(novoel)}else{document.body.appendChild(novoel)}this.div=document.getElementById(this.id);this.divBar=document.getElementById(this.id+"_bar");this.iconsArray=new Array();this.isInside=false;euEnv.euDockArray[this.id]=this;this.bar=null;this.mouseX=0;this.mouseY=0;this.centerPosX=0;this.centerPosY=0;this.offset=0;this.iconOffset=0;this.venusHillSize=3;this.venusHillTrans=euLinear;this.position=euUP;this.align=euSCREEN;this.objectAlign=euDOWN;this.idObjectHook;this.animaition=euICON;this.animFading=euABSOLUTE;this.setIconsOffset=function(offset){this.iconOffset=offset};this.setAnimation=function(anim,size){this.animaition=anim;this.venusHillSize=size};this.setPointAlign=function(x,y,pos){this.offset=0;this.align=euABSOLUTE;this.position=pos;this.setCenterPos(x,y)};this.setObjectAlign=function(idObj,align,offset,pos){this.offset=offset;this.align=euOBJECT;this.objectAlign=align;this.position=pos;this.idObjectHook=document.getElementById(idObj);this.setObjectCoord()};this.setObjectCoord=function(){var tempx,tempy;if(this.objectAlign==euDOWN){if(onde){tempx=(this.idObjectHook.offsetWidth/2);tempy=0}else{tempx=euIdObjLeft(this.idObjectHook)+(this.idObjectHook.offsetWidth/2);tempy=euIdObjTop(this.idObjectHook)+this.idObjectHook.offsetHeight+this.offset;if(navm&&!document.doctype||(navm&&document.doctype&&document.doctype.systemId=="")){tempx=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA))[0]+(euIdObjLeft(this.idObjectHook)/2)}if(navm&&i3GEO.util.versaoNavegador()==="IE8"&&tempxbakHeight)?this.iconsArray[i].getHeight():bakHeight;bakHeight=Math.round(bakHeight)}else{bakHeight+=this.iconsArray[i].getHeight();bakWidth=(this.iconsArray[i].getWidth()>bakWidth)?this.iconsArray[i].getWidth():bakWidth;bakWidth=Math.round(bakWidth)}}if(this.bar){if(this.position==euUP||this.position==euDOWN||this.position==euHORIZONTAL)this.bar.setProperties(bakWidth,this.position);else this.bar.setProperties(bakHeight,this.position);this.bar.refresh()}var posx=0;var posy=0;var updPosX=0;var updPosY=0;for(var i in this.iconsArray)if(this.iconsArray[i].id){if(this.position==euDOWN){updPosX=posx;updPosY=posy;posx+=this.iconsArray[i].getWidth()}else if(this.position==euUP){updPosX=posx;updPosY=bakHeight-this.iconsArray[i].getHeight();posx+=this.iconsArray[i].getWidth()}else if(this.position==euRIGHT){updPosX=posx;updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euLEFT){updPosX=bakWidth-this.iconsArray[i].getWidth();updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euHORIZONTAL){updPosX=posx;updPosY=(bakHeight-this.iconsArray[i].getHeight())/2;posx+=this.iconsArray[i].getWidth()}else if(this.position==euVERTICAL){updPosX=(bakWidth-this.iconsArray[i].getWidth())/2;updPosY=posy;posy+=this.iconsArray[i].getHeight()}this.iconsArray[i].setPos(updPosX,updPosY);this.iconsArray[i].refresh()}this.setDim(bakWidth,bakHeight);this.refreshDiv()};this.kernel=function(){};this.kernelMouseOver=function(){};this.kernelMouseOut=function(){};this.mouseOut=function(){};this.mouseOver=function(){};this.mouseMove=function(x,y){};this.iconParams=new Array();this.setAllFrameStep=function(step){this.iconParams.frameStep=step;for(var i in this.iconsArray)if(this.iconsArray[i].id)this.iconsArray[i].frameStep=step};this.setAllZoomFunc=function(func){};this.setAllZoomFuncW=function(func){};this.setAllZoomFuncH=function(func){};this.setBar=function(args){var id='euDock_bar_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockBar(id,this);euEnv.euDockArray[id].setElements(args);this.bar=euEnv.euDockArray[id];return euEnv.euDockArray[id]};this.addIcon=function(args,params){var i,id=params.id;var id='euDock_icon_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockIcon(id,this,params.titulo);euEnv.euDockArray[id].addElement(args);this.iconsArray.push(euEnv.euDockArray[id]);for(i in this.iconParams)euEnv.euDockArray[id][i]=this.iconParams[i];for(i in params)euEnv.euDockArray[id][i]=params[i];return euEnv.euDockArray[id]};this.delIcon=function(elem){euEnv.euDockArray.splice(elem);euEnv.euDockArray[elem.id]=0;for(var i in this.iconsArray)if(this.iconsArray[i]==elem)this.iconsArray.splice(i,1);elem.destroy();elem=null;this.updateDims()}};function euDockIcon(id,dock,titulo){this.id=id;this.parentDock=dock;this.elementsArray;this.zoomFuncW=euLinear30;this.zoomFuncH=euLinear30;this.posX=0;this.posY=0;this.width=0;this.height=0;this.frame=0;this.frameStep=0.5;this.fadingFrame=0;this.fadingStep=1;this.fadingType=euTRANSPARENT;this.loaded=false;this.runningFrame=false;this.runningFading=false;this.updateDims=function(){if(!this.loaded)return;for(var i=0;i0&&y>0&&x=x))};this.isInsideY=function(y){return(this.loaded&&(this.posY<=y)&&((this.posY+this.getHeight())>=y))};this.retrieveLoadingDims=function(elem,num){if(elem.onLoadPrev)elem.onLoadPrev();if(num==0&&!this.loaded)this.setDim(elem.getWidth(),elem.getHeight());elem.loaded=true;var ret=true;for(var i in this.elementsArray)if(this.elementsArray[i].id)ret&=this.elementsArray[i].loaded;this.loaded=ret;if(this.loaded){this.parentDock.updateDims();for(var i in this.elementsArray)if(this.elementsArray[i].id)this.elementsArray[i].show()}if(elem.onLoadNext)elem.onLoadNext()};this.setPos=function(x,y){this.posX=x;this.posY=y};this.setDim=function(w,h){if(this.width==0)this.width=w;if(this.height==0)this.height=h};this.getAbsolutePosX=function(){return euIdObjLeft(this.parentDock.div)+this.posX};this.getAbsolutePosY=function(){return euIdObjTop(this.parentDock.div)+this.posY};this.setPosX=function(x){this.posX=x};this.setPosY=function(y){this.posY=y};this.getWidth=function(){if(!this.loaded)return 0;var calc=this.width*this.zoomFuncW(this.frame);return 38};this.getHeight=function(){if(!this.loaded)return 0;return 38};this.isRunning=function(){return this.runningFrame||this.runningFading};this.setFrameTo=function(frameTo){if(this.frame==frameTo)this.runningFrame=false;else{this.runningFrame=true;this.frame+=(frameTo-this.frame)*this.frameStep;if(Math.abs(this.frame-frameTo)<0.01)this.frame=frameTo;if(this.frame<0)this.frame=0;if(this.frame>1)this.frame=1}return this.runningFrame};this.addElement=function(args){if(typeof(args)!="undefined"&&args!=null){this.elementsArray=new Array();this.fadingStep=0.5/args.length;for(var i=0;i"+$trad("x78")+"";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i"+temp[0]+"",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}};
//
//compactados/classe_plugini3geo_compacto.js
-if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"
Coluna que contém os dados:"+"
"+"
Ou valor numérico para cada ponto:"+"
"+"
Raio de cada ponto em pixels:"+"
"+"
Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"
"+"
Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map
";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},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){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{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},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)";ins+=""}else{ins+=""}ins+="
Título
Chave
Tipo (input ou select)
Valores
PHP que retorna os valores (opcional)
";for(i=0;i
"+"
"+"
"+"
"+"
"+"
"}ins+="
"+"
As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+" O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+" Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+" Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+" Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+" Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+" Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[];if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:false,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}};
+if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"
Coluna que contém os dados:"+"
"+"
Ou valor numérico para cada ponto:"+"
"+"
Raio de cada ponto em pixels:"+"
"+"
Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"
"+"
Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map
";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},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){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{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},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)";ins+=""}else{ins+=""}ins+="
Título
Chave
Tipo (input ou select)
Valores
PHP que retorna os valores (opcional)
";for(i=0;i
"+"
"+"
"+"
"+"
"+"
"}ins+="
"+"
As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+" O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+" Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+" Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+" Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+" Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+" Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[],tile;if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada["tiles"]==="NAO"){tile=false}else{tile=true}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}};
//
//compactados/euDock.2.0.js
if(!euEnv)var euEnv=new Array();euEnv.Kost=new Array();euEnv.Kost.num=0;euEnv.Kost.next=function(){return this.num++};euEnv.euDockArray=new Array();euEnv.refreshTime=35;euEnv.exeThread=true;euEnv.exeThreadWhiteLoop=0;euEnv.x=0;euEnv.y=0;euEnv.mouseMoved=false;var euUP=1;var euDOWN=2;var euLEFT=3;var euRIGHT=4;var euICON=5;var euMOUSE=6;var euSCREEN=7;var euOBJECT=8;var euABSOLUTE=9;var euRELATIVE=10;var euHORIZONTAL=11;var euVERTICAL=12;var euCENTER=13;var euTRANSPARENT=14;var euFIXED=15;var euOPAQUE=16;function euIdObjTop(euObj){var ret=euObj.offsetTop;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetTop;return ret};function euIdObjLeft(euObj){var ret=euObj.offsetLeft;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetLeft;return ret};function isEuInside(euObj,x,y){var euTop=euIdObjTop(euObj);var euLeft=euIdObjLeft(euObj);return((euTop<=y&&(euTop+euObj.offsetHeight)>=y)&&(euLeft<=x&&(euLeft+euObj.offsetWidth)>=x))};function euDimensioni(){if(typeof(window.innerWidth)=='number'){euEnv.euFrameWidth=window.innerWidth-16;euEnv.euFrameHeight=window.innerHeight}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){euEnv.euFrameWidth=document.documentElement.clientWidth-16;euEnv.euFrameHeight=document.documentElement.clientHeight}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){euEnv.euFrameWidth=document.body.clientWidth;euEnv.euFrameHeight=document.body.clientHeight}};function offsEut(){euEnv.euScrOfY=0;euEnv.euScrOfX=0;if(typeof(window.pageYoffsEut)=='number'){euEnv.euScrOfY=window.pageYoffsEut;euEnv.euScrOfX=window.pageXoffsEut}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){euEnv.euScrOfY=document.body.scrollTop;euEnv.euScrOfX=document.body.scrollLeft}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){euEnv.euScrOfY=document.documentElement.scrollTop;euEnv.euScrOfX=document.documentElement.scrollLeft}};function euKostFunc30(x){return 0.3};function euKostFunc100(x){return 1};function euLinear(x){return x};function euLinear30(x){var r=1*(x+(1-x)*0.3);return r};function euLinear20(x){return x+(1-x)*0.2};function euExp30(x){return euLinear30(x*x*x)};function euLinear50(x){return x+(1-x)*0.5};function euHarmonic(x){return euLinear30((1-Math.cos(Math.PI*x))/2)};function euSemiHarmonic(x){return euLinear30(Math.cos(Math.PI*(1-x)/2))};function euDock(onde){this.id='euDock_'+euEnv.Kost.next();var novoel=document.createElement("div");novoel.style.position="absolute";novoel.innerHTML="
"+"";if(onde){novoel.style.zIndex=100000;onde.appendChild(novoel)}else{document.body.appendChild(novoel)}this.div=document.getElementById(this.id);this.divBar=document.getElementById(this.id+"_bar");this.iconsArray=new Array();this.isInside=false;euEnv.euDockArray[this.id]=this;this.bar=null;this.mouseX=0;this.mouseY=0;this.centerPosX=0;this.centerPosY=0;this.offset=0;this.iconOffset=0;this.venusHillSize=3;this.venusHillTrans=euLinear;this.position=euUP;this.align=euSCREEN;this.objectAlign=euDOWN;this.idObjectHook;this.animaition=euICON;this.animFading=euABSOLUTE;this.setIconsOffset=function(offset){this.iconOffset=offset};this.setAnimation=function(anim,size){this.animaition=anim;this.venusHillSize=size};this.setPointAlign=function(x,y,pos){this.offset=0;this.align=euABSOLUTE;this.position=pos;this.setCenterPos(x,y)};this.setObjectAlign=function(idObj,align,offset,pos){this.offset=offset;this.align=euOBJECT;this.objectAlign=align;this.position=pos;this.idObjectHook=document.getElementById(idObj);this.setObjectCoord()};this.setObjectCoord=function(){var tempx,tempy;if(this.objectAlign==euDOWN){if(onde){tempx=(this.idObjectHook.offsetWidth/2);tempy=0}else{tempx=euIdObjLeft(this.idObjectHook)+(this.idObjectHook.offsetWidth/2);tempy=euIdObjTop(this.idObjectHook)+this.idObjectHook.offsetHeight+this.offset;if(navm&&!document.doctype||(navm&&document.doctype&&document.doctype.systemId=="")){tempx=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA))[0]+(euIdObjLeft(this.idObjectHook)/2)}if(navm&&i3GEO.util.versaoNavegador()==="IE8"&&tempxbakHeight)?this.iconsArray[i].getHeight():bakHeight;bakHeight=Math.round(bakHeight)}else{bakHeight+=this.iconsArray[i].getHeight();bakWidth=(this.iconsArray[i].getWidth()>bakWidth)?this.iconsArray[i].getWidth():bakWidth;bakWidth=Math.round(bakWidth)}}if(this.bar){if(this.position==euUP||this.position==euDOWN||this.position==euHORIZONTAL)this.bar.setProperties(bakWidth,this.position);else this.bar.setProperties(bakHeight,this.position);this.bar.refresh()}var posx=0;var posy=0;var updPosX=0;var updPosY=0;for(var i in this.iconsArray)if(this.iconsArray[i].id){if(this.position==euDOWN){updPosX=posx;updPosY=posy;posx+=this.iconsArray[i].getWidth()}else if(this.position==euUP){updPosX=posx;updPosY=bakHeight-this.iconsArray[i].getHeight();posx+=this.iconsArray[i].getWidth()}else if(this.position==euRIGHT){updPosX=posx;updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euLEFT){updPosX=bakWidth-this.iconsArray[i].getWidth();updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euHORIZONTAL){updPosX=posx;updPosY=(bakHeight-this.iconsArray[i].getHeight())/2;posx+=this.iconsArray[i].getWidth()}else if(this.position==euVERTICAL){updPosX=(bakWidth-this.iconsArray[i].getWidth())/2;updPosY=posy;posy+=this.iconsArray[i].getHeight()}this.iconsArray[i].setPos(updPosX,updPosY);this.iconsArray[i].refresh()}this.setDim(bakWidth,bakHeight);this.refreshDiv()};this.kernel=function(){};this.kernelMouseOver=function(){};this.kernelMouseOut=function(){};this.mouseOut=function(){};this.mouseOver=function(){};this.mouseMove=function(x,y){};this.iconParams=new Array();this.setAllFrameStep=function(step){this.iconParams.frameStep=step;for(var i in this.iconsArray)if(this.iconsArray[i].id)this.iconsArray[i].frameStep=step};this.setAllZoomFunc=function(func){};this.setAllZoomFuncW=function(func){};this.setAllZoomFuncH=function(func){};this.setBar=function(args){var id='euDock_bar_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockBar(id,this);euEnv.euDockArray[id].setElements(args);this.bar=euEnv.euDockArray[id];return euEnv.euDockArray[id]};this.addIcon=function(args,params){var i,id=params.id;var id='euDock_icon_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockIcon(id,this,params.titulo);euEnv.euDockArray[id].addElement(args);this.iconsArray.push(euEnv.euDockArray[id]);for(i in this.iconParams)euEnv.euDockArray[id][i]=this.iconParams[i];for(i in params)euEnv.euDockArray[id][i]=params[i];return euEnv.euDockArray[id]};this.delIcon=function(elem){euEnv.euDockArray.splice(elem);euEnv.euDockArray[elem.id]=0;for(var i in this.iconsArray)if(this.iconsArray[i]==elem)this.iconsArray.splice(i,1);elem.destroy();elem=null;this.updateDims()}};function euDockIcon(id,dock,titulo){this.id=id;this.parentDock=dock;this.elementsArray;this.zoomFuncW=euLinear30;this.zoomFuncH=euLinear30;this.posX=0;this.posY=0;this.width=0;this.height=0;this.frame=0;this.frameStep=0.5;this.fadingFrame=0;this.fadingStep=1;this.fadingType=euTRANSPARENT;this.loaded=false;this.runningFrame=false;this.runningFading=false;this.updateDims=function(){if(!this.loaded)return;for(var i=0;i0&&y>0&&x=x))};this.isInsideY=function(y){return(this.loaded&&(this.posY<=y)&&((this.posY+this.getHeight())>=y))};this.retrieveLoadingDims=function(elem,num){if(elem.onLoadPrev)elem.onLoadPrev();if(num==0&&!this.loaded)this.setDim(elem.getWidth(),elem.getHeight());elem.loaded=true;var ret=true;for(var i in this.elementsArray)if(this.elementsArray[i].id)ret&=this.elementsArray[i].loaded;this.loaded=ret;if(this.loaded){this.parentDock.updateDims();for(var i in this.elementsArray)if(this.elementsArray[i].id)this.elementsArray[i].show()}if(elem.onLoadNext)elem.onLoadNext()};this.setPos=function(x,y){this.posX=x;this.posY=y};this.setDim=function(w,h){if(this.width==0)this.width=w;if(this.height==0)this.height=h};this.getAbsolutePosX=function(){return euIdObjLeft(this.parentDock.div)+this.posX};this.getAbsolutePosY=function(){return euIdObjTop(this.parentDock.div)+this.posY};this.setPosX=function(x){this.posX=x};this.setPosY=function(y){this.posY=y};this.getWidth=function(){if(!this.loaded)return 0;var calc=this.width*this.zoomFuncW(this.frame);return 38};this.getHeight=function(){if(!this.loaded)return 0;return 38};this.isRunning=function(){return this.runningFrame||this.runningFading};this.setFrameTo=function(frameTo){if(this.frame==frameTo)this.runningFrame=false;else{this.runningFrame=true;this.frame+=(frameTo-this.frame)*this.frameStep;if(Math.abs(this.frame-frameTo)<0.01)this.frame=frameTo;if(this.frame<0)this.frame=0;if(this.frame>1)this.frame=1}return this.runningFrame};this.addElement=function(args){if(typeof(args)!="undefined"&&args!=null){this.elementsArray=new Array();this.fadingStep=0.5/args.length;for(var i=0;i$layern->getmetadata("tema"),
"plugin"=>$layern->getmetadata("PLUGINI3GEO"),
"cache"=>strtoupper($layern->getmetadata("cache")),
- "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect"))
+ "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")),
+ "tiles"=>strtoupper($layern->getmetadata("tiles"))
);
}
else{
@@ -637,39 +628,39 @@ if(!i3GEO.configura){
i3GEO.configura = {"locaplic": "../"};
}
-i3GEO.editorOL.inicia();
-
-function adicionaPluginI3geo(camada,visivel){
- if(!camada.cache){
- camada["cache"] = "NAO";
- }
- var l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"),
- n,
- i;
- n = l.length;
- for(i = 0; i < n; i++){
- if(l[i].displayInLayerSwitcher === true){
- l[i].setVisibility(visivel);
+ //camadas plugin
+ foreach ($temasPluginI3Geo as $t){
+ //var_dump($temasPluginI3Geo);exit;
+ //cria um objeto javascript para iniciar o plugin
+ $camada = '{"tiles":"'.$t["tiles"].'","tema": "'.$t["tema"].'","name":"'.$t["name"].'","plugini3geo":'.$t["plugin"].',"cache":"'.$t["cache"].'","transitioneffect":"'.$t["transitioneffect"].'"}';
+ echo "var camada = $camada;\n";
+ //echo "i3GEO.pluginI3geo[camada.plugini3geo.plugin].openlayers.inicia(camada,i3GEO.editorOL.mapa);\n";
+ $visivel = "false";
+ if(in_array($t["name"],$visiveis)){
+ $visivel = "true";
}
- if(l[i] != true){
- i3GEO.editorOL.layersIniciais.push(l[i]);
+ echo "adicionaPluginI3geo(camada,$visivel);\n";
+ }
+ ?>
+ i3GEO.editorOL.inicia();
+
+ function adicionaPluginI3geo(camada,visivel){
+ if(!camada.cache){
+ camada["cache"] = "NAO";
+ }
+ var l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"),
+ n,
+ i;
+ n = l.length;
+ for(i = 0; i < n; i++){
+ if(l[i].displayInLayerSwitcher === true){
+ l[i].setVisibility(visivel);
+ }
+ if(l[i] != true){
+ i3GEO.editorOL.layersIniciais.push(l[i]);
+ }
}
}
-}