diff --git a/ferramentas/parametrossql/dicionario.js b/ferramentas/parametrossql/dicionario.js index 4a231d6..33c1088 100755 --- a/ferramentas/parametrossql/dicionario.js +++ b/ferramentas/parametrossql/dicionario.js @@ -9,5 +9,10 @@ i3GEOF.parametrossql.dicionario = { pt : "Aplicar", en : "Apply", es : "Aplicar" + } ], + 'nova' : [ { + pt : "Cria uma nova camada", + en : "", + es : "" } ] }; \ No newline at end of file diff --git a/ferramentas/parametrossql/exec.php b/ferramentas/parametrossql/exec.php index 85d10e0..a8ba276 100755 --- a/ferramentas/parametrossql/exec.php +++ b/ferramentas/parametrossql/exec.php @@ -61,6 +61,10 @@ switch (strtoupper($funcao)) $map = ms_newMapObj($map_file); //pega o layer $layer = $map->getlayerbyname($tema); + if($_GET["nova"] == "true"){ + $layer = ms_newLayerObj($map,$layer); + $layer->name = "novo".nomeRandomico(); + } $map1 = @ms_newMapObj($locaplic."/temas/".$layer->getmetadata("nomeoriginal").".map"); if($map1){ $layer1 = $map1->getlayerbyname($layer->getmetadata("nomeoriginal")); diff --git a/ferramentas/parametrossql/index.js b/ferramentas/parametrossql/index.js index 21bd849..777420a 100755 --- a/ferramentas/parametrossql/index.js +++ b/ferramentas/parametrossql/index.js @@ -58,6 +58,7 @@ i3GEOF.parametrossql = { mustacheHash : function(camada) { var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.parametrossql.dicionario); dicionario["camada"] = camada.name; + dicionario["novaCamada"] = camada.novaCamada; return dicionario; }, /* @@ -79,6 +80,9 @@ i3GEOF.parametrossql = { }); return; } + if(camada.novaCamada == undefined){ + camada.novaCamada = "hidden"; + } $i(iddiv).innerHTML = i3GEOF.parametrossql.html(camada); var b, f = i3GEOF.parametrossql.formulario(camada); @@ -106,7 +110,6 @@ i3GEOF.parametrossql = { Cria a janela flutuante para controle da ferramenta. */ iniciaJanelaFlutuante: function(camada){ - //verifica se deve ser aberto o formulario if(camada.plugini3geo.ativo != undefined && camada.plugini3geo.ativo === "nao"){ i3GEOF.parametrossql.iniciaDefault(camada); } @@ -267,7 +270,7 @@ i3GEOF.parametrossql = { } else{ ins += "
Parâmetros";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,funcao,parametros){var p=[],tile,url;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}url=i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name;if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&DESLIGACACHE=sim&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,url+"&",{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,ferramentas:camada.ferramentas}));p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,transitionEffect:null,layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}if(funcao){funcao.call("",p)}else{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(camada.plugini3geo){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,onde){var html=i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);if(!onde){return html}else{return false}},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},clickArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(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();i3GEO.pluginI3geo.OBJETOS[nomecamada]=false;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,parametros){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg,parametros);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config,onde,tema,salva,remove){if(!i3GEO.template.heatmap){var t1=i3GEO.configura.locaplic+"/js/templates/heatmapForm_mst.html";$.get(t1).done(function(r1){i3GEO.template.heatmap=r1;i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove)}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return});return}var mustache,parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=JSON.parse(config);if(config.plugin!="heatmap"){config=JSON.parse(configDefault)}parametros=config.parametros;mustache={"coluna":parametros.coluna,"valorPonto":parametros.valorPonto,"radius":parametros.radius,"tipoGradiente":parametros.tipoGradiente,"linkAjuda":i3GEO.pluginI3geo.linkAjuda("layerkml"),"tema":tema,"salvaPlugin":salva,"removePlugin":remove};ins=Mustache.render(i3GEO.template.heatmap,$.extend({},mustache,i3GEO.idioma.OBJETOIDIOMA));if($i(onde)){$i(onde).innerHTML=ins;return false}else{return ins}},iconeArvoreDeCamadas:function(nomecamada){return false},clickArvoreDeCamadas: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){if(document.getElementById("i3GeoHeatmapGm"+camada.name)){i3GEO.janela.fechaAguarde("aguardePlugin");return}var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",criaLayer;criaLayer=function(){var g,v=true,temp,heatmap,data=heatmap_dados,datalen=heatmap_dados.length,nudata=[];if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;g=new ol.geom.Point([data[datalen].lng*1,data[datalen].lat*1]);g=i3GEO.util.projGeo2OSM(g);nudata.push(new ol.Feature({geometry:g,weight:temp}))}if(camada.status==="0"){v=false}if(!camada.plugini3geo.parametros.max){camada.plugini3geo.parametros.max=10}heatmap=new ol.layer.Heatmap({source:new ol.source.Vector({features:nudata}),blur:camada.plugini3geo.parametros.max*1,title:camada.tema,opacity:(camada.transparency*1)/100,radius:camada.plugini3geo.parametros.radius*1,name:camada.name,isBaseLayer:false,visible:v});i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,"")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config,onde,tema,salva,remove){if(!i3GEO.template.markercluster){var t1=i3GEO.configura.locaplic+"/js/templates/markerclusterForm_mst.html";$.get(t1).done(function(r1){i3GEO.template.markercluster=r1;i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove)}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return});return}var mustache,parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';if(config===""){config=configDefault}config=JSON.parse(config);if(config.plugin!="markercluster"){config=JSON.parse(configDefault)}parametros=config.parametros;mustache={"gridSize":parametros.gridSize,"tipoEstilos":parametros.tipoEstilos,"color":i3GEO.util.hex2rgb(parametros.color),"strokecolor":i3GEO.util.hex2rgb(parametros.strokecolor),"textcolor":i3GEO.util.hex2rgb(parametros.textcolor),"linkAjuda":i3GEO.pluginI3geo.linkAjuda("markercluster"),"tema":tema,"salvaPlugin":salva,"removePlugin":remove};ins=Mustache.render(i3GEO.template.markercluster,$.extend({},mustache,i3GEO.idioma.OBJETOIDIOMA));if($i(onde)){$i(onde).innerHTML=ins;i3GEO.util.aplicaAquarela(onde);return false}else{return ins}},parametrosFormAdmin:function(onde){return'{"plugin":"markercluster","parametros":{"tipoEstilos": "'+$i("MCtipoEstilos").value+'","textcolor":"'+i3GEO.util.rgb2hex($i("MCtextcolor").value)+'","strokecolor":"'+i3GEO.util.rgb2hex($i("MCstrokecolor").value)+'","color":"'+i3GEO.util.rgb2hex($i("MCcolor").value)+'","gridSize":"'+$i("MCgridSize").value+'"}}'},iconeArvoreDeCamadas:function(nomecamada){return false},clickArvoreDeCamadas: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){if(document.getElementById("i3GeoClustermapGm")){i3GEO.janela.fechaAguarde("aguardePlugin");return}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i Parâmetros";return icone},buscaParForm:function(nomecamada,novaCamada){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}}if(!novaCamada){camada.novaCamada="hidden"}else{camada.novaCamada=""}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,funcao,parametros){var p=[],tile,url;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}url=i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name;if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&DESLIGACACHE=sim&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,url+"&",{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,ferramentas:camada.ferramentas}));p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,transitionEffect:null,layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}if(funcao){funcao.call("",p)}else{return p}}}}};
\ No newline at end of file
diff --git a/js/compactajs.php b/js/compactajs.php
index 0bd98b0..0872aa1 100755
--- a/js/compactajs.php
+++ b/js/compactajs.php
@@ -1,7 +1,7 @@
Esse programa deve ser executado sempre que forem feitas alterações nos códigos javascript principais do i3Geo (aqueles que ficam na pasta i3geo/js).
A compactação reduz o tamanho dos arquivos e faz a concatenação de vários arquivos em um só. O compactador atua também sobre os arquivos CSS existentes
em i3geo/css. Ao utilizar o javascript i3geo/js/i3geo.js o arquivo compactado será carregado, assim como o CSS, correspondentes a última versão do i3Geo.
diff --git a/js/i3geo_tudo_compacto7.js b/js/i3geo_tudo_compacto7.js
index 7882ca7..817f665 100755
--- a/js/i3geo_tudo_compacto7.js
+++ b/js/i3geo_tudo_compacto7.js
@@ -283,7 +283,7 @@ if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEON
if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={IDONDE:"",TEMPLATE:"",config:{"template":"templates/ferramentasSend.html"},carregaTemplates:function(){$.get(i3GEO.marcador.config.template,function(template){i3GEO.template.marcador=template;i3GEO.marcador.inicia()})},inicia:function(obj){if(obj&&$(obj).attr("data-template")!=undefined){i3GEO.marcador.config.template=$(obj).attr("data-template")}if(!i3GEO.template.marcador){i3GEO.marcador.carregaTemplates();return}else{var janela=i3GEO.janela.cria("380px","400px","","","",""+$trad("x79")+"Compactador de código Javascript da versão 7.0
+ Compactador de código Javascript
"+$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;iParâmetros";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,funcao,parametros){var p=[],tile,url;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}url=i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name;if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&DESLIGACACHE=sim&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,url+"&",{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,ferramentas:camada.ferramentas}));p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,transitionEffect:null,layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}if(funcao){funcao.call("",p)}else{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(camada.plugini3geo){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,onde){var html=i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);if(!onde){return html}else{return false}},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},clickArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(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();i3GEO.pluginI3geo.OBJETOS[nomecamada]=false;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,parametros){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg,parametros);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config,onde,tema,salva,remove){if(!i3GEO.template.heatmap){var t1=i3GEO.configura.locaplic+"/js/templates/heatmapForm_mst.html";$.get(t1).done(function(r1){i3GEO.template.heatmap=r1;i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove)}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return});return}var mustache,parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=JSON.parse(config);if(config.plugin!="heatmap"){config=JSON.parse(configDefault)}parametros=config.parametros;mustache={"coluna":parametros.coluna,"valorPonto":parametros.valorPonto,"radius":parametros.radius,"tipoGradiente":parametros.tipoGradiente,"linkAjuda":i3GEO.pluginI3geo.linkAjuda("layerkml"),"tema":tema,"salvaPlugin":salva,"removePlugin":remove};ins=Mustache.render(i3GEO.template.heatmap,$.extend({},mustache,i3GEO.idioma.OBJETOIDIOMA));if($i(onde)){$i(onde).innerHTML=ins;return false}else{return ins}},iconeArvoreDeCamadas:function(nomecamada){return false},clickArvoreDeCamadas: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){if(document.getElementById("i3GeoHeatmapGm"+camada.name)){i3GEO.janela.fechaAguarde("aguardePlugin");return}var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",criaLayer;criaLayer=function(){var g,v=true,temp,heatmap,data=heatmap_dados,datalen=heatmap_dados.length,nudata=[];if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;g=new ol.geom.Point([data[datalen].lng*1,data[datalen].lat*1]);g=i3GEO.util.projGeo2OSM(g);nudata.push(new ol.Feature({geometry:g,weight:temp}))}if(camada.status==="0"){v=false}if(!camada.plugini3geo.parametros.max){camada.plugini3geo.parametros.max=10}heatmap=new ol.layer.Heatmap({source:new ol.source.Vector({features:nudata}),blur:camada.plugini3geo.parametros.max*1,title:camada.tema,opacity:(camada.transparency*1)/100,radius:camada.plugini3geo.parametros.radius*1,name:camada.name,isBaseLayer:false,visible:v});i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,"")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config,onde,tema,salva,remove){if(!i3GEO.template.markercluster){var t1=i3GEO.configura.locaplic+"/js/templates/markerclusterForm_mst.html";$.get(t1).done(function(r1){i3GEO.template.markercluster=r1;i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove)}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return});return}var mustache,parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';if(config===""){config=configDefault}config=JSON.parse(config);if(config.plugin!="markercluster"){config=JSON.parse(configDefault)}parametros=config.parametros;mustache={"gridSize":parametros.gridSize,"tipoEstilos":parametros.tipoEstilos,"color":i3GEO.util.hex2rgb(parametros.color),"strokecolor":i3GEO.util.hex2rgb(parametros.strokecolor),"textcolor":i3GEO.util.hex2rgb(parametros.textcolor),"linkAjuda":i3GEO.pluginI3geo.linkAjuda("markercluster"),"tema":tema,"salvaPlugin":salva,"removePlugin":remove};ins=Mustache.render(i3GEO.template.markercluster,$.extend({},mustache,i3GEO.idioma.OBJETOIDIOMA));if($i(onde)){$i(onde).innerHTML=ins;i3GEO.util.aplicaAquarela(onde);return false}else{return ins}},parametrosFormAdmin:function(onde){return'{"plugin":"markercluster","parametros":{"tipoEstilos": "'+$i("MCtipoEstilos").value+'","textcolor":"'+i3GEO.util.rgb2hex($i("MCtextcolor").value)+'","strokecolor":"'+i3GEO.util.rgb2hex($i("MCstrokecolor").value)+'","color":"'+i3GEO.util.rgb2hex($i("MCcolor").value)+'","gridSize":"'+$i("MCgridSize").value+'"}}'},iconeArvoreDeCamadas:function(nomecamada){return false},clickArvoreDeCamadas: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){if(document.getElementById("i3GeoClustermapGm")){i3GEO.janela.fechaAguarde("aguardePlugin");return}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i Parâmetros";return icone},buscaParForm:function(nomecamada,novaCamada){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}}if(!novaCamada){camada.novaCamada="hidden"}else{camada.novaCamada=""}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,funcao,parametros){var p=[],tile,url;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}url=i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name;if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&DESLIGACACHE=sim&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,url+"&",{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,ferramentas:camada.ferramentas}));p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,transitionEffect:null,layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}if(funcao){funcao.call("",p)}else{return p}}}}};
//
//compactados/catalogoMenus_compacto.js
i3GEO.catalogoMenus={IDSMENUS:[],MENU:"",GRUPO:"",SUBGRUPO:"",config:{"templateDir":"templates/dir.html","templateTema":"templates/tema.html","idOndeMenus":"catalogoMenus","idCatalogoPrincipal":"catalogoPrincipal","idCatalogoNavegacao":"catalogoNavegacao","idOndeMigalha":"catalogoMigalha"},carregaTemplates:function(){var t1=i3GEO.catalogoMenus.config.templateDir,t2=i3GEO.catalogoMenus.config.templateTema,t3=$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).attr("data-template");$.when($.get(t1),$.get(t2),$.get(t3)).done(function(r1,r2,r3){i3GEO.template.dir=r1[0];i3GEO.template.tema=r2[0];i3GEO.template.catalogoMigalha=r3[0];i3GEO.catalogoMenus.listaMenus()}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return})},aguarde:function(){$("#"+i3GEO.catalogoMenus.config.idOndeMenus).html($trad("o1"))},atualizaMigalha:function(nome,onclick){var t=Mustache.to_html(i3GEO.template.catalogoMigalha,{"nome":nome,"onclick":onclick});$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).html(t)},escondeCatalogoPrincipal:function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoPrincipal).hide()},mostraCatalogoPrincipal:function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).hide();$("#"+i3GEO.catalogoMenus.config.idCatalogoPrincipal).show()})},adicionaTema:function(tid){var tema=i3GEO.arvoreDeCamadas.pegaTema(tid),ck;if(tema!==""){ck=i3GEO.arvoreDeCamadas.capturaCheckBox(tid);if(ck!=false&&ck.onclick){ck.checked=!ck.checked;ck.onclick.call(ck)}else{i3GEO.janela.tempoMsg($trad("x76"))}}else{i3GEO.php.adtema(i3GEO.atualiza,tid)}},listaMenus:function(config){if(config){$.each(config,function(i,v){i3GEO.catalogoMenus.config[i]=v})}i3GEO.catalogoMenus.aguarde();if(!i3GEO.template.dir||!i3GEO.template.tema||!i3GEO.template.catalogoMigalha){i3GEO.catalogoMenus.carregaTemplates();return}else{config=i3GEO.catalogoMenus.config;if(i3GEO.arvoreDeTemas&&i3GEO.arvoreDeTemas.IDSMENUS&&i3GEO.arvoreDeTemas.IDSMENUS.length>0){i3GEO.catalogoMenus.IDSMENUS=i3GEO.arvoreDeTemas.IDSMENUS}var montaMenus=function(dados){var menus=dados.data,clone=[],n=i3GEO.catalogoMenus.IDSMENUS.length,t;$.each(menus,function(i,v){if(n===0||i3GEO.catalogoMenus.IDSMENUS.indexOf(v.idmenu)>=0||i3GEO.catalogoMenus.IDSMENUS.indexOf(v.idmenu*1)>=0){v.nome=v.nomemenu;v.descricao=v.desc;v.onclick="i3GEO.catalogoMenus.listaGrupos("+v.idmenu+",'"+v.nome+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}clone.push(v)}});t=Mustache.to_html("{{#data}}"+i3GEO.template.dir+"{{/data}}",{"data":clone});$("#"+config.idOndeMenus).html(t)};i3GEO.php.pegalistademenus(montaMenus)}},listaGrupos:function(idmenu,nomeMigalha){$("#i3GEOguiaMovelConteudo").scrollTop(0);i3GEO.catalogoMenus.MENU=nomeMigalha;i3GEO.catalogoMenus.atualizaMigalha(nomeMigalha,"i3GEO.catalogoMenus.mostraCatalogoPrincipal()");var montaGrupos=function(dados){var grupos=dados.data.grupos,clone=[],config=i3GEO.catalogoMenus.config,g="",t="",temas=[];$.each(grupos,function(i,v){if(v.id_n1){v.onclick="i3GEO.catalogoMenus.listaSubGrupos("+idmenu+","+v.id_n1+",'"+v.nome+"','"+nomeMigalha+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}clone.push(v)}if(v.temasraiz){temas=v.temasraiz}});g=Mustache.to_html("{{#data}}"+i3GEO.template.dir+"{{/data}}",{"data":clone});clone=[];$.each(temas,function(i,v){v.onclick="i3GEO.catalogoMenus.adicionaTema('"+v.codigo_tema+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}if(v.link&&v.link.trim()!=""){v.link="Link"}clone.push(v)});t=Mustache.to_html("{{#data}}"+i3GEO.template.tema+"{{/data}}",{"data":clone});$("#"+config.idCatalogoNavegacao).html(t+g);$("#"+config.idCatalogoPrincipal).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).show();$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).show()})};i3GEO.php.pegalistadegrupos(montaGrupos,idmenu,"nao")},listaSubGrupos:function(idmenu,id_n1,nomeMigalha){$("#i3GEOguiaMovelConteudo").scrollTop(0);i3GEO.catalogoMenus.GRUPO=nomeMigalha;i3GEO.catalogoMenus.escondeCatalogoPrincipal();i3GEO.catalogoMenus.atualizaMigalha(nomeMigalha,"i3GEO.catalogoMenus.listaGrupos('"+idmenu+"','"+i3GEO.catalogoMenus.MENU+"')");var montaSubGrupos=function(dados){var subgrupos=dados.data.subgrupo,clone=[],g="",t="",temas;$.each(subgrupos,function(i,v){if(v.id_n2){v.onclick="i3GEO.catalogoMenus.listaTemasSubgrupo("+idmenu+","+id_n1+","+v.id_n2+",'"+v.nome+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}clone.push(v)}});g=Mustache.to_html("{{#data}}"+i3GEO.template.dir+"{{/data}}",{"data":clone});clone=[];temas=dados.data.temasgrupo;$.each(temas,function(i,v){v.onclick="i3GEO.catalogoMenus.adicionaTema('"+v.codigo_tema+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}if(v.link&&v.link.trim()!=""){v.link="Link"}clone.push(v)});t=Mustache.to_html("{{#data}}"+i3GEO.template.tema+"{{/data}}",{"data":clone});$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).html(t+g);$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).show();$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).show()})};i3GEO.php.pegalistadeSubgrupos(montaSubGrupos,idmenu,id_n1)},listaTemasSubgrupo:function(idmenu,id_n1,id_n2,nomeMigalha){$("#i3GEOguiaMovelConteudo").scrollTop(0);i3GEO.catalogoMenus.SUBGRUPO=nomeMigalha;i3GEO.catalogoMenus.escondeCatalogoPrincipal();i3GEO.catalogoMenus.atualizaMigalha(nomeMigalha,"i3GEO.catalogoMenus.listaSubGrupos("+idmenu+","+id_n1+",'"+i3GEO.catalogoMenus.GRUPO+"')");var montaTemas=function(dados){var temas=dados.data.temas,clone=[],t="";clone=[];$.each(temas,function(i,v){v.onclick="i3GEO.catalogoMenus.adicionaTema('"+v.codigo_tema+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}if(v.link&&v.link.trim()!=""){v.link="Link"}clone.push(v)});t=Mustache.to_html("{{#data}}"+i3GEO.template.tema+"{{/data}}",{"data":clone});$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).html(t);$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).show();$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).show()})};i3GEO.php.pegalistadetemas(montaTemas,idmenu,id_n1,id_n2)}};
diff --git a/js/i3geo_tudo_compacto7.js.php b/js/i3geo_tudo_compacto7.js.php
index 8764331..9392d53 100644
--- a/js/i3geo_tudo_compacto7.js.php
+++ b/js/i3geo_tudo_compacto7.js.php
@@ -283,7 +283,7 @@ if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEON
if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={IDONDE:"",TEMPLATE:"",config:{"template":"templates/ferramentasSend.html"},carregaTemplates:function(){$.get(i3GEO.marcador.config.template,function(template){i3GEO.template.marcador=template;i3GEO.marcador.inicia()})},inicia:function(obj){if(obj&&$(obj).attr("data-template")!=undefined){i3GEO.marcador.config.template=$(obj).attr("data-template")}if(!i3GEO.template.marcador){i3GEO.marcador.carregaTemplates();return}else{var janela=i3GEO.janela.cria("380px","400px","","","",""+$trad("x79")+"","i3GEOmarcador",false,"hd","","","",true,"","","","");i3GEO.marcador.IDONDE=janela[2].id;i3GEO.marcador.redesenha()}},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 t=Mustache.to_html("{{#data}}"+i3GEO.template.marcador+"{{/data}}",{"data":i3GEO.marcador.itensMenu()});$("#"+i3GEO.marcador.IDONDE).html(" "+$trad("x78")+" Parâmetros";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,funcao,parametros){var p=[],tile,url;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}url=i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name;if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&DESLIGACACHE=sim&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,url+"&",{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,ferramentas:camada.ferramentas}));p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,transitionEffect:null,layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}if(funcao){funcao.call("",p)}else{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(camada.plugini3geo){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,onde){var html=i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);if(!onde){return html}else{return false}},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},clickArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(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();i3GEO.pluginI3geo.OBJETOS[nomecamada]=false;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,parametros){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg,parametros);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config,onde,tema,salva,remove){if(!i3GEO.template.heatmap){var t1=i3GEO.configura.locaplic+"/js/templates/heatmapForm_mst.html";$.get(t1).done(function(r1){i3GEO.template.heatmap=r1;i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove)}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return});return}var mustache,parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=JSON.parse(config);if(config.plugin!="heatmap"){config=JSON.parse(configDefault)}parametros=config.parametros;mustache={"coluna":parametros.coluna,"valorPonto":parametros.valorPonto,"radius":parametros.radius,"tipoGradiente":parametros.tipoGradiente,"linkAjuda":i3GEO.pluginI3geo.linkAjuda("layerkml"),"tema":tema,"salvaPlugin":salva,"removePlugin":remove};ins=Mustache.render(i3GEO.template.heatmap,$.extend({},mustache,i3GEO.idioma.OBJETOIDIOMA));if($i(onde)){$i(onde).innerHTML=ins;return false}else{return ins}},iconeArvoreDeCamadas:function(nomecamada){return false},clickArvoreDeCamadas: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){if(document.getElementById("i3GeoHeatmapGm"+camada.name)){i3GEO.janela.fechaAguarde("aguardePlugin");return}var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",criaLayer;criaLayer=function(){var g,v=true,temp,heatmap,data=heatmap_dados,datalen=heatmap_dados.length,nudata=[];if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;g=new ol.geom.Point([data[datalen].lng*1,data[datalen].lat*1]);g=i3GEO.util.projGeo2OSM(g);nudata.push(new ol.Feature({geometry:g,weight:temp}))}if(camada.status==="0"){v=false}if(!camada.plugini3geo.parametros.max){camada.plugini3geo.parametros.max=10}heatmap=new ol.layer.Heatmap({source:new ol.source.Vector({features:nudata}),blur:camada.plugini3geo.parametros.max*1,title:camada.tema,opacity:(camada.transparency*1)/100,radius:camada.plugini3geo.parametros.radius*1,name:camada.name,isBaseLayer:false,visible:v});i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,"")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config,onde,tema,salva,remove){if(!i3GEO.template.markercluster){var t1=i3GEO.configura.locaplic+"/js/templates/markerclusterForm_mst.html";$.get(t1).done(function(r1){i3GEO.template.markercluster=r1;i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove)}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return});return}var mustache,parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';if(config===""){config=configDefault}config=JSON.parse(config);if(config.plugin!="markercluster"){config=JSON.parse(configDefault)}parametros=config.parametros;mustache={"gridSize":parametros.gridSize,"tipoEstilos":parametros.tipoEstilos,"color":i3GEO.util.hex2rgb(parametros.color),"strokecolor":i3GEO.util.hex2rgb(parametros.strokecolor),"textcolor":i3GEO.util.hex2rgb(parametros.textcolor),"linkAjuda":i3GEO.pluginI3geo.linkAjuda("markercluster"),"tema":tema,"salvaPlugin":salva,"removePlugin":remove};ins=Mustache.render(i3GEO.template.markercluster,$.extend({},mustache,i3GEO.idioma.OBJETOIDIOMA));if($i(onde)){$i(onde).innerHTML=ins;i3GEO.util.aplicaAquarela(onde);return false}else{return ins}},parametrosFormAdmin:function(onde){return'{"plugin":"markercluster","parametros":{"tipoEstilos": "'+$i("MCtipoEstilos").value+'","textcolor":"'+i3GEO.util.rgb2hex($i("MCtextcolor").value)+'","strokecolor":"'+i3GEO.util.rgb2hex($i("MCstrokecolor").value)+'","color":"'+i3GEO.util.rgb2hex($i("MCcolor").value)+'","gridSize":"'+$i("MCgridSize").value+'"}}'},iconeArvoreDeCamadas:function(nomecamada){return false},clickArvoreDeCamadas: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){if(document.getElementById("i3GeoClustermapGm")){i3GEO.janela.fechaAguarde("aguardePlugin");return}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i Parâmetros";return icone},buscaParForm:function(nomecamada,novaCamada){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}}if(!novaCamada){camada.novaCamada="hidden"}else{camada.novaCamada=""}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,funcao,parametros){var p=[],tile,url;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}url=i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name;if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&DESLIGACACHE=sim&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,url+"&",{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,ferramentas:camada.ferramentas}));p.push(new OpenLayers.Layer.WMS(camada.tema,url+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,transitionEffect:null,layername:camada.name,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros,ferramentas:camada.ferramentas}))}if(funcao){funcao.call("",p)}else{return p}}}}};
//
//compactados/catalogoMenus_compacto.js
i3GEO.catalogoMenus={IDSMENUS:[],MENU:"",GRUPO:"",SUBGRUPO:"",config:{"templateDir":"templates/dir.html","templateTema":"templates/tema.html","idOndeMenus":"catalogoMenus","idCatalogoPrincipal":"catalogoPrincipal","idCatalogoNavegacao":"catalogoNavegacao","idOndeMigalha":"catalogoMigalha"},carregaTemplates:function(){var t1=i3GEO.catalogoMenus.config.templateDir,t2=i3GEO.catalogoMenus.config.templateTema,t3=$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).attr("data-template");$.when($.get(t1),$.get(t2),$.get(t3)).done(function(r1,r2,r3){i3GEO.template.dir=r1[0];i3GEO.template.tema=r2[0];i3GEO.template.catalogoMigalha=r3[0];i3GEO.catalogoMenus.listaMenus()}).fail(function(){i3GEO.janela.closeMsg($trad("erroTpl"));return})},aguarde:function(){$("#"+i3GEO.catalogoMenus.config.idOndeMenus).html($trad("o1"))},atualizaMigalha:function(nome,onclick){var t=Mustache.to_html(i3GEO.template.catalogoMigalha,{"nome":nome,"onclick":onclick});$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).html(t)},escondeCatalogoPrincipal:function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoPrincipal).hide()},mostraCatalogoPrincipal:function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).hide();$("#"+i3GEO.catalogoMenus.config.idCatalogoPrincipal).show()})},adicionaTema:function(tid){var tema=i3GEO.arvoreDeCamadas.pegaTema(tid),ck;if(tema!==""){ck=i3GEO.arvoreDeCamadas.capturaCheckBox(tid);if(ck!=false&&ck.onclick){ck.checked=!ck.checked;ck.onclick.call(ck)}else{i3GEO.janela.tempoMsg($trad("x76"))}}else{i3GEO.php.adtema(i3GEO.atualiza,tid)}},listaMenus:function(config){if(config){$.each(config,function(i,v){i3GEO.catalogoMenus.config[i]=v})}i3GEO.catalogoMenus.aguarde();if(!i3GEO.template.dir||!i3GEO.template.tema||!i3GEO.template.catalogoMigalha){i3GEO.catalogoMenus.carregaTemplates();return}else{config=i3GEO.catalogoMenus.config;if(i3GEO.arvoreDeTemas&&i3GEO.arvoreDeTemas.IDSMENUS&&i3GEO.arvoreDeTemas.IDSMENUS.length>0){i3GEO.catalogoMenus.IDSMENUS=i3GEO.arvoreDeTemas.IDSMENUS}var montaMenus=function(dados){var menus=dados.data,clone=[],n=i3GEO.catalogoMenus.IDSMENUS.length,t;$.each(menus,function(i,v){if(n===0||i3GEO.catalogoMenus.IDSMENUS.indexOf(v.idmenu)>=0||i3GEO.catalogoMenus.IDSMENUS.indexOf(v.idmenu*1)>=0){v.nome=v.nomemenu;v.descricao=v.desc;v.onclick="i3GEO.catalogoMenus.listaGrupos("+v.idmenu+",'"+v.nome+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}clone.push(v)}});t=Mustache.to_html("{{#data}}"+i3GEO.template.dir+"{{/data}}",{"data":clone});$("#"+config.idOndeMenus).html(t)};i3GEO.php.pegalistademenus(montaMenus)}},listaGrupos:function(idmenu,nomeMigalha){$("#i3GEOguiaMovelConteudo").scrollTop(0);i3GEO.catalogoMenus.MENU=nomeMigalha;i3GEO.catalogoMenus.atualizaMigalha(nomeMigalha,"i3GEO.catalogoMenus.mostraCatalogoPrincipal()");var montaGrupos=function(dados){var grupos=dados.data.grupos,clone=[],config=i3GEO.catalogoMenus.config,g="",t="",temas=[];$.each(grupos,function(i,v){if(v.id_n1){v.onclick="i3GEO.catalogoMenus.listaSubGrupos("+idmenu+","+v.id_n1+",'"+v.nome+"','"+nomeMigalha+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}clone.push(v)}if(v.temasraiz){temas=v.temasraiz}});g=Mustache.to_html("{{#data}}"+i3GEO.template.dir+"{{/data}}",{"data":clone});clone=[];$.each(temas,function(i,v){v.onclick="i3GEO.catalogoMenus.adicionaTema('"+v.codigo_tema+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}if(v.link&&v.link.trim()!=""){v.link="Link"}clone.push(v)});t=Mustache.to_html("{{#data}}"+i3GEO.template.tema+"{{/data}}",{"data":clone});$("#"+config.idCatalogoNavegacao).html(t+g);$("#"+config.idCatalogoPrincipal).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).show();$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).show()})};i3GEO.php.pegalistadegrupos(montaGrupos,idmenu,"nao")},listaSubGrupos:function(idmenu,id_n1,nomeMigalha){$("#i3GEOguiaMovelConteudo").scrollTop(0);i3GEO.catalogoMenus.GRUPO=nomeMigalha;i3GEO.catalogoMenus.escondeCatalogoPrincipal();i3GEO.catalogoMenus.atualizaMigalha(nomeMigalha,"i3GEO.catalogoMenus.listaGrupos('"+idmenu+"','"+i3GEO.catalogoMenus.MENU+"')");var montaSubGrupos=function(dados){var subgrupos=dados.data.subgrupo,clone=[],g="",t="",temas;$.each(subgrupos,function(i,v){if(v.id_n2){v.onclick="i3GEO.catalogoMenus.listaTemasSubgrupo("+idmenu+","+id_n1+","+v.id_n2+",'"+v.nome+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}clone.push(v)}});g=Mustache.to_html("{{#data}}"+i3GEO.template.dir+"{{/data}}",{"data":clone});clone=[];temas=dados.data.temasgrupo;$.each(temas,function(i,v){v.onclick="i3GEO.catalogoMenus.adicionaTema('"+v.codigo_tema+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}if(v.link&&v.link.trim()!=""){v.link="Link"}clone.push(v)});t=Mustache.to_html("{{#data}}"+i3GEO.template.tema+"{{/data}}",{"data":clone});$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).html(t+g);$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).show();$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).show()})};i3GEO.php.pegalistadeSubgrupos(montaSubGrupos,idmenu,id_n1)},listaTemasSubgrupo:function(idmenu,id_n1,id_n2,nomeMigalha){$("#i3GEOguiaMovelConteudo").scrollTop(0);i3GEO.catalogoMenus.SUBGRUPO=nomeMigalha;i3GEO.catalogoMenus.escondeCatalogoPrincipal();i3GEO.catalogoMenus.atualizaMigalha(nomeMigalha,"i3GEO.catalogoMenus.listaSubGrupos("+idmenu+","+id_n1+",'"+i3GEO.catalogoMenus.GRUPO+"')");var montaTemas=function(dados){var temas=dados.data.temas,clone=[],t="";clone=[];$.each(temas,function(i,v){v.onclick="i3GEO.catalogoMenus.adicionaTema('"+v.codigo_tema+"')";if(v.publicado.toLowerCase()=="nao"){v.nome=v.nome+" ("+$trad("naoPublicado")+")"}if(v.link&&v.link.trim()!=""){v.link="Link"}clone.push(v)});t=Mustache.to_html("{{#data}}"+i3GEO.template.tema+"{{/data}}",{"data":clone});$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).fadeOut("fast",function(){$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).html(t);$("#"+i3GEO.catalogoMenus.config.idOndeMigalha).show();$("#"+i3GEO.catalogoMenus.config.idCatalogoNavegacao).show()})};i3GEO.php.pegalistadetemas(montaTemas,idmenu,id_n1,id_n2)}};
diff --git a/js/plugini3geo.js b/js/plugini3geo.js
index bf1b450..cb1508b 100755
--- a/js/plugini3geo.js
+++ b/js/plugini3geo.js
@@ -45,1219 +45,1225 @@ i3GEO.pluginI3geo =
//XXX criar plugin geojson
//XXX criar plugin que aceite um JSON generico
PLUGINS : [
- {
- "classe" : "heatmap", // namespace da classe
- "nome" : "Mapa de calor", // tituo do plugin
- "editor" : true
- // inclui no editor de mapfiles
- }, {
- "classe" : "markercluster",
- "nome" : "Agrupamento de pontos (cluster)",
- "editor" : true
- }, {
- "classe" : "layerkml",
- "nome" : "Camada Kml",
- "editor" : true
- }, {
- "classe" : "parametrossql",
- "nome" : "SQL parametrizado",
- "editor" : true
- }
- ],
- /**
- * Inicia a execucao de um plugin
- *
- * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas
- * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para
- * ca Os plugins sao definidos como metadados em cada mapfile de cada tema
- *
- * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas
- */
- inicia : function(camada) {
- if (typeof (console) !== 'undefined')
- console.info("i3GEO.pluginI3geo.inicia()");
+ {
+ "classe" : "heatmap", // namespace da classe
+ "nome" : "Mapa de calor", // tituo do plugin
+ "editor" : true
+ // inclui no editor de mapfiles
+ }, {
+ "classe" : "markercluster",
+ "nome" : "Agrupamento de pontos (cluster)",
+ "editor" : true
+ }, {
+ "classe" : "layerkml",
+ "nome" : "Camada Kml",
+ "editor" : true
+ }, {
+ "classe" : "parametrossql",
+ "nome" : "SQL parametrizado",
+ "editor" : true
+ }
+ ],
+ /**
+ * Inicia a execucao de um plugin
+ *
+ * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas
+ * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para
+ * ca Os plugins sao definidos como metadados em cada mapfile de cada tema
+ *
+ * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas
+ */
+ inicia : function(camada) {
+ if (typeof (console) !== 'undefined')
+ console.info("i3GEO.pluginI3geo.inicia()");
- if(camada.plugini3geo){
- if (i3GEO.janela) {
- i3GEO.janela.AGUARDEMODAL = true;
- i3GEO.janela.abreAguarde("aguardePlugin", "Plugin...");
- i3GEO.janela.AGUARDEMODAL = false;
- }
- // chama a funcao conforme o tipo de plugin e a interface atual
- // para cada plugin deve haver um objeto com as funcoes especificas
- // para
- // cada interface
- i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada);
- }
- },
- /**
- * Retorna o HTML com o formulario para editar os parametros do plugin
- */
- formAdmin : function(plugin, configString, onde) {
- var html = i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);
- if(!onde){
- return html;
- } else {
- return false;
- }
- },
- /**
- * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
- * utilizado para reabrir o formulario de parametros
- */
- iconeArvoreDeCamadas : function(camada) {
- if (camada.plugini3geo && camada.plugini3geo != "") {
- return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name);
- } else {
- return false;
- }
- },
- clickArvoreDeCamadas : function(camada) {
- if (camada.plugini3geo && camada.plugini3geo != "") {
- return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(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();
- i3GEO.pluginI3geo.OBJETOS[nomecamada] = false;
- 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;
- },
- /**
- * Aplica as propriedades em um objeto do tipo tema
- *
- * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma
- * correta na arvore de camadas
- */
- aplicaPropriedades : function(camada) {
- if (camada.plugini3geo && camada.plugini3geo != "") {
- camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada);
- }
- return camada;
- },
- /**
- * Cria um layer conforme a API em uso no aplicativo mashup
- *
- * Parametros
- *
- * {string} - nome da interface em uso openlayers|googlemaps
- *
- * {objeto} - objeto camada, conforme definido em i3GEO.arvoreDeCamadas.CAMADAS
- *
- * {string} - codigo epsg que sera usado no WMS
- *
- * {parametros} - objeto com parametros adicionais especificos da interface em uso
- */
- layerMashup : function(Interface, camada, epsg, parametros) {
- if (camada.plugini3geo && camada.plugini3geo != "" && i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup) {
- var l = i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada, epsg, parametros);
- return l;
- } else {
- return [
- false
- ];
- }
- },
- /**
- * Section: i3GEO.pluginI3geo.heatmap
- *
- * Mapa de calor
- *
- * Gera um layer do tipo mapa de calor e adiciona ao mapa
- *
- * As dependências em javascript sao carregadas via script tag por meio de ferramentas/heatmap
- *
- * Esse programa também obtém os dados necessários ao plugin
- *
- * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
- *
- * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
- *
- * Exemplo:
- *
- * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}'
- *
- * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é
- * usada para gerar a representação. Se for vazia, considera-se o valor como 1
- *
- * As cores das classes existentes no LAYER serão utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for
- * igual a "default" será utilizado o gradiente padrão.
- *
- */
- heatmap : {
- linkAjuda : function() {
- return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
- },
- formAdmin : function(config,onde,tema,salva,remove) {
- if(!i3GEO.template.heatmap){
- var t1 = i3GEO.configura.locaplic + "/js/templates/heatmapForm_mst.html";
- $.get(t1).done(function(r1) {
- i3GEO.template.heatmap = r1;
- i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove);
- }).fail(function() {
- i3GEO.janela.closeMsg($trad("erroTpl"));
- return;
- });
- return;
- }
- var mustache,parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';
- if (config === "") {
- config = configDefault;
- }
- config = JSON.parse(config);
- if (config.plugin != "heatmap") {
- config = JSON.parse(configDefault);
- }
- parametros = config.parametros;
- mustache = {
- "coluna": parametros.coluna,
- "valorPonto": parametros.valorPonto,
- "radius" : parametros.radius,
- "tipoGradiente": parametros.tipoGradiente,
- "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
- "tema": tema,
- "salvaPlugin": salva,
- "removePlugin": remove
- };
- ins = Mustache.render(
- i3GEO.template.heatmap,
- $.extend(
- {},
- mustache,
- i3GEO.idioma.OBJETOIDIOMA
- )
- );
- if($i(onde)){
- $i(onde).innerHTML = ins;
- return false;
- } else {
- return ins;
- }
- },
- /**
- * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
- * utilizado para reabrir o formulario de parametros
- */
- iconeArvoreDeCamadas : function(nomecamada) {
- return false;
- },
- clickArvoreDeCamadas : 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) {
- if(document.getElementById("i3GeoHeatmapGm"+camada.name)){
- i3GEO.janela.fechaAguarde("aguardePlugin");
- return;
- }
- var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs =
- "nao", criaLayer;
- criaLayer = function() {
- var heatmap, pontos;
+ if(camada.plugini3geo){
+ if (i3GEO.janela) {
+ i3GEO.janela.AGUARDEMODAL = true;
+ i3GEO.janela.abreAguarde("aguardePlugin", "Plugin...");
+ i3GEO.janela.AGUARDEMODAL = false;
+ }
+ // chama a funcao conforme o tipo de plugin e a interface atual
+ // para cada plugin deve haver um objeto com as funcoes especificas
+ // para
+ // cada interface
+ i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada);
+ }
+ },
+ /**
+ * Retorna o HTML com o formulario para editar os parametros do plugin
+ */
+ formAdmin : function(plugin, configString, onde) {
+ var html = i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);
+ if(!onde){
+ return html;
+ } else {
+ return false;
+ }
+ },
+ /**
+ * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
+ * utilizado para reabrir o formulario de parametros
+ */
+ iconeArvoreDeCamadas : function(camada) {
+ if (camada.plugini3geo && camada.plugini3geo != "") {
+ return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name);
+ } else {
+ return false;
+ }
+ },
+ clickArvoreDeCamadas : function(camada) {
+ if (camada.plugini3geo && camada.plugini3geo != "") {
+ return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(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();
+ i3GEO.pluginI3geo.OBJETOS[nomecamada] = false;
+ 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;
+ },
+ /**
+ * Aplica as propriedades em um objeto do tipo tema
+ *
+ * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma
+ * correta na arvore de camadas
+ */
+ aplicaPropriedades : function(camada) {
+ if (camada.plugini3geo && camada.plugini3geo != "") {
+ camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada);
+ }
+ return camada;
+ },
+ /**
+ * Cria um layer conforme a API em uso no aplicativo mashup
+ *
+ * Parametros
+ *
+ * {string} - nome da interface em uso openlayers|googlemaps
+ *
+ * {objeto} - objeto camada, conforme definido em i3GEO.arvoreDeCamadas.CAMADAS
+ *
+ * {string} - codigo epsg que sera usado no WMS
+ *
+ * {parametros} - objeto com parametros adicionais especificos da interface em uso
+ */
+ layerMashup : function(Interface, camada, epsg, parametros) {
+ if (camada.plugini3geo && camada.plugini3geo != "" && i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup) {
+ var l = i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada, epsg, parametros);
+ return l;
+ } else {
+ return [
+ false
+ ];
+ }
+ },
+ /**
+ * Section: i3GEO.pluginI3geo.heatmap
+ *
+ * Mapa de calor
+ *
+ * Gera um layer do tipo mapa de calor e adiciona ao mapa
+ *
+ * As dependências em javascript sao carregadas via script tag por meio de ferramentas/heatmap
+ *
+ * Esse programa também obtém os dados necessários ao plugin
+ *
+ * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
+ *
+ * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
+ *
+ * Exemplo:
+ *
+ * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}'
+ *
+ * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é
+ * usada para gerar a representação. Se for vazia, considera-se o valor como 1
+ *
+ * As cores das classes existentes no LAYER serão utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for
+ * igual a "default" será utilizado o gradiente padrão.
+ *
+ */
+ heatmap : {
+ linkAjuda : function() {
+ return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
+ },
+ formAdmin : function(config,onde,tema,salva,remove) {
+ if(!i3GEO.template.heatmap){
+ var t1 = i3GEO.configura.locaplic + "/js/templates/heatmapForm_mst.html";
+ $.get(t1).done(function(r1) {
+ i3GEO.template.heatmap = r1;
+ i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove);
+ }).fail(function() {
+ i3GEO.janela.closeMsg($trad("erroTpl"));
+ return;
+ });
+ return;
+ }
+ var mustache,parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';
+ if (config === "") {
+ config = configDefault;
+ }
+ config = JSON.parse(config);
+ if (config.plugin != "heatmap") {
+ config = JSON.parse(configDefault);
+ }
+ parametros = config.parametros;
+ mustache = {
+ "coluna": parametros.coluna,
+ "valorPonto": parametros.valorPonto,
+ "radius" : parametros.radius,
+ "tipoGradiente": parametros.tipoGradiente,
+ "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
+ "tema": tema,
+ "salvaPlugin": salva,
+ "removePlugin": remove
+ };
+ ins = Mustache.render(
+ i3GEO.template.heatmap,
+ $.extend(
+ {},
+ mustache,
+ i3GEO.idioma.OBJETOIDIOMA
+ )
+ );
+ if($i(onde)){
+ $i(onde).innerHTML = ins;
+ return false;
+ } else {
+ return ins;
+ }
+ },
+ /**
+ * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
+ * utilizado para reabrir o formulario de parametros
+ */
+ iconeArvoreDeCamadas : function(nomecamada) {
+ return false;
+ },
+ clickArvoreDeCamadas : 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) {
+ if(document.getElementById("i3GeoHeatmapGm"+camada.name)){
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ return;
+ }
+ var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs =
+ "nao", criaLayer;
+ criaLayer = function() {
+ var heatmap, pontos;
- heatmap = new HeatmapOverlay(i3GeoMap, camada.name, {
- "radius" : camada.plugini3geo.parametros.radius,
- "visible" : true,
- "opacity" : camada.transparency,
- "gradient" : heatmap_config.gradient,
- "legend" : {
- "title" : camada.tema,
- "position" : "bl",
- "offset" : [
- 5, 50
- ]
- }
- });
- // i3GeoMap.overlayMapTypes.insertAt(0, heatmap);
- pontos = {
- max : camada.plugini3geo.parametros.max,
- data : heatmap_dados
- };
- i3GEO.janela.fechaAguarde("aguardePlugin");
- heatmap.setDataSet(pontos);
- heatmap.ligaCamada = function() {
- this.liga();
- };
- heatmap.desLigaCamada = function() {
- this.desliga();
- };
- heatmap.removeCamada = function() {
- this.destroy();
- };
- heatmap.atualizaCamada = function() {
- this.draw();
- };
- i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
- heatmap_dados = null;
- };
- // se o script nao existir carrega o codigo e os dados
- // caso contrario, carrega apenas os dados no script
- if (!$i(nomeScript)) {
- carregaJs = "sim";
- } else {
- nomeScript = "";
- }
- p +=
- "?carregajs=" + carregaJs
- + "&layer="
- + camada.name
- + "&coluna="
- + camada.plugini3geo.parametros.coluna
- + "&tipoGradiente="
- + camada.plugini3geo.parametros.tipoGradiente
- + "&g_sid="
- + i3GEO.configura.sid
- + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
- i3GEO.util.scriptTag(p, criaLayer, nomeScript);
- }
- },
- //
- // 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";
- camada.download = "nao";
- 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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);
- return [];
- },
- inicia : function(camada, objMapa) {
- var p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php",criaLayer;
- criaLayer = function() {
- if (typeof (console) !== 'undefined')
- console.info("criaLayer heatmap");
+ heatmap = new HeatmapOverlay(i3GeoMap, camada.name, {
+ "radius" : camada.plugini3geo.parametros.radius,
+ "visible" : true,
+ "opacity" : camada.transparency,
+ "gradient" : heatmap_config.gradient,
+ "legend" : {
+ "title" : camada.tema,
+ "position" : "bl",
+ "offset" : [
+ 5, 50
+ ]
+ }
+ });
+ // i3GeoMap.overlayMapTypes.insertAt(0, heatmap);
+ pontos = {
+ max : camada.plugini3geo.parametros.max,
+ data : heatmap_dados
+ };
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ heatmap.setDataSet(pontos);
+ heatmap.ligaCamada = function() {
+ this.liga();
+ };
+ heatmap.desLigaCamada = function() {
+ this.desliga();
+ };
+ heatmap.removeCamada = function() {
+ this.destroy();
+ };
+ heatmap.atualizaCamada = function() {
+ this.draw();
+ };
+ i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
+ heatmap_dados = null;
+ };
+ // se o script nao existir carrega o codigo e os dados
+ // caso contrario, carrega apenas os dados no script
+ if (!$i(nomeScript)) {
+ carregaJs = "sim";
+ } else {
+ nomeScript = "";
+ }
+ p +=
+ "?carregajs=" + carregaJs
+ + "&layer="
+ + camada.name
+ + "&coluna="
+ + camada.plugini3geo.parametros.coluna
+ + "&tipoGradiente="
+ + camada.plugini3geo.parametros.tipoGradiente
+ + "&g_sid="
+ + i3GEO.configura.sid
+ + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
+ i3GEO.util.scriptTag(p, criaLayer, nomeScript);
+ }
+ },
+ //
+ // 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";
+ camada.download = "nao";
+ 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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);
+ return [];
+ },
+ inicia : function(camada, objMapa) {
+ var p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php",criaLayer;
+ criaLayer = function() {
+ if (typeof (console) !== 'undefined')
+ console.info("criaLayer heatmap");
- var g, v = true, temp, heatmap, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [];
- // para uso com o mashup
- if (!objMapa) {
- objMapa = i3geoOL;
- }
- while (datalen--) {
- temp = heatmap_dados[datalen].count;
- g = new ol.geom.Point([data[datalen].lng * 1,data[datalen].lat * 1]);
- g = i3GEO.util.projGeo2OSM(g);
- nudata.push(new ol.Feature({
- geometry: g,
- weight: temp
- })
- );
- }
- // create our heatmap layer
- if(camada.status === "0"){
- v = false;
- }
- if(!camada.plugini3geo.parametros.max){
- camada.plugini3geo.parametros.max = 10;
- }
- heatmap = new ol.layer.Heatmap({
- source: new ol.source.Vector({
- features : nudata
- }),
- blur: camada.plugini3geo.parametros.max * 1,
- title: camada.tema,
- opacity: (camada.transparency * 1) / 100,
- radius: camada.plugini3geo.parametros.radius * 1,
- name : camada.name,
- isBaseLayer : false,
- visible : v
- });
- i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
- objMapa.addLayer(heatmap);
- heatmap_dados = null;
- if (i3GEO.janela) {
- i3GEO.janela.fechaAguarde("aguardePlugin");
- }
- };
- if (!i3GEO.configura || !i3GEO.configura.sid) {
- i3GEO.configura.sid = "";
- }
- p +=
- "?layer="
- + camada.name
- + "&coluna="
- + camada.plugini3geo.parametros.coluna
- + "&tipoGradiente="
- + camada.plugini3geo.parametros.tipoGradiente
- + "&g_sid="
- + i3GEO.configura.sid
- + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
- i3GEO.util.scriptTag(p, criaLayer, "");
- }
- }
- },
- /**
- * Section: i3GEO.pluginI3geo.markercluster
- *
- * Markercluster
- *
- * Gera um layer que agrupa pontos conforme a distância entre eles e insere um contador adiciona ao mapa
- *
- * As dependências em javascript sao carregadas via script tag por meio de ferramentas/markercluster
- *
- * Esse programa também obtém os dados necessários ao plugin
- *
- * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
- *
- * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
- *
- * Exemplo:
- *
- * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}'
- *
- * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é
- * usada para gerar a representação. Se for vazia, considera-se o valor como 1
- *
- */
- markercluster : {
- linkAjuda : function() {
- return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=122";
- },
- formAdmin : function(config,onde,tema,salva,remove) {
- if(!i3GEO.template.markercluster){
- var t1 = i3GEO.configura.locaplic + "/js/templates/markerclusterForm_mst.html";
- $.get(t1).done(function(r1) {
- i3GEO.template.markercluster = r1;
+ var g, v = true, temp, heatmap, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [];
+ // para uso com o mashup
+ if (!objMapa) {
+ objMapa = i3geoOL;
+ }
+ while (datalen--) {
+ temp = heatmap_dados[datalen].count;
+ g = new ol.geom.Point([data[datalen].lng * 1,data[datalen].lat * 1]);
+ g = i3GEO.util.projGeo2OSM(g);
+ nudata.push(new ol.Feature({
+ geometry: g,
+ weight: temp
+ })
+ );
+ }
+ // create our heatmap layer
+ if(camada.status === "0"){
+ v = false;
+ }
+ if(!camada.plugini3geo.parametros.max){
+ camada.plugini3geo.parametros.max = 10;
+ }
+ heatmap = new ol.layer.Heatmap({
+ source: new ol.source.Vector({
+ features : nudata
+ }),
+ blur: camada.plugini3geo.parametros.max * 1,
+ title: camada.tema,
+ opacity: (camada.transparency * 1) / 100,
+ radius: camada.plugini3geo.parametros.radius * 1,
+ name : camada.name,
+ isBaseLayer : false,
+ visible : v
+ });
+ i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
+ objMapa.addLayer(heatmap);
+ heatmap_dados = null;
+ if (i3GEO.janela) {
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ }
+ };
+ if (!i3GEO.configura || !i3GEO.configura.sid) {
+ i3GEO.configura.sid = "";
+ }
+ p +=
+ "?layer="
+ + camada.name
+ + "&coluna="
+ + camada.plugini3geo.parametros.coluna
+ + "&tipoGradiente="
+ + camada.plugini3geo.parametros.tipoGradiente
+ + "&g_sid="
+ + i3GEO.configura.sid
+ + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
+ i3GEO.util.scriptTag(p, criaLayer, "");
+ }
+ }
+ },
+ /**
+ * Section: i3GEO.pluginI3geo.markercluster
+ *
+ * Markercluster
+ *
+ * Gera um layer que agrupa pontos conforme a distância entre eles e insere um contador adiciona ao mapa
+ *
+ * As dependências em javascript sao carregadas via script tag por meio de ferramentas/markercluster
+ *
+ * Esse programa também obtém os dados necessários ao plugin
+ *
+ * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
+ *
+ * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
+ *
+ * Exemplo:
+ *
+ * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}'
+ *
+ * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é
+ * usada para gerar a representação. Se for vazia, considera-se o valor como 1
+ *
+ */
+ markercluster : {
+ linkAjuda : function() {
+ return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=122";
+ },
+ formAdmin : function(config,onde,tema,salva,remove) {
+ if(!i3GEO.template.markercluster){
+ var t1 = i3GEO.configura.locaplic + "/js/templates/markerclusterForm_mst.html";
+ $.get(t1).done(function(r1) {
+ i3GEO.template.markercluster = r1;
- i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove);
- }).fail(function() {
- i3GEO.janela.closeMsg($trad("erroTpl"));
- return;
- });
- return;
- }
- var mustache,parametros, ins = "", configDefault =
- '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';
- if (config === "") {
- config = configDefault;
- }
- config = JSON.parse(config);
- if (config.plugin != "markercluster") {
- config = JSON.parse(configDefault);
- }
- parametros = config.parametros;
- mustache = {
- "gridSize": parametros.gridSize,
- "tipoEstilos": parametros.tipoEstilos,
- "color": i3GEO.util.hex2rgb(parametros.color),
- "strokecolor": i3GEO.util.hex2rgb(parametros.strokecolor),
- "textcolor": i3GEO.util.hex2rgb(parametros.textcolor),
- "linkAjuda": i3GEO.pluginI3geo.linkAjuda("markercluster"),
- "tema": tema,
- "salvaPlugin": salva,
- "removePlugin": remove
- };
- ins = Mustache.render(
- i3GEO.template.markercluster,
- $.extend(
- {},
- mustache,
- i3GEO.idioma.OBJETOIDIOMA
- )
- );
- if($i(onde)){
- $i(onde).innerHTML = ins;
- i3GEO.util.aplicaAquarela(onde);
- return false;
- } else {
- return ins;
- }
- },
- parametrosFormAdmin : function(onde) {
- return '{"plugin":"markercluster","parametros":{"tipoEstilos": "'+$i("MCtipoEstilos").value+'","textcolor":"'+i3GEO.util.rgb2hex($i("MCtextcolor").value)+'","strokecolor":"'+i3GEO.util.rgb2hex($i("MCstrokecolor").value)+'","color":"'+i3GEO.util.rgb2hex($i("MCcolor").value)+'","gridSize":"'+$i("MCgridSize").value+'"}}';
- },
- /**
- * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
- * utilizado para reabrir o formulario de parametros
- */
- iconeArvoreDeCamadas : function(nomecamada) {
- return false;
- },
- clickArvoreDeCamadas : 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) {
- if(document.getElementById("i3GeoClustermapGm")){
- i3GEO.janela.fechaAguarde("aguardePlugin");
- return;
- }
- var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/googlemaps_js.php", carregaJs =
- "nao", criaLayer;
- criaLayer = function() {
- if (typeof (console) !== 'undefined')
- console.info("i3GEO.pluginI3geo.markercluster.googlemaps.inicia()");
+ i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove);
+ }).fail(function() {
+ i3GEO.janela.closeMsg($trad("erroTpl"));
+ return;
+ });
+ return;
+ }
+ var mustache,parametros, ins = "", configDefault =
+ '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';
+ if (config === "") {
+ config = configDefault;
+ }
+ config = JSON.parse(config);
+ if (config.plugin != "markercluster") {
+ config = JSON.parse(configDefault);
+ }
+ parametros = config.parametros;
+ mustache = {
+ "gridSize": parametros.gridSize,
+ "tipoEstilos": parametros.tipoEstilos,
+ "color": i3GEO.util.hex2rgb(parametros.color),
+ "strokecolor": i3GEO.util.hex2rgb(parametros.strokecolor),
+ "textcolor": i3GEO.util.hex2rgb(parametros.textcolor),
+ "linkAjuda": i3GEO.pluginI3geo.linkAjuda("markercluster"),
+ "tema": tema,
+ "salvaPlugin": salva,
+ "removePlugin": remove
+ };
+ ins = Mustache.render(
+ i3GEO.template.markercluster,
+ $.extend(
+ {},
+ mustache,
+ i3GEO.idioma.OBJETOIDIOMA
+ )
+ );
+ if($i(onde)){
+ $i(onde).innerHTML = ins;
+ i3GEO.util.aplicaAquarela(onde);
+ return false;
+ } else {
+ return ins;
+ }
+ },
+ parametrosFormAdmin : function(onde) {
+ return '{"plugin":"markercluster","parametros":{"tipoEstilos": "'+$i("MCtipoEstilos").value+'","textcolor":"'+i3GEO.util.rgb2hex($i("MCtextcolor").value)+'","strokecolor":"'+i3GEO.util.rgb2hex($i("MCstrokecolor").value)+'","color":"'+i3GEO.util.rgb2hex($i("MCcolor").value)+'","gridSize":"'+$i("MCgridSize").value+'"}}';
+ },
+ /**
+ * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
+ * utilizado para reabrir o formulario de parametros
+ */
+ iconeArvoreDeCamadas : function(nomecamada) {
+ return false;
+ },
+ clickArvoreDeCamadas : 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) {
+ if(document.getElementById("i3GeoClustermapGm")){
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ return;
+ }
+ var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/googlemaps_js.php", carregaJs =
+ "nao", criaLayer;
+ criaLayer = function() {
+ if (typeof (console) !== 'undefined')
+ console.info("i3GEO.pluginI3geo.markercluster.googlemaps.inicia()");
- var markercluster, marcas, latLng, marker, n, i;
- n = markercluster_dados.length;
- marcas = [];
- for (i = 0; i < n; i++) {
- latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng);
- marker = new google.maps.Marker({
- 'position' : latLng,
- icon : {
- url : markercluster_config.ponto.url,
- scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height)
- }
- });
- marcas.push(marker);
- }
- markercluster = new MarkerClusterer(i3GeoMap, marcas, {
- "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10),
- "visible" : true,
- "opacity" : camada.transparency,
- "name" : camada.name,
- "styles" : markercluster_config.estilos
- });
- i3GEO.janela.fechaAguarde("aguardePlugin");
- i3GEO.eventos.cliquePerm.ativo = false;
+ var markercluster, marcas, latLng, marker, n, i;
+ n = markercluster_dados.length;
+ marcas = [];
+ for (i = 0; i < n; i++) {
+ latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng);
+ marker = new google.maps.Marker({
+ 'position' : latLng,
+ icon : {
+ url : markercluster_config.ponto.url,
+ scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height)
+ }
+ });
+ marcas.push(marker);
+ }
+ markercluster = new MarkerClusterer(i3GeoMap, marcas, {
+ "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10),
+ "visible" : true,
+ "opacity" : camada.transparency,
+ "name" : camada.name,
+ "styles" : markercluster_config.estilos
+ });
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ i3GEO.eventos.cliquePerm.ativo = false;
- markercluster.ligaCamada = function() {
- i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
- i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
- i3GEO.eventos.cliquePerm.ativo = false;
- };
- markercluster.desLigaCamada = function() {
- i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
- i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false;
- i3GEO.eventos.cliquePerm.ativo = true;
- };
- markercluster.removeCamada = function() {
- i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();
- i3GEO.eventos.cliquePerm.ativo = true;
- };
- markercluster.atualizaCamada = function() {
- i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
- i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
- i3GEO.eventos.cliquePerm.ativo = false;
- };
- i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
- markercluster_dados = null;
- };
- // se o script nao existir carrega o codigo e os dados
- // caso contrario, carrega apenas os dados no script
- if (!$i(nomeScript)) {
- carregaJs = "sim";
- } else {
- nomeScript = "";
- }
- p +=
- "?carregajs=" + carregaJs
- + "&layer="
- + camada.name
- + "&g_sid="
- + i3GEO.configura.sid
- + "&tipoEstilos="
- + camada.plugini3geo.parametros.tipoEstilos
- + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";
- i3GEO.util.scriptTag(p, criaLayer, nomeScript);
- }
- },
- 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.markercluster.openlayers.inicia(camada,i3GEO.editorOL.mapa);
- return [];
- },
- inicia : function(camada, objMapa) {
- if (typeof (console) !== 'undefined')
- console.info("i3GEO.pluginI3geo.markercluster.openlayers.inicia()");
+ markercluster.ligaCamada = function() {
+ i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
+ i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
+ i3GEO.eventos.cliquePerm.ativo = false;
+ };
+ markercluster.desLigaCamada = function() {
+ i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
+ i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false;
+ i3GEO.eventos.cliquePerm.ativo = true;
+ };
+ markercluster.removeCamada = function() {
+ i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();
+ i3GEO.eventos.cliquePerm.ativo = true;
+ };
+ markercluster.atualizaCamada = function() {
+ i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
+ i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
+ i3GEO.eventos.cliquePerm.ativo = false;
+ };
+ i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
+ markercluster_dados = null;
+ };
+ // se o script nao existir carrega o codigo e os dados
+ // caso contrario, carrega apenas os dados no script
+ if (!$i(nomeScript)) {
+ carregaJs = "sim";
+ } else {
+ nomeScript = "";
+ }
+ p +=
+ "?carregajs=" + carregaJs
+ + "&layer="
+ + camada.name
+ + "&g_sid="
+ + i3GEO.configura.sid
+ + "&tipoEstilos="
+ + camada.plugini3geo.parametros.tipoEstilos
+ + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";
+ i3GEO.util.scriptTag(p, criaLayer, nomeScript);
+ }
+ },
+ 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.markercluster.openlayers.inicia(camada,i3GEO.editorOL.mapa);
+ return [];
+ },
+ inicia : function(camada, objMapa) {
+ if (typeof (console) !== 'undefined')
+ console.info("i3GEO.pluginI3geo.markercluster.openlayers.inicia()");
- // para uso com o mashup
- if (!objMapa) {
- objMapa = i3geoOL;
- }
- var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/openlayers_js.php", carregaJs =
- "nao", criaLayer;
- criaLayer = function() {
- if (typeof (console) !== 'undefined')
- console.info("criando layer markercluster");
+ // para uso com o mashup
+ if (!objMapa) {
+ objMapa = i3geoOL;
+ }
+ var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/openlayers_js.php", carregaJs =
+ "nao", criaLayer;
+ criaLayer = function() {
+ if (typeof (console) !== 'undefined')
+ console.info("criando layer markercluster");
- var layerListeners, logMax, logMin, classes, min, max, markercluster = {}, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras =
- [];
+ var layerListeners, logMax, logMin, classes, min, max, markercluster = {}, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras =
+ [];
- marcas = [];
- n = markercluster_dados.length;
- for (i = 0; i < n; i++) {
- //console.info([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])
- marcas.push(
- new ol.Feature({
- geometry: i3GEO.util.projGeo2OSM(new ol.geom.Point([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])),
- weight: markercluster_dados[i].count
- })
- );
- }
- var source = new ol.source.Vector({
- features: marcas
- });
- var clusterSource = new ol.source.Cluster({
- distance: camada.plugini3geo.parametros.gridSize,
- source: source
- });
- var styleCache = {};
- var v = true;
- if(camada.status === "0"){
- v = false;
- }
- markercluster = new ol.layer.Vector({
- opacity: (camada.transparency * 1) / 100,
- title: camada.tema,
- name : camada.name,
- isBaseLayer : false,
- visible : v,
- source: clusterSource,
- style: function(feature) {
- var size = feature.get('features').length;
- var r = 10;
- if(size > 9){
- r = 7 * (size + "").length;
- }
- var style = styleCache[size];
- if (!style) {
- if(size == 1){
- style = new ol.style.Style({
- image: new ol.style.Circle({
- radius: 6,
- stroke: new ol.style.Stroke({
- color: camada.plugini3geo.parametros.strokecolor
- }),
- fill: new ol.style.Fill({
- color: camada.plugini3geo.parametros.color
- })
- })
- });
- styleCache[size] = style;
+ marcas = [];
+ n = markercluster_dados.length;
+ for (i = 0; i < n; i++) {
+ //console.info([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])
+ marcas.push(
+ new ol.Feature({
+ geometry: i3GEO.util.projGeo2OSM(new ol.geom.Point([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])),
+ weight: markercluster_dados[i].count
+ })
+ );
+ }
+ var source = new ol.source.Vector({
+ features: marcas
+ });
+ var clusterSource = new ol.source.Cluster({
+ distance: camada.plugini3geo.parametros.gridSize,
+ source: source
+ });
+ var styleCache = {};
+ var v = true;
+ if(camada.status === "0"){
+ v = false;
+ }
+ markercluster = new ol.layer.Vector({
+ opacity: (camada.transparency * 1) / 100,
+ title: camada.tema,
+ name : camada.name,
+ isBaseLayer : false,
+ visible : v,
+ source: clusterSource,
+ style: function(feature) {
+ var size = feature.get('features').length;
+ var r = 10;
+ if(size > 9){
+ r = 7 * (size + "").length;
+ }
+ var style = styleCache[size];
+ if (!style) {
+ if(size == 1){
+ style = new ol.style.Style({
+ image: new ol.style.Circle({
+ radius: 6,
+ stroke: new ol.style.Stroke({
+ color: camada.plugini3geo.parametros.strokecolor
+ }),
+ fill: new ol.style.Fill({
+ color: camada.plugini3geo.parametros.color
+ })
+ })
+ });
+ styleCache[size] = style;
- } else {
- style = new ol.style.Style({
- image: new ol.style.Circle({
- radius: r,
- stroke: new ol.style.Stroke({
- color: camada.plugini3geo.parametros.strokecolor
- }),
- fill: new ol.style.Fill({
- color: camada.plugini3geo.parametros.color
- })
- }),
- text: new ol.style.Text({
- text: size.toString(),
- fill: new ol.style.Fill({
- color: camada.plugini3geo.parametros.textcolor
- }),
- stroke: new ol.style.Stroke({
- color: 'rgba(0, 0, 0, 0.6)',
- width: 1
- })
- })
- });
- styleCache[size] = style;
- }
- }
- return style;
- }
- });
- i3GEO.janela.fechaAguarde("aguardePlugin");
- i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
- markercluster_dados = null;
- objMapa.addLayer(markercluster);
- };
- // se o script nao existir carrega o codigo e os dados
- // caso contrario, carrega apenas os dados no script
- if (!$i(nomeScript)) {
- carregaJs = "sim";
- } else {
- nomeScript = "";
- }
- p +=
- "?carregajs=" + carregaJs
- + "&layer="
- + camada.name
- + "&g_sid="
- + i3GEO.configura.sid
- + "&tipoEstilos="
- + camada.plugini3geo.parametros.tipoEstilos;
- i3GEO.util.scriptTag(p, criaLayer, nomeScript);
- }
- }
- },
- /**
- * Section: i3GEO.pluginI3geo.layerkml
- *
- * Adiciona ao mapa uma camada vetorial baseada em um arquivo Kml
- *
- * As dependências em javascript sao carregadas via script tag por meio de ferramentas/markercluster
- *
- * Esse programa também obtém os dados necessários ao plugin
- *
- * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
- *
- * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
- *
- * Exemplo:
- *
- * "PLUGINI3GEO" '{"plugin":"layerkml","parametros":{"url":"teste"}}'
- *
- */
- layerkml : {
- linkAjuda : function() {
- return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=126";
- // http://localhost/i3geo/aplicmap/dados/sundials.kml
- // http://dev.openlayers.org/examples/kml/sundials.kml
- },
- formAdmin : function(config,onde,tema,salva,remove) {
- if(!i3GEO.template.layerkml){
- var t1 = i3GEO.configura.locaplic + "/js/templates/layerkmlForm_mst.html";
- $.get(t1).done(function(r1) {
- i3GEO.template.layerkml = r1;
- i3GEO.pluginI3geo.layerkml.formAdmin(config,onde,tema,salva,remove);
- }).fail(function() {
- i3GEO.janela.closeMsg($trad("erroTpl"));
- return;
- });
- return;
- }
- var mustache,parametros, ins = "", configDefault = '{"plugin":"layerkml","parametros":{"url": ""}}';
- if (config === "") {
- config = configDefault;
- }
- config = JSON.parse(config);
- if (config.plugin != "layerkml") {
- config = JSON.parse(configDefault);
- }
- parametros = config.parametros;
- mustache = {
- "url": parametros.url,
- "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
- "tema": tema,
- "salvaPlugin": salva,
- "removePlugin": remove
- };
- ins = Mustache.render(
- i3GEO.template.layerkml,
- $.extend(
- {},
- mustache,
- i3GEO.idioma.OBJETOIDIOMA
- )
- );
- if($i(onde)){
- $i(onde).innerHTML = ins;
- return false;
- } else {
- return ins;
- }
- },
- /**
- * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
- * utilizado para reabrir o formulario de parametros
- */
- iconeArvoreDeCamadas : function(nomecamada) {
- return false;
- },
- clickArvoreDeCamadas : 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, temp;
- //url = i3GEO.configura.locaplic + "/classesphp/proxy.php?url=" + camada.plugini3geo.parametros.url;
- url = i3GEO.configura.locaplic + "/ferramentas/layerkml/getkml.php?sid=" + i3GEO.configura.sid + "&tema=" + camada.nomeoriginal;
- layerkml = new ol.layer.Vector({
- name : camada.name,
- isBaseLayer : false,
- source : new ol.source.Vector({
- url : url,
- format : new ol.format.KML({
- extractStyles : true
- }),
- tipoServico : "kml"
- })
- });
- i3geoOL.addLayer(layerkml);
- if (!objMapa) {
- objMapa = i3geoOL;
- }
- temp = function(pixel) {
- var feature, chaves, c, i = 0, html = "", prop, g;
- feature = i3geoOL.forEachFeatureAtPixel(pixel, function(feature, layer) {
- return feature;
- });
- if (feature) {
- i3GEO.Interface.openlayers.BALAOPROP.removeAoAdicionar = false;
- i3GEO.Interface.openlayers.BALAOPROP.classeCadeado = "i3GEOiconeFechado";
- chaves = feature.getKeys();
- prop = feature.getProperties();
- c = chaves.length;
- for (i = 0; i < c; i++) {
- if (chaves[i] != "geometry" && chaves[i] != "styleUrl") {
- html += chaves[i] + ": " + prop[chaves[i]];
- }
- }
- g = feature.getGeometry().getCoordinates();
- i3GEO.Interface.openlayers.balao(html, "", g[0], g[1], "kml");
- }
- };
- i3geoOL.on('click', function(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- if (evt.dragging) {
- return;
- }
- temp(i3geoOL.getEventPixel(evt.originalEvent));
- });
+ } else {
+ style = new ol.style.Style({
+ image: new ol.style.Circle({
+ radius: r,
+ stroke: new ol.style.Stroke({
+ color: camada.plugini3geo.parametros.strokecolor
+ }),
+ fill: new ol.style.Fill({
+ color: camada.plugini3geo.parametros.color
+ })
+ }),
+ text: new ol.style.Text({
+ text: size.toString(),
+ fill: new ol.style.Fill({
+ color: camada.plugini3geo.parametros.textcolor
+ }),
+ stroke: new ol.style.Stroke({
+ color: 'rgba(0, 0, 0, 0.6)',
+ width: 1
+ })
+ })
+ });
+ styleCache[size] = style;
+ }
+ }
+ return style;
+ }
+ });
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
+ markercluster_dados = null;
+ objMapa.addLayer(markercluster);
+ };
+ // se o script nao existir carrega o codigo e os dados
+ // caso contrario, carrega apenas os dados no script
+ if (!$i(nomeScript)) {
+ carregaJs = "sim";
+ } else {
+ nomeScript = "";
+ }
+ p +=
+ "?carregajs=" + carregaJs
+ + "&layer="
+ + camada.name
+ + "&g_sid="
+ + i3GEO.configura.sid
+ + "&tipoEstilos="
+ + camada.plugini3geo.parametros.tipoEstilos;
+ i3GEO.util.scriptTag(p, criaLayer, nomeScript);
+ }
+ }
+ },
+ /**
+ * Section: i3GEO.pluginI3geo.layerkml
+ *
+ * Adiciona ao mapa uma camada vetorial baseada em um arquivo Kml
+ *
+ * As dependências em javascript sao carregadas via script tag por meio de ferramentas/markercluster
+ *
+ * Esse programa também obtém os dados necessários ao plugin
+ *
+ * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
+ *
+ * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
+ *
+ * Exemplo:
+ *
+ * "PLUGINI3GEO" '{"plugin":"layerkml","parametros":{"url":"teste"}}'
+ *
+ */
+ layerkml : {
+ linkAjuda : function() {
+ return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=126";
+ // http://localhost/i3geo/aplicmap/dados/sundials.kml
+ // http://dev.openlayers.org/examples/kml/sundials.kml
+ },
+ formAdmin : function(config,onde,tema,salva,remove) {
+ if(!i3GEO.template.layerkml){
+ var t1 = i3GEO.configura.locaplic + "/js/templates/layerkmlForm_mst.html";
+ $.get(t1).done(function(r1) {
+ i3GEO.template.layerkml = r1;
+ i3GEO.pluginI3geo.layerkml.formAdmin(config,onde,tema,salva,remove);
+ }).fail(function() {
+ i3GEO.janela.closeMsg($trad("erroTpl"));
+ return;
+ });
+ return;
+ }
+ var mustache,parametros, ins = "", configDefault = '{"plugin":"layerkml","parametros":{"url": ""}}';
+ if (config === "") {
+ config = configDefault;
+ }
+ config = JSON.parse(config);
+ if (config.plugin != "layerkml") {
+ config = JSON.parse(configDefault);
+ }
+ parametros = config.parametros;
+ mustache = {
+ "url": parametros.url,
+ "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
+ "tema": tema,
+ "salvaPlugin": salva,
+ "removePlugin": remove
+ };
+ ins = Mustache.render(
+ i3GEO.template.layerkml,
+ $.extend(
+ {},
+ mustache,
+ i3GEO.idioma.OBJETOIDIOMA
+ )
+ );
+ if($i(onde)){
+ $i(onde).innerHTML = ins;
+ return false;
+ } else {
+ return ins;
+ }
+ },
+ /**
+ * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
+ * utilizado para reabrir o formulario de parametros
+ */
+ iconeArvoreDeCamadas : function(nomecamada) {
+ return false;
+ },
+ clickArvoreDeCamadas : 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, temp;
+ //url = i3GEO.configura.locaplic + "/classesphp/proxy.php?url=" + camada.plugini3geo.parametros.url;
+ url = i3GEO.configura.locaplic + "/ferramentas/layerkml/getkml.php?sid=" + i3GEO.configura.sid + "&tema=" + camada.nomeoriginal;
+ layerkml = new ol.layer.Vector({
+ name : camada.name,
+ isBaseLayer : false,
+ source : new ol.source.Vector({
+ url : url,
+ format : new ol.format.KML({
+ extractStyles : true
+ }),
+ tipoServico : "kml"
+ })
+ });
+ i3geoOL.addLayer(layerkml);
+ if (!objMapa) {
+ objMapa = i3geoOL;
+ }
+ temp = function(pixel) {
+ var feature, chaves, c, i = 0, html = "", prop, g;
+ feature = i3geoOL.forEachFeatureAtPixel(pixel, function(feature, layer) {
+ return feature;
+ });
+ if (feature) {
+ i3GEO.Interface.openlayers.BALAOPROP.removeAoAdicionar = false;
+ i3GEO.Interface.openlayers.BALAOPROP.classeCadeado = "i3GEOiconeFechado";
+ chaves = feature.getKeys();
+ prop = feature.getProperties();
+ c = chaves.length;
+ for (i = 0; i < c; i++) {
+ if (chaves[i] != "geometry" && chaves[i] != "styleUrl") {
+ html += chaves[i] + ": " + prop[chaves[i]];
+ }
+ }
+ g = feature.getGeometry().getCoordinates();
+ i3GEO.Interface.openlayers.balao(html, "", g[0], g[1], "kml");
+ }
+ };
+ i3geoOL.on('click', function(evt) {
+ evt.stopPropagation();
+ evt.preventDefault();
+ if (evt.dragging) {
+ return;
+ }
+ temp(i3geoOL.getEventPixel(evt.originalEvent));
+ });
- i3GEO.janela.fechaAguarde("aguardePlugin");
- i3GEO.eventos.cliquePerm.ativo = false;
+ i3GEO.janela.fechaAguarde("aguardePlugin");
+ i3GEO.eventos.cliquePerm.ativo = false;
- layerkml.ligaCamada = function() {
- i3GEO.eventos.cliquePerm.ativo = false;
- };
- layerkml.desLigaCamada = function() {
- i3GEO.eventos.cliquePerm.ativo = true;
- };
- layerkml.removeCamada = function() {
- i3GEO.eventos.cliquePerm.ativo = true;
- };
- layerkml.atualizaCamada = function() {
- i3GEO.eventos.cliquePerm.ativo = false;
- };
- i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
- }
- }
- },
- /**
- * Section: i3GEO.pluginI3geo.parametrossql
- *
- * Adiciona ao mapa uma camada vetorial baseada em um arquivo mapfile normal porém permite substituir parâmetros no
- * item DATA do LAYER
- *
- * Com o plugin, o i3GEO irá mostrar um formulário com parâmetros quando o usuário adicionar uma camada
- * ao mapa
- *
- * O formulário colhe os valores que serão utilizados para substituir chaves inseridas no SQL
- *
- * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
- *
- * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
- *
- * Ver ferramentas/parametrossql
- *
- * Exemplo:
- *
- * "PLUGINI3GEO"
- * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":"","prog":"","ativo":sim|nao}]}}'
- *
- * A opção "ativo" indica se o formulário será aberto ou não quando a camada for
- * adicionada ao mapa
- */
- parametrossql : {
- linkAjuda : function() {
- return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=127";
- },
- formAdmin : function(config,onde,tema,salva,remove) {
- if (typeof (console) !== 'undefined')
- console.info("i3GEO.pluginI3geo.parametrossql.formAdmin()");
+ layerkml.ligaCamada = function() {
+ i3GEO.eventos.cliquePerm.ativo = false;
+ };
+ layerkml.desLigaCamada = function() {
+ i3GEO.eventos.cliquePerm.ativo = true;
+ };
+ layerkml.removeCamada = function() {
+ i3GEO.eventos.cliquePerm.ativo = true;
+ };
+ layerkml.atualizaCamada = function() {
+ i3GEO.eventos.cliquePerm.ativo = false;
+ };
+ i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
+ }
+ }
+ },
+ /**
+ * Section: i3GEO.pluginI3geo.parametrossql
+ *
+ * Adiciona ao mapa uma camada vetorial baseada em um arquivo mapfile normal porém permite substituir parâmetros no
+ * item DATA do LAYER
+ *
+ * Com o plugin, o i3GEO irá mostrar um formulário com parâmetros quando o usuário adicionar uma camada
+ * ao mapa
+ *
+ * O formulário colhe os valores que serão utilizados para substituir chaves inseridas no SQL
+ *
+ * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
+ *
+ * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin
+ *
+ * Ver ferramentas/parametrossql
+ *
+ * Exemplo:
+ *
+ * "PLUGINI3GEO"
+ * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":"","prog":"","ativo":sim|nao}]}}'
+ *
+ * A opção "ativo" indica se o formulário será aberto ou não quando a camada for
+ * adicionada ao mapa
+ */
+ parametrossql : {
+ linkAjuda : function() {
+ return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=127";
+ },
+ formAdmin : function(config,onde,tema,salva,remove) {
+ if (typeof (console) !== 'undefined')
+ console.info("i3GEO.pluginI3geo.parametrossql.formAdmin()");
- if(!i3GEO.template.parametrossql){
- var t1 = i3GEO.configura.locaplic + "/js/templates/parametrossqlForm_mst.html";
- $.get(t1).done(function(r1) {
- i3GEO.template.parametrossql = r1;
- i3GEO.pluginI3geo.parametrossql.formAdmin(config,onde,tema,salva,remove);
- }).fail(function() {
- i3GEO.janela.closeMsg($trad("erroTpl"));
- return;
- });
- return;
- }
- var linhas=[],temp,mustache, n, i, parametros, ins = "", configDefault =
- '{"plugin":"parametrossql","ativo":"sim","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""}]}';
- if (config === "") {
- config = configDefault;
- }
- config = JSON.parse(config);
- if (config.plugin != "parametrossql") {
- config = JSON.parse(configDefault);
- }
- parametros = config.parametros;
- n = parametros.length;
- if (config.ativo == undefined) {
- config.ativoSim = "selected";
- config.ativoNao = "";
- } else {
- config.ativoSim = "";
- config.ativoNao = "selected";
- }
- for (i = 0; i < n; i++) {
- temp = {};
- temp.titulo = parametros[i].titulo;
- temp.chave = parametros[i].chave;
- temp.tipo = parametros[i].tipo;
- temp.valores = parametros[i].valores;
- temp.prog = parametros[i].prog;
- linhas.push(temp);
- }
- mustache = {
- "ativo": config.ativo,
- "tema": tema,
- "linhas": linhas,
- "sim": config.sim,
- "nao": config.nao,
- "salvaPlugin": salva,
- "removePlugin": remove
- };
- ins = Mustache.render(
- i3GEO.template.parametrossql,
- $.extend(
- {},
- mustache,
- i3GEO.idioma.OBJETOIDIOMA
- )
- );
- if($i(onde)){
- $i(onde).innerHTML = ins;
- return false;
- } else {
- return ins;
- }
- },
- // pega os valores do formulario quando e aberto no sistema de
- // administracao
+ if(!i3GEO.template.parametrossql){
+ var t1 = i3GEO.configura.locaplic + "/js/templates/parametrossqlForm_mst.html";
+ $.get(t1).done(function(r1) {
+ i3GEO.template.parametrossql = r1;
+ i3GEO.pluginI3geo.parametrossql.formAdmin(config,onde,tema,salva,remove);
+ }).fail(function() {
+ i3GEO.janela.closeMsg($trad("erroTpl"));
+ return;
+ });
+ return;
+ }
+ var linhas=[],temp,mustache, n, i, parametros, ins = "", configDefault =
+ '{"plugin":"parametrossql","ativo":"sim","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""}]}';
+ if (config === "") {
+ config = configDefault;
+ }
+ config = JSON.parse(config);
+ if (config.plugin != "parametrossql") {
+ config = JSON.parse(configDefault);
+ }
+ parametros = config.parametros;
+ n = parametros.length;
+ if (config.ativo == undefined) {
+ config.ativoSim = "selected";
+ config.ativoNao = "";
+ } else {
+ config.ativoSim = "";
+ config.ativoNao = "selected";
+ }
+ for (i = 0; i < n; i++) {
+ temp = {};
+ temp.titulo = parametros[i].titulo;
+ temp.chave = parametros[i].chave;
+ temp.tipo = parametros[i].tipo;
+ temp.valores = parametros[i].valores;
+ temp.prog = parametros[i].prog;
+ linhas.push(temp);
+ }
+ mustache = {
+ "ativo": config.ativo,
+ "tema": tema,
+ "linhas": linhas,
+ "sim": config.sim,
+ "nao": config.nao,
+ "salvaPlugin": salva,
+ "removePlugin": remove
+ };
+ ins = Mustache.render(
+ i3GEO.template.parametrossql,
+ $.extend(
+ {},
+ mustache,
+ i3GEO.idioma.OBJETOIDIOMA
+ )
+ );
+ if($i(onde)){
+ $i(onde).innerHTML = ins;
+ return false;
+ } else {
+ return ins;
+ }
+ },
+ // pega os valores do formulario quando e aberto no sistema de
+ // administracao
- parametrosFormAdmin : function(onde) {
- var campo = 0, nlinhas = 4, ncampos = 5, campos = onde.getElementsByTagName("input"), par = [], temp = [], i, j;
- for (j = 0; j < nlinhas; j++) {
- temp = [];
- for (i = 0; i < ncampos; i++) {
- if (campos[campo] && campos[campo].name != "") {
- temp.push('"' + campos[campo].name + '" : "' + campos[campo].value + '"');
- }
- campo++;
- }
- par.push("{" + temp.join(",") + "}");
- }
- return '{"plugin":"parametrossql","ativo":"' + $i("parametrosSqlAtivo").value + '","parametros":[' + par.join(",") + ']}';
- },
- /**
- * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
- * utilizado para reabrir o formulario de parametros
- */
- iconeArvoreDeCamadas : function(nomecamada) {
- var icone =
- " Parâmetros";
- return icone;
- },
- buscaParForm : function(nomecamada) {
- var p, cp, temp, s;
- temp = function(retorno) {
- var camada;
- retorno.data.ativo = "sim";
- // pega o objeto camada
- 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 = "";
- }
- // aqui e necessario buscar os parametros do plugin para poder abrir o formulario
- 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");
- },
- // @TODO permitir que os parametros sejam modificados mesmo depois de terem sido definidos
- 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;
- },
- /**
- * parametros (opcional) - {}
- */
- layerMashup : function(camada, epsg, funcao, parametros) {
- var p = [], tile, url;
- 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;
- }
- // o gerador de OGC e especifico desse plugin, pois aceita parametros diferentes do original i3geo/ogc.php
- url = i3GEO.configura.locaplic + "ferramentas/parametrossql/ogc.php?tema=" + camada.name;
- if (camada.cache === "NAO") {
- p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&DESLIGACACHE=sim&", {
- layers : camada.name,
- SRS : 'EPSG:' + epsg,
- FORMAT : 'image/png'
- }, {
- singleTile : tile,
- isBaseLayer : false,
- visibility : true,
- transitionEffect : camada["transitioneffect"],
- layername : camada.name,
- plugini3geo : "parametrossql",
- "pluginparametros" : camada.plugini3geo.parametros,
- ferramentas : camada.ferramentas
- }));
- } else {
- p.push(new OpenLayers.Layer.TMS(camada.tema, url + "&", {
- 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,
- ferramentas : camada.ferramentas
- }));
- p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&", {
- layers : camada.name,
- SRS : 'EPSG:' + epsg,
- FORMAT : 'image/png'
- }, {
- singleTile : true,
- isBaseLayer : false,
- visibility : false,
- //displayInLayerSwitcher:false,
- transitionEffect : null,
- layername : camada.name,
- plugini3geo : "parametrossql",
- "pluginparametros" : camada.plugini3geo.parametros,
- ferramentas : camada.ferramentas
- }));
- }
- if(funcao){
- funcao.call("", p);
- }
- else{
- return p;
- }
- }
- }
- }
+ parametrosFormAdmin : function(onde) {
+ var campo = 0, nlinhas = 4, ncampos = 5, campos = onde.getElementsByTagName("input"), par = [], temp = [], i, j;
+ for (j = 0; j < nlinhas; j++) {
+ temp = [];
+ for (i = 0; i < ncampos; i++) {
+ if (campos[campo] && campos[campo].name != "") {
+ temp.push('"' + campos[campo].name + '" : "' + campos[campo].value + '"');
+ }
+ campo++;
+ }
+ par.push("{" + temp.join(",") + "}");
+ }
+ return '{"plugin":"parametrossql","ativo":"' + $i("parametrosSqlAtivo").value + '","parametros":[' + par.join(",") + ']}';
+ },
+ /**
+ * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
+ * utilizado para reabrir o formulario de parametros
+ */
+ iconeArvoreDeCamadas : function(nomecamada) {
+ var icone =
+ " Parâmetros";
+ return icone;
+ },
+ buscaParForm : function(nomecamada,novaCamada) {
+ var p, cp, temp, s;
+ temp = function(retorno) {
+ var camada;
+ retorno.data.ativo = "sim";
+ // pega o objeto camada
+ if (i3GEO.arvoreDeCamadas) {
+ camada = i3GEO.arvoreDeCamadas.pegaTema(nomecamada);
+ camada.plugini3geo = retorno.data;
+ } else {
+ camada = {
+ plugini3geo : retorno.data,
+ name : nomecamada
+ };
+ }
+ if(!novaCamada){
+ camada.novaCamada = "hidden";
+ } else {
+ camada.novaCamada = "";
+ }
+ i3GEO.pluginI3geo.parametrossql.inicia(camada);
+ };
+ s = i3GEO.configura.sid;
+ if (s === undefined) {
+ s = "";
+ }
+ // aqui e necessario buscar os parametros do plugin para poder abrir o formulario
+ 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");
+ },
+ // @TODO permitir que os parametros sejam modificados mesmo depois de terem sido definidos
+ 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;
+ },
+ /**
+ * parametros (opcional) - {}
+ */
+ layerMashup : function(camada, epsg, funcao, parametros) {
+ var p = [], tile, url;
+ 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;
+ }
+ // o gerador de OGC e especifico desse plugin, pois aceita parametros diferentes do original i3geo/ogc.php
+ url = i3GEO.configura.locaplic + "ferramentas/parametrossql/ogc.php?tema=" + camada.name;
+ if (camada.cache === "NAO") {
+ p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&DESLIGACACHE=sim&", {
+ layers : camada.name,
+ SRS : 'EPSG:' + epsg,
+ FORMAT : 'image/png'
+ }, {
+ singleTile : tile,
+ isBaseLayer : false,
+ visibility : true,
+ transitionEffect : camada["transitioneffect"],
+ layername : camada.name,
+ plugini3geo : "parametrossql",
+ "pluginparametros" : camada.plugini3geo.parametros,
+ ferramentas : camada.ferramentas
+ }));
+ } else {
+ p.push(new OpenLayers.Layer.TMS(camada.tema, url + "&", {
+ 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,
+ ferramentas : camada.ferramentas
+ }));
+ p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&", {
+ layers : camada.name,
+ SRS : 'EPSG:' + epsg,
+ FORMAT : 'image/png'
+ }, {
+ singleTile : true,
+ isBaseLayer : false,
+ visibility : false,
+ //displayInLayerSwitcher:false,
+ transitionEffect : null,
+ layername : camada.name,
+ plugini3geo : "parametrossql",
+ "pluginparametros" : camada.plugini3geo.parametros,
+ ferramentas : camada.ferramentas
+ }));
+ }
+ if(funcao){
+ funcao.call("", p);
+ }
+ else{
+ return p;
+ }
+ }
+ }
+ }
};
--
libgit2 0.21.2";
- return icone;
- },
- //link na forma de texto para incluir no menu de contexto
- clickArvoreDeCamadas : function(nomecamada) {
- var icone =
- "
";
+ return icone;
+ },
+ //link na forma de texto para incluir no menu de contexto
+ clickArvoreDeCamadas : function(nomecamada) {
+ var icone =
+ "