Commit 291a87195023651a2c9f9dfefeca292697cb261f

Authored by Edmar Moretti
1 parent fe2715b5

i3geo/i3geo#84 Opção para criar nova camada ao alterar parâmetro de camada advin…

…da do plugin parametrossql
ferramentas/parametrossql/dicionario.js
... ... @@ -9,5 +9,10 @@ i3GEOF.parametrossql.dicionario = {
9 9 pt : "Aplicar",
10 10 en : "Apply",
11 11 es : "Aplicar"
  12 + } ],
  13 + 'nova' : [ {
  14 + pt : "Cria uma nova camada",
  15 + en : "",
  16 + es : ""
12 17 } ]
13 18 };
14 19 \ No newline at end of file
... ...
ferramentas/parametrossql/exec.php
... ... @@ -61,6 +61,10 @@ switch (strtoupper($funcao))
61 61 $map = ms_newMapObj($map_file);
62 62 //pega o layer
63 63 $layer = $map->getlayerbyname($tema);
  64 + if($_GET["nova"] == "true"){
  65 + $layer = ms_newLayerObj($map,$layer);
  66 + $layer->name = "novo".nomeRandomico();
  67 + }
64 68 $map1 = @ms_newMapObj($locaplic."/temas/".$layer->getmetadata("nomeoriginal").".map");
65 69 if($map1){
66 70 $layer1 = $map1->getlayerbyname($layer->getmetadata("nomeoriginal"));
... ...
ferramentas/parametrossql/index.js
... ... @@ -58,6 +58,7 @@ i3GEOF.parametrossql = {
58 58 mustacheHash : function(camada) {
59 59 var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.parametrossql.dicionario);
60 60 dicionario["camada"] = camada.name;
  61 + dicionario["novaCamada"] = camada.novaCamada;
61 62 return dicionario;
62 63 },
63 64 /*
... ... @@ -79,6 +80,9 @@ i3GEOF.parametrossql = {
79 80 });
80 81 return;
81 82 }
  83 + if(camada.novaCamada == undefined){
  84 + camada.novaCamada = "hidden";
  85 + }
82 86 $i(iddiv).innerHTML = i3GEOF.parametrossql.html(camada);
83 87 var b,
84 88 f = i3GEOF.parametrossql.formulario(camada);
... ... @@ -106,7 +110,6 @@ i3GEOF.parametrossql = {
106 110 Cria a janela flutuante para controle da ferramenta.
107 111 */
108 112 iniciaJanelaFlutuante: function(camada){
109   - //verifica se deve ser aberto o formulario
110 113 if(camada.plugini3geo.ativo != undefined && camada.plugini3geo.ativo === "nao"){
111 114 i3GEOF.parametrossql.iniciaDefault(camada);
112 115 }
... ... @@ -267,7 +270,7 @@ i3GEOF.parametrossql = {
267 270 }
268 271 else{
269 272 ins += "<h5>"+p.titulo+"</h5>";
270   - ins += "<div id='i3GeoPlugin_"+p.chave+"' >Auarde...</div>";
  273 + ins += "<div id='i3GeoPlugin_"+p.chave+"' >Aguarde...</div>";
271 274 }
272 275 }
273 276 }
... ... @@ -324,8 +327,8 @@ i3GEOF.parametrossql = {
324 327 for (i = 0; i<n; i++) {
325 328 chaves.push(campos[i].name);
326 329 valores.push(campos[i].value);
327   - titulos.push($( campos[i] ).data( "titulo" ));
328   - //titulos.push(campos[i].options[campos[i].selectedIndex].text);
  330 + //titulos.push($( campos[i] ).data( "titulo" ));
  331 + titulos.push(campos[i].options[campos[i].selectedIndex].text);
329 332 }
330 333 //verifica os objetos pois essa funcao pode ter sido chamada do mashup
331 334 if(typeof i3geoOL != 'undefined' || typeof i3GeoMap != 'undefined'){
... ... @@ -337,6 +340,7 @@ i3GEOF.parametrossql = {
337 340 p = i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+i3GEO.configura.sid
338 341 + "&funcao=aplicar"
339 342 + "&tema=" + camada
  343 + + "&nova=" + $i("i3GEOFparametrosSQLnova").checked
340 344 + "&chaves=" + chaves.join(",")
341 345 + "&titulos=" + titulos.join(",")
342 346 + "&valores=" + valores.join(",");
... ...
ferramentas/parametrossql/template_mst.html
1 1 <div class='container-fluid'>
2 2 <div id='i3GEOFparametrosSQLForm'></div>
3   - <button onclick="i3GEOF.parametrossql.aplicar('{{{camada}}}')" class='btn btn-primary btn-sm btn-raised'>{{{aplicar}}}</button>
  3 + <div class='checkbox text-left {{novaCamada}}'>
  4 + <label>
  5 + <input id='i3GEOFparametrosSQLnova' type='checkbox' >
  6 + <span class='checkbox-material noprint'>
  7 + <span class='check'></span></span> {{{nova}}}
  8 + </label>
  9 + </div>
  10 + <button onclick="i3GEOF.parametrossql.aplicar('{{{camada}}}')" class='btn btn-primary btn-sm btn-raised'>{{{aplicar}}}</button>
4 11 </div>
5 12 \ No newline at end of file
... ...
interface/templates/camada.html
... ... @@ -11,7 +11,7 @@
11 11 <div style="margin-left: 30px;" class="collapse text-left" id="collapse{{{name}}}">
12 12 <!-- icones que trazem informacoes sobre o tema -->
13 13 <!-- farol que indica a relacao com a escala do mapa -->
14   - <span title="{{{farolTitle}}}" class="glyphicon glyphicon-certificate {{{farol}}}" style="color: {{{farol"></span>
  14 + <span title="{{{farolTitle}}}" class="glyphicon glyphicon-certificate {{{farol}}}" style="color: {{{farol}}}"></span>
15 15 <!-- indica se os elementos da camada sao dependentes da escala do mapa -->
16 16 <span title="{{{contextoescalaTitle}}}" class="glyphicon glyphicon-alert {{{contextoescala}}}" style="color: orange;"></span>
17 17 <!-- links para formularios que sao especificos de cada plugin do i3Geo e de ferramentas salvas na camada-->
... ...
js/compactados/plugini3geo_compacto.js
1   -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(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<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};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(!objMapa){objMapa=i3geoOL}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){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++){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)};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)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=126"},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}},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+"/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;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}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=127"},formAdmin:function(config,onde,tema,salva,remove){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}},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(",")+']}'},iconeArvoreDeCamadas:function(nomecamada){var icone="<img class='pluginParametrossql' "+"onclick='i3GEO.util.animaClique(this);"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+"title='Variaveis' "+"src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />";return icone},clickArvoreDeCamadas:function(nomecamada){var icone="<p><a class='parametrossql buscaParForm' onclick='"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+">Par&acirc;metros</a>";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}}}}};
2 1 \ No newline at end of file
  2 +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<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};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(!objMapa){objMapa=i3geoOL}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){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++){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)};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)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=126"},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}},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+"/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;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}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=127"},formAdmin:function(config,onde,tema,salva,remove){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}},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(",")+']}'},iconeArvoreDeCamadas:function(nomecamada){var icone="<img class='pluginParametrossql' "+"onclick='i3GEO.util.animaClique(this);"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+"title='Variaveis' "+"src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />";return icone},clickArvoreDeCamadas:function(nomecamada){var icone="<p><a class='parametrossql buscaParForm' onclick='"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\",\"sim\");return false;'"+">Par&acirc;metros</a>";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}}}}};
3 3 \ No newline at end of file
... ...
js/compactajs.php
1 1 <html>
2 2 <title>Compacta js</title>
3 3 <body>
4   - <h1>Compactador de c&oacute;digo Javascript da vers&atilde;o 7.0</h1>
  4 + <h1>Compactador de c&oacute;digo Javascript</h1>
5 5 <p>Esse programa deve ser executado sempre que forem feitas altera&ccedil;&otilde;es nos c&oacute;digos javascript principais do i3Geo (aqueles que ficam na pasta i3geo/js).
6 6 A compacta&ccedil;&atilde;o reduz o tamanho dos arquivos e faz a concatena&ccedil;&atilde;o de v&aacute;rios arquivos em um s&oacute;. O compactador atua tamb&eacute;m sobre os arquivos CSS existentes
7 7 em i3geo/css. Ao utilizar o javascript i3geo/js/i3geo.js o arquivo compactado ser&aacute; carregado, assim como o CSS, correspondentes a &uacute;ltima vers&atilde;o do i3Geo.
... ...
js/i3geo_tudo_compacto7.js
... ... @@ -283,7 +283,7 @@ if(typeof(i3GEOF)===&#39;undefined&#39;){var i3GEOF={}}i3GEO.login={divnomelogin:&quot;i3GEON
283 283 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","","","","<span class='i3GeoTituloJanelaBsNolink' >"+$trad("x79")+"</span></div>","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("<div class='container-fluid'>"+t+"</div>")},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"</p><div class='i3geoForm i3geoFormIconeEdita' ><input type=text value='"+c+"' onclick='javascript:this.select()'/></div>";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({nome:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{nome:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{nome:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{nome:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({nome:temp[0],url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')",opcional:"<a href='javascript:void(0)' onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' class='btn btn-danger btn-fab btn-fab-mini' role='button'><span class='material-icons md-18'>delete_forever</span></a>"})}}}return itens}};
284 284 //
285 285 //compactados/plugini3geo_compacto.js
286   -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<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};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(!objMapa){objMapa=i3geoOL}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){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++){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)};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)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=126"},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}},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+"/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;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}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=127"},formAdmin:function(config,onde,tema,salva,remove){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}},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(",")+']}'},iconeArvoreDeCamadas:function(nomecamada){var icone="<img class='pluginParametrossql' "+"onclick='i3GEO.util.animaClique(this);"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+"title='Variaveis' "+"src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />";return icone},clickArvoreDeCamadas:function(nomecamada){var icone="<p><a class='parametrossql buscaParForm' onclick='"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+">Par&acirc;metros</a>";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}}}}};
  286 +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<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};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(!objMapa){objMapa=i3geoOL}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){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++){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)};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)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=126"},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}},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+"/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;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}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=127"},formAdmin:function(config,onde,tema,salva,remove){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}},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(",")+']}'},iconeArvoreDeCamadas:function(nomecamada){var icone="<img class='pluginParametrossql' "+"onclick='i3GEO.util.animaClique(this);"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+"title='Variaveis' "+"src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />";return icone},clickArvoreDeCamadas:function(nomecamada){var icone="<p><a class='parametrossql buscaParForm' onclick='"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\",\"sim\");return false;'"+">Par&acirc;metros</a>";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}}}}};
287 287 //
288 288 //compactados/catalogoMenus_compacto.js
289 289 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+" <small>("+$trad("naoPublicado")+")<small>"}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+" <small>("+$trad("naoPublicado")+")<small>"}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+" <small>("+$trad("naoPublicado")+")<small>"}if(v.link&&v.link.trim()!=""){v.link="<a href='"+v.link+"' target='_blank' >Link</a>"}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+" <small>("+$trad("naoPublicado")+")<small>"}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+" <small>("+$trad("naoPublicado")+")<small>"}if(v.link&&v.link.trim()!=""){v.link="<a href='"+v.link+"' target='_blank' >Link</a>"}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+" <small>("+$trad("naoPublicado")+")<small>"}if(v.link&&v.link.trim()!=""){v.link="<a href='"+v.link+"' target='_blank' >Link</a>"}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)}};
... ...
js/i3geo_tudo_compacto7.js.php
... ... @@ -283,7 +283,7 @@ if(typeof(i3GEOF)===&#39;undefined&#39;){var i3GEOF={}}i3GEO.login={divnomelogin:&quot;i3GEON
283 283 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","","","","<span class='i3GeoTituloJanelaBsNolink' >"+$trad("x79")+"</span></div>","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("<div class='container-fluid'>"+t+"</div>")},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"</p><div class='i3geoForm i3geoFormIconeEdita' ><input type=text value='"+c+"' onclick='javascript:this.select()'/></div>";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({nome:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{nome:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{nome:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{nome:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({nome:temp[0],url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')",opcional:"<a href='javascript:void(0)' onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' class='btn btn-danger btn-fab btn-fab-mini' role='button'><span class='material-icons md-18'>delete_forever</span></a>"})}}}return itens}};
284 284 //
285 285 //compactados/plugini3geo_compacto.js
286   -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<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};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(!objMapa){objMapa=i3geoOL}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){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++){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)};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)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=126"},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}},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+"/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;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}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=127"},formAdmin:function(config,onde,tema,salva,remove){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}},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(",")+']}'},iconeArvoreDeCamadas:function(nomecamada){var icone="<img class='pluginParametrossql' "+"onclick='i3GEO.util.animaClique(this);"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+"title='Variaveis' "+"src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />";return icone},clickArvoreDeCamadas:function(nomecamada){var icone="<p><a class='parametrossql buscaParForm' onclick='"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+">Par&acirc;metros</a>";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}}}}};
  286 +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<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};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(!objMapa){objMapa=i3geoOL}var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){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++){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)};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)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=126"},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}},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+"/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;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}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=127"},formAdmin:function(config,onde,tema,salva,remove){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}},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(",")+']}'},iconeArvoreDeCamadas:function(nomecamada){var icone="<img class='pluginParametrossql' "+"onclick='i3GEO.util.animaClique(this);"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\");return false;'"+"title='Variaveis' "+"src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />";return icone},clickArvoreDeCamadas:function(nomecamada){var icone="<p><a class='parametrossql buscaParForm' onclick='"+"i3GEO.pluginI3geo.parametrossql.buscaParForm(\""+nomecamada+"\",\"sim\");return false;'"+">Par&acirc;metros</a>";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}}}}};
287 287 //
288 288 //compactados/catalogoMenus_compacto.js
289 289 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+" <small>("+$trad("naoPublicado")+")<small>"}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+" <small>("+$trad("naoPublicado")+")<small>"}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+" <small>("+$trad("naoPublicado")+")<small>"}if(v.link&&v.link.trim()!=""){v.link="<a href='"+v.link+"' target='_blank' >Link</a>"}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+" <small>("+$trad("naoPublicado")+")<small>"}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+" <small>("+$trad("naoPublicado")+")<small>"}if(v.link&&v.link.trim()!=""){v.link="<a href='"+v.link+"' target='_blank' >Link</a>"}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+" <small>("+$trad("naoPublicado")+")<small>"}if(v.link&&v.link.trim()!=""){v.link="<a href='"+v.link+"' target='_blank' >Link</a>"}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)}};
... ...
js/plugini3geo.js
... ... @@ -45,1219 +45,1225 @@ i3GEO.pluginI3geo =
45 45 //XXX criar plugin geojson
46 46 //XXX criar plugin que aceite um JSON generico
47 47 PLUGINS : [
48   - {
49   - "classe" : "heatmap", // namespace da classe
50   - "nome" : "Mapa de calor", // tituo do plugin
51   - "editor" : true
52   - // inclui no editor de mapfiles
53   - }, {
54   - "classe" : "markercluster",
55   - "nome" : "Agrupamento de pontos (cluster)",
56   - "editor" : true
57   - }, {
58   - "classe" : "layerkml",
59   - "nome" : "Camada Kml",
60   - "editor" : true
61   - }, {
62   - "classe" : "parametrossql",
63   - "nome" : "SQL parametrizado",
64   - "editor" : true
65   - }
66   - ],
67   - /**
68   - * Inicia a execucao de um plugin
69   - *
70   - * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas
71   - * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para
72   - * ca Os plugins sao definidos como metadados em cada mapfile de cada tema
73   - *
74   - * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas
75   - */
76   - inicia : function(camada) {
77   - if (typeof (console) !== 'undefined')
78   - console.info("i3GEO.pluginI3geo.inicia()");
  48 + {
  49 + "classe" : "heatmap", // namespace da classe
  50 + "nome" : "Mapa de calor", // tituo do plugin
  51 + "editor" : true
  52 + // inclui no editor de mapfiles
  53 + }, {
  54 + "classe" : "markercluster",
  55 + "nome" : "Agrupamento de pontos (cluster)",
  56 + "editor" : true
  57 + }, {
  58 + "classe" : "layerkml",
  59 + "nome" : "Camada Kml",
  60 + "editor" : true
  61 + }, {
  62 + "classe" : "parametrossql",
  63 + "nome" : "SQL parametrizado",
  64 + "editor" : true
  65 + }
  66 + ],
  67 + /**
  68 + * Inicia a execucao de um plugin
  69 + *
  70 + * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas
  71 + * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para
  72 + * ca Os plugins sao definidos como metadados em cada mapfile de cada tema
  73 + *
  74 + * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas
  75 + */
  76 + inicia : function(camada) {
  77 + if (typeof (console) !== 'undefined')
  78 + console.info("i3GEO.pluginI3geo.inicia()");
79 79  
80   - if(camada.plugini3geo){
81   - if (i3GEO.janela) {
82   - i3GEO.janela.AGUARDEMODAL = true;
83   - i3GEO.janela.abreAguarde("aguardePlugin", "Plugin...");
84   - i3GEO.janela.AGUARDEMODAL = false;
85   - }
86   - // chama a funcao conforme o tipo de plugin e a interface atual
87   - // para cada plugin deve haver um objeto com as funcoes especificas
88   - // para
89   - // cada interface
90   - i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada);
91   - }
92   - },
93   - /**
94   - * Retorna o HTML com o formulario para editar os parametros do plugin
95   - */
96   - formAdmin : function(plugin, configString, onde) {
97   - var html = i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);
98   - if(!onde){
99   - return html;
100   - } else {
101   - return false;
102   - }
103   - },
104   - /**
105   - * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
106   - * utilizado para reabrir o formulario de parametros
107   - */
108   - iconeArvoreDeCamadas : function(camada) {
109   - if (camada.plugini3geo && camada.plugini3geo != "") {
110   - return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name);
111   - } else {
112   - return false;
113   - }
114   - },
115   - clickArvoreDeCamadas : function(camada) {
116   - if (camada.plugini3geo && camada.plugini3geo != "") {
117   - return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(camada.name);
118   - } else {
119   - return false;
120   - }
121   - },
122   - linkAjuda : function(plugin) {
123   - return i3GEO.pluginI3geo[plugin].linkAjuda();
124   - },
125   - ligaCamada : function(nomecamada) {
126   - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) {
127   - i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();
128   - return true;
129   - }
130   - return false;
131   - },
132   - desligaCamada : function(nomecamada) {
133   - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) {
134   - i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();
135   - return true;
136   - }
137   - return false;
138   - },
139   - removeCamada : function(nomecamada) {
140   - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) {
141   - i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();
142   - i3GEO.pluginI3geo.OBJETOS[nomecamada] = false;
143   - delete (i3GEO.pluginI3geo.OBJETOS[nomecamada]);
144   - return true;
145   - }
146   - return false;
147   - },
148   - atualizaCamada : function(nomecamada) {
149   - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) {
150   - i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();
151   - return true;
152   - }
153   - return false;
154   - },
155   - existeObjeto : function(nomecamada) {
156   - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) {
157   - return true;
158   - }
159   - return false;
160   - },
161   - /**
162   - * Aplica as propriedades em um objeto do tipo tema
163   - *
164   - * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma
165   - * correta na arvore de camadas
166   - */
167   - aplicaPropriedades : function(camada) {
168   - if (camada.plugini3geo && camada.plugini3geo != "") {
169   - camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada);
170   - }
171   - return camada;
172   - },
173   - /**
174   - * Cria um layer conforme a API em uso no aplicativo mashup
175   - *
176   - * Parametros
177   - *
178   - * {string} - nome da interface em uso openlayers|googlemaps
179   - *
180   - * {objeto} - objeto camada, conforme definido em i3GEO.arvoreDeCamadas.CAMADAS
181   - *
182   - * {string} - codigo epsg que sera usado no WMS
183   - *
184   - * {parametros} - objeto com parametros adicionais especificos da interface em uso
185   - */
186   - layerMashup : function(Interface, camada, epsg, parametros) {
187   - if (camada.plugini3geo && camada.plugini3geo != "" && i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup) {
188   - var l = i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada, epsg, parametros);
189   - return l;
190   - } else {
191   - return [
192   - false
193   - ];
194   - }
195   - },
196   - /**
197   - * Section: i3GEO.pluginI3geo.heatmap
198   - *
199   - * Mapa de calor
200   - *
201   - * Gera um layer do tipo mapa de calor e adiciona ao mapa
202   - *
203   - * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/heatmap
204   - *
205   - * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin
206   - *
207   - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
208   - *
209   - * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
210   - *
211   - * Exemplo:
212   - *
213   - * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}'
214   - *
215   - * Coluna &eacute; a que cont&eacute;m os dados num&eacute;ricos que definem a quantidade de uma medida em cada ponto e &eacute;
216   - * usada para gerar a representa&ccedil;&atilde;o. Se for vazia, considera-se o valor como 1
217   - *
218   - * As cores das classes existentes no LAYER ser&atilde;o utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for
219   - * igual a "default" ser&aacute; utilizado o gradiente padrão.
220   - *
221   - */
222   - heatmap : {
223   - linkAjuda : function() {
224   - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
225   - },
226   - formAdmin : function(config,onde,tema,salva,remove) {
227   - if(!i3GEO.template.heatmap){
228   - var t1 = i3GEO.configura.locaplic + "/js/templates/heatmapForm_mst.html";
229   - $.get(t1).done(function(r1) {
230   - i3GEO.template.heatmap = r1;
231   - i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove);
232   - }).fail(function() {
233   - i3GEO.janela.closeMsg($trad("erroTpl"));
234   - return;
235   - });
236   - return;
237   - }
238   - var mustache,parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';
239   - if (config === "") {
240   - config = configDefault;
241   - }
242   - config = JSON.parse(config);
243   - if (config.plugin != "heatmap") {
244   - config = JSON.parse(configDefault);
245   - }
246   - parametros = config.parametros;
247   - mustache = {
248   - "coluna": parametros.coluna,
249   - "valorPonto": parametros.valorPonto,
250   - "radius" : parametros.radius,
251   - "tipoGradiente": parametros.tipoGradiente,
252   - "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
253   - "tema": tema,
254   - "salvaPlugin": salva,
255   - "removePlugin": remove
256   - };
257   - ins = Mustache.render(
258   - i3GEO.template.heatmap,
259   - $.extend(
260   - {},
261   - mustache,
262   - i3GEO.idioma.OBJETOIDIOMA
263   - )
264   - );
265   - if($i(onde)){
266   - $i(onde).innerHTML = ins;
267   - return false;
268   - } else {
269   - return ins;
270   - }
271   - },
272   - /**
273   - * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
274   - * utilizado para reabrir o formulario de parametros
275   - */
276   - iconeArvoreDeCamadas : function(nomecamada) {
277   - return false;
278   - },
279   - clickArvoreDeCamadas : function(nomecamada) {
280   - return false;
281   - },
282   - googlemaps : {
283   - aplicaPropriedades : function(camada) {
284   - camada.sel = "nao";
285   - camada.download = "nao";
286   - camada.AGUARDALEGENDA = false;
287   - camada.temporizador = "";
288   - camada.copia = false;
289   - camada.procurar = false;
290   - camada.toponimia = false;
291   - camada.etiquetas = false;
292   - camada.tabela = false;
293   - camada.grafico = false;
294   - camada.destacar = false;
295   - camada.wms = false;
296   - camada.classe = "NAO";
297   - return camada;
298   - },
299   - inicia : function(camada) {
300   - if(document.getElementById("i3GeoHeatmapGm"+camada.name)){
301   - i3GEO.janela.fechaAguarde("aguardePlugin");
302   - return;
303   - }
304   - var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs =
305   - "nao", criaLayer;
306   - criaLayer = function() {
307   - var heatmap, pontos;
  80 + if(camada.plugini3geo){
  81 + if (i3GEO.janela) {
  82 + i3GEO.janela.AGUARDEMODAL = true;
  83 + i3GEO.janela.abreAguarde("aguardePlugin", "Plugin...");
  84 + i3GEO.janela.AGUARDEMODAL = false;
  85 + }
  86 + // chama a funcao conforme o tipo de plugin e a interface atual
  87 + // para cada plugin deve haver um objeto com as funcoes especificas
  88 + // para
  89 + // cada interface
  90 + i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada);
  91 + }
  92 + },
  93 + /**
  94 + * Retorna o HTML com o formulario para editar os parametros do plugin
  95 + */
  96 + formAdmin : function(plugin, configString, onde) {
  97 + var html = i3GEO.pluginI3geo[plugin].formAdmin(configString,onde);
  98 + if(!onde){
  99 + return html;
  100 + } else {
  101 + return false;
  102 + }
  103 + },
  104 + /**
  105 + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
  106 + * utilizado para reabrir o formulario de parametros
  107 + */
  108 + iconeArvoreDeCamadas : function(camada) {
  109 + if (camada.plugini3geo && camada.plugini3geo != "") {
  110 + return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name);
  111 + } else {
  112 + return false;
  113 + }
  114 + },
  115 + clickArvoreDeCamadas : function(camada) {
  116 + if (camada.plugini3geo && camada.plugini3geo != "") {
  117 + return i3GEO.pluginI3geo[camada.plugini3geo.plugin].clickArvoreDeCamadas(camada.name);
  118 + } else {
  119 + return false;
  120 + }
  121 + },
  122 + linkAjuda : function(plugin) {
  123 + return i3GEO.pluginI3geo[plugin].linkAjuda();
  124 + },
  125 + ligaCamada : function(nomecamada) {
  126 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) {
  127 + i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();
  128 + return true;
  129 + }
  130 + return false;
  131 + },
  132 + desligaCamada : function(nomecamada) {
  133 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) {
  134 + i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();
  135 + return true;
  136 + }
  137 + return false;
  138 + },
  139 + removeCamada : function(nomecamada) {
  140 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) {
  141 + i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();
  142 + i3GEO.pluginI3geo.OBJETOS[nomecamada] = false;
  143 + delete (i3GEO.pluginI3geo.OBJETOS[nomecamada]);
  144 + return true;
  145 + }
  146 + return false;
  147 + },
  148 + atualizaCamada : function(nomecamada) {
  149 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) {
  150 + i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();
  151 + return true;
  152 + }
  153 + return false;
  154 + },
  155 + existeObjeto : function(nomecamada) {
  156 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) {
  157 + return true;
  158 + }
  159 + return false;
  160 + },
  161 + /**
  162 + * Aplica as propriedades em um objeto do tipo tema
  163 + *
  164 + * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma
  165 + * correta na arvore de camadas
  166 + */
  167 + aplicaPropriedades : function(camada) {
  168 + if (camada.plugini3geo && camada.plugini3geo != "") {
  169 + camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada);
  170 + }
  171 + return camada;
  172 + },
  173 + /**
  174 + * Cria um layer conforme a API em uso no aplicativo mashup
  175 + *
  176 + * Parametros
  177 + *
  178 + * {string} - nome da interface em uso openlayers|googlemaps
  179 + *
  180 + * {objeto} - objeto camada, conforme definido em i3GEO.arvoreDeCamadas.CAMADAS
  181 + *
  182 + * {string} - codigo epsg que sera usado no WMS
  183 + *
  184 + * {parametros} - objeto com parametros adicionais especificos da interface em uso
  185 + */
  186 + layerMashup : function(Interface, camada, epsg, parametros) {
  187 + if (camada.plugini3geo && camada.plugini3geo != "" && i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup) {
  188 + var l = i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada, epsg, parametros);
  189 + return l;
  190 + } else {
  191 + return [
  192 + false
  193 + ];
  194 + }
  195 + },
  196 + /**
  197 + * Section: i3GEO.pluginI3geo.heatmap
  198 + *
  199 + * Mapa de calor
  200 + *
  201 + * Gera um layer do tipo mapa de calor e adiciona ao mapa
  202 + *
  203 + * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/heatmap
  204 + *
  205 + * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin
  206 + *
  207 + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
  208 + *
  209 + * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
  210 + *
  211 + * Exemplo:
  212 + *
  213 + * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}'
  214 + *
  215 + * Coluna &eacute; a que cont&eacute;m os dados num&eacute;ricos que definem a quantidade de uma medida em cada ponto e &eacute;
  216 + * usada para gerar a representa&ccedil;&atilde;o. Se for vazia, considera-se o valor como 1
  217 + *
  218 + * As cores das classes existentes no LAYER ser&atilde;o utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for
  219 + * igual a "default" ser&aacute; utilizado o gradiente padrão.
  220 + *
  221 + */
  222 + heatmap : {
  223 + linkAjuda : function() {
  224 + return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
  225 + },
  226 + formAdmin : function(config,onde,tema,salva,remove) {
  227 + if(!i3GEO.template.heatmap){
  228 + var t1 = i3GEO.configura.locaplic + "/js/templates/heatmapForm_mst.html";
  229 + $.get(t1).done(function(r1) {
  230 + i3GEO.template.heatmap = r1;
  231 + i3GEO.pluginI3geo.heatmap.formAdmin(config,onde,tema,salva,remove);
  232 + }).fail(function() {
  233 + i3GEO.janela.closeMsg($trad("erroTpl"));
  234 + return;
  235 + });
  236 + return;
  237 + }
  238 + var mustache,parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';
  239 + if (config === "") {
  240 + config = configDefault;
  241 + }
  242 + config = JSON.parse(config);
  243 + if (config.plugin != "heatmap") {
  244 + config = JSON.parse(configDefault);
  245 + }
  246 + parametros = config.parametros;
  247 + mustache = {
  248 + "coluna": parametros.coluna,
  249 + "valorPonto": parametros.valorPonto,
  250 + "radius" : parametros.radius,
  251 + "tipoGradiente": parametros.tipoGradiente,
  252 + "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
  253 + "tema": tema,
  254 + "salvaPlugin": salva,
  255 + "removePlugin": remove
  256 + };
  257 + ins = Mustache.render(
  258 + i3GEO.template.heatmap,
  259 + $.extend(
  260 + {},
  261 + mustache,
  262 + i3GEO.idioma.OBJETOIDIOMA
  263 + )
  264 + );
  265 + if($i(onde)){
  266 + $i(onde).innerHTML = ins;
  267 + return false;
  268 + } else {
  269 + return ins;
  270 + }
  271 + },
  272 + /**
  273 + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
  274 + * utilizado para reabrir o formulario de parametros
  275 + */
  276 + iconeArvoreDeCamadas : function(nomecamada) {
  277 + return false;
  278 + },
  279 + clickArvoreDeCamadas : function(nomecamada) {
  280 + return false;
  281 + },
  282 + googlemaps : {
  283 + aplicaPropriedades : function(camada) {
  284 + camada.sel = "nao";
  285 + camada.download = "nao";
  286 + camada.AGUARDALEGENDA = false;
  287 + camada.temporizador = "";
  288 + camada.copia = false;
  289 + camada.procurar = false;
  290 + camada.toponimia = false;
  291 + camada.etiquetas = false;
  292 + camada.tabela = false;
  293 + camada.grafico = false;
  294 + camada.destacar = false;
  295 + camada.wms = false;
  296 + camada.classe = "NAO";
  297 + return camada;
  298 + },
  299 + inicia : function(camada) {
  300 + if(document.getElementById("i3GeoHeatmapGm"+camada.name)){
  301 + i3GEO.janela.fechaAguarde("aguardePlugin");
  302 + return;
  303 + }
  304 + var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs =
  305 + "nao", criaLayer;
  306 + criaLayer = function() {
  307 + var heatmap, pontos;
308 308  
309   - heatmap = new HeatmapOverlay(i3GeoMap, camada.name, {
310   - "radius" : camada.plugini3geo.parametros.radius,
311   - "visible" : true,
312   - "opacity" : camada.transparency,
313   - "gradient" : heatmap_config.gradient,
314   - "legend" : {
315   - "title" : camada.tema,
316   - "position" : "bl",
317   - "offset" : [
318   - 5, 50
319   - ]
320   - }
321   - });
322   - // i3GeoMap.overlayMapTypes.insertAt(0, heatmap);
323   - pontos = {
324   - max : camada.plugini3geo.parametros.max,
325   - data : heatmap_dados
326   - };
327   - i3GEO.janela.fechaAguarde("aguardePlugin");
328   - heatmap.setDataSet(pontos);
329   - heatmap.ligaCamada = function() {
330   - this.liga();
331   - };
332   - heatmap.desLigaCamada = function() {
333   - this.desliga();
334   - };
335   - heatmap.removeCamada = function() {
336   - this.destroy();
337   - };
338   - heatmap.atualizaCamada = function() {
339   - this.draw();
340   - };
341   - i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
342   - heatmap_dados = null;
343   - };
344   - // se o script nao existir carrega o codigo e os dados
345   - // caso contrario, carrega apenas os dados no script
346   - if (!$i(nomeScript)) {
347   - carregaJs = "sim";
348   - } else {
349   - nomeScript = "";
350   - }
351   - p +=
352   - "?carregajs=" + carregaJs
353   - + "&layer="
354   - + camada.name
355   - + "&coluna="
356   - + camada.plugini3geo.parametros.coluna
357   - + "&tipoGradiente="
358   - + camada.plugini3geo.parametros.tipoGradiente
359   - + "&g_sid="
360   - + i3GEO.configura.sid
361   - + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
362   - i3GEO.util.scriptTag(p, criaLayer, nomeScript);
363   - }
364   - },
365   - //
366   - // O script que adiciona a camada
367   - // define os eventos visibilitychanged, moveend e removed
368   - // A camada e adicionada como um objeto layer, permitindo que as
369   - // funcoes
370   - // do i3Geo operem normalmente, sem muitas modificacoes
371   - //
372   - openlayers : {
373   - aplicaPropriedades : function(camada) {
374   - camada.sel = "nao";
375   - camada.download = "nao";
376   - camada.temporizador = "";
377   - camada.copia = false;
378   - camada.procurar = false;
379   - camada.toponimia = false;
380   - camada.etiquetas = false;
381   - camada.tabela = false;
382   - camada.grafico = false;
383   - camada.destacar = false;
384   - camada.wms = false;
385   - camada.classe = "NAO";
386   - return camada;
387   - },
388   - layerMashup : function(camada, epsg){
389   - i3GEO.pluginI3geo.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);
390   - return [];
391   - },
392   - inicia : function(camada, objMapa) {
393   - var p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php",criaLayer;
394   - criaLayer = function() {
395   - if (typeof (console) !== 'undefined')
396   - console.info("criaLayer heatmap");
  309 + heatmap = new HeatmapOverlay(i3GeoMap, camada.name, {
  310 + "radius" : camada.plugini3geo.parametros.radius,
  311 + "visible" : true,
  312 + "opacity" : camada.transparency,
  313 + "gradient" : heatmap_config.gradient,
  314 + "legend" : {
  315 + "title" : camada.tema,
  316 + "position" : "bl",
  317 + "offset" : [
  318 + 5, 50
  319 + ]
  320 + }
  321 + });
  322 + // i3GeoMap.overlayMapTypes.insertAt(0, heatmap);
  323 + pontos = {
  324 + max : camada.plugini3geo.parametros.max,
  325 + data : heatmap_dados
  326 + };
  327 + i3GEO.janela.fechaAguarde("aguardePlugin");
  328 + heatmap.setDataSet(pontos);
  329 + heatmap.ligaCamada = function() {
  330 + this.liga();
  331 + };
  332 + heatmap.desLigaCamada = function() {
  333 + this.desliga();
  334 + };
  335 + heatmap.removeCamada = function() {
  336 + this.destroy();
  337 + };
  338 + heatmap.atualizaCamada = function() {
  339 + this.draw();
  340 + };
  341 + i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
  342 + heatmap_dados = null;
  343 + };
  344 + // se o script nao existir carrega o codigo e os dados
  345 + // caso contrario, carrega apenas os dados no script
  346 + if (!$i(nomeScript)) {
  347 + carregaJs = "sim";
  348 + } else {
  349 + nomeScript = "";
  350 + }
  351 + p +=
  352 + "?carregajs=" + carregaJs
  353 + + "&layer="
  354 + + camada.name
  355 + + "&coluna="
  356 + + camada.plugini3geo.parametros.coluna
  357 + + "&tipoGradiente="
  358 + + camada.plugini3geo.parametros.tipoGradiente
  359 + + "&g_sid="
  360 + + i3GEO.configura.sid
  361 + + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
  362 + i3GEO.util.scriptTag(p, criaLayer, nomeScript);
  363 + }
  364 + },
  365 + //
  366 + // O script que adiciona a camada
  367 + // define os eventos visibilitychanged, moveend e removed
  368 + // A camada e adicionada como um objeto layer, permitindo que as
  369 + // funcoes
  370 + // do i3Geo operem normalmente, sem muitas modificacoes
  371 + //
  372 + openlayers : {
  373 + aplicaPropriedades : function(camada) {
  374 + camada.sel = "nao";
  375 + camada.download = "nao";
  376 + camada.temporizador = "";
  377 + camada.copia = false;
  378 + camada.procurar = false;
  379 + camada.toponimia = false;
  380 + camada.etiquetas = false;
  381 + camada.tabela = false;
  382 + camada.grafico = false;
  383 + camada.destacar = false;
  384 + camada.wms = false;
  385 + camada.classe = "NAO";
  386 + return camada;
  387 + },
  388 + layerMashup : function(camada, epsg){
  389 + i3GEO.pluginI3geo.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);
  390 + return [];
  391 + },
  392 + inicia : function(camada, objMapa) {
  393 + var p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php",criaLayer;
  394 + criaLayer = function() {
  395 + if (typeof (console) !== 'undefined')
  396 + console.info("criaLayer heatmap");
397 397  
398   - var g, v = true, temp, heatmap, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [];
399   - // para uso com o mashup
400   - if (!objMapa) {
401   - objMapa = i3geoOL;
402   - }
403   - while (datalen--) {
404   - temp = heatmap_dados[datalen].count;
405   - g = new ol.geom.Point([data[datalen].lng * 1,data[datalen].lat * 1]);
406   - g = i3GEO.util.projGeo2OSM(g);
407   - nudata.push(new ol.Feature({
408   - geometry: g,
409   - weight: temp
410   - })
411   - );
412   - }
413   - // create our heatmap layer
414   - if(camada.status === "0"){
415   - v = false;
416   - }
417   - if(!camada.plugini3geo.parametros.max){
418   - camada.plugini3geo.parametros.max = 10;
419   - }
420   - heatmap = new ol.layer.Heatmap({
421   - source: new ol.source.Vector({
422   - features : nudata
423   - }),
424   - blur: camada.plugini3geo.parametros.max * 1,
425   - title: camada.tema,
426   - opacity: (camada.transparency * 1) / 100,
427   - radius: camada.plugini3geo.parametros.radius * 1,
428   - name : camada.name,
429   - isBaseLayer : false,
430   - visible : v
431   - });
432   - i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
433   - objMapa.addLayer(heatmap);
434   - heatmap_dados = null;
435   - if (i3GEO.janela) {
436   - i3GEO.janela.fechaAguarde("aguardePlugin");
437   - }
438   - };
439   - if (!i3GEO.configura || !i3GEO.configura.sid) {
440   - i3GEO.configura.sid = "";
441   - }
442   - p +=
443   - "?layer="
444   - + camada.name
445   - + "&coluna="
446   - + camada.plugini3geo.parametros.coluna
447   - + "&tipoGradiente="
448   - + camada.plugini3geo.parametros.tipoGradiente
449   - + "&g_sid="
450   - + i3GEO.configura.sid
451   - + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
452   - i3GEO.util.scriptTag(p, criaLayer, "");
453   - }
454   - }
455   - },
456   - /**
457   - * Section: i3GEO.pluginI3geo.markercluster
458   - *
459   - * Markercluster
460   - *
461   - * Gera um layer que agrupa pontos conforme a dist&acirc;ncia entre eles e insere um contador adiciona ao mapa
462   - *
463   - * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/markercluster
464   - *
465   - * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin
466   - *
467   - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
468   - *
469   - * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
470   - *
471   - * Exemplo:
472   - *
473   - * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}'
474   - *
475   - * Coluna &eacute; a que cont&eacute;m os dados num&eacute;ricos que definem a quantidade de uma medida em cada ponto e &eacute;
476   - * usada para gerar a representa&ccedil;&atilde;o. Se for vazia, considera-se o valor como 1
477   - *
478   - */
479   - markercluster : {
480   - linkAjuda : function() {
481   - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=122";
482   - },
483   - formAdmin : function(config,onde,tema,salva,remove) {
484   - if(!i3GEO.template.markercluster){
485   - var t1 = i3GEO.configura.locaplic + "/js/templates/markerclusterForm_mst.html";
486   - $.get(t1).done(function(r1) {
487   - i3GEO.template.markercluster = r1;
  398 + var g, v = true, temp, heatmap, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [];
  399 + // para uso com o mashup
  400 + if (!objMapa) {
  401 + objMapa = i3geoOL;
  402 + }
  403 + while (datalen--) {
  404 + temp = heatmap_dados[datalen].count;
  405 + g = new ol.geom.Point([data[datalen].lng * 1,data[datalen].lat * 1]);
  406 + g = i3GEO.util.projGeo2OSM(g);
  407 + nudata.push(new ol.Feature({
  408 + geometry: g,
  409 + weight: temp
  410 + })
  411 + );
  412 + }
  413 + // create our heatmap layer
  414 + if(camada.status === "0"){
  415 + v = false;
  416 + }
  417 + if(!camada.plugini3geo.parametros.max){
  418 + camada.plugini3geo.parametros.max = 10;
  419 + }
  420 + heatmap = new ol.layer.Heatmap({
  421 + source: new ol.source.Vector({
  422 + features : nudata
  423 + }),
  424 + blur: camada.plugini3geo.parametros.max * 1,
  425 + title: camada.tema,
  426 + opacity: (camada.transparency * 1) / 100,
  427 + radius: camada.plugini3geo.parametros.radius * 1,
  428 + name : camada.name,
  429 + isBaseLayer : false,
  430 + visible : v
  431 + });
  432 + i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap;
  433 + objMapa.addLayer(heatmap);
  434 + heatmap_dados = null;
  435 + if (i3GEO.janela) {
  436 + i3GEO.janela.fechaAguarde("aguardePlugin");
  437 + }
  438 + };
  439 + if (!i3GEO.configura || !i3GEO.configura.sid) {
  440 + i3GEO.configura.sid = "";
  441 + }
  442 + p +=
  443 + "?layer="
  444 + + camada.name
  445 + + "&coluna="
  446 + + camada.plugini3geo.parametros.coluna
  447 + + "&tipoGradiente="
  448 + + camada.plugini3geo.parametros.tipoGradiente
  449 + + "&g_sid="
  450 + + i3GEO.configura.sid
  451 + + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
  452 + i3GEO.util.scriptTag(p, criaLayer, "");
  453 + }
  454 + }
  455 + },
  456 + /**
  457 + * Section: i3GEO.pluginI3geo.markercluster
  458 + *
  459 + * Markercluster
  460 + *
  461 + * Gera um layer que agrupa pontos conforme a dist&acirc;ncia entre eles e insere um contador adiciona ao mapa
  462 + *
  463 + * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/markercluster
  464 + *
  465 + * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin
  466 + *
  467 + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
  468 + *
  469 + * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
  470 + *
  471 + * Exemplo:
  472 + *
  473 + * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}'
  474 + *
  475 + * Coluna &eacute; a que cont&eacute;m os dados num&eacute;ricos que definem a quantidade de uma medida em cada ponto e &eacute;
  476 + * usada para gerar a representa&ccedil;&atilde;o. Se for vazia, considera-se o valor como 1
  477 + *
  478 + */
  479 + markercluster : {
  480 + linkAjuda : function() {
  481 + return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=122";
  482 + },
  483 + formAdmin : function(config,onde,tema,salva,remove) {
  484 + if(!i3GEO.template.markercluster){
  485 + var t1 = i3GEO.configura.locaplic + "/js/templates/markerclusterForm_mst.html";
  486 + $.get(t1).done(function(r1) {
  487 + i3GEO.template.markercluster = r1;
488 488  
489   - i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove);
490   - }).fail(function() {
491   - i3GEO.janela.closeMsg($trad("erroTpl"));
492   - return;
493   - });
494   - return;
495   - }
496   - var mustache,parametros, ins = "", configDefault =
497   - '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';
498   - if (config === "") {
499   - config = configDefault;
500   - }
501   - config = JSON.parse(config);
502   - if (config.plugin != "markercluster") {
503   - config = JSON.parse(configDefault);
504   - }
505   - parametros = config.parametros;
506   - mustache = {
507   - "gridSize": parametros.gridSize,
508   - "tipoEstilos": parametros.tipoEstilos,
509   - "color": i3GEO.util.hex2rgb(parametros.color),
510   - "strokecolor": i3GEO.util.hex2rgb(parametros.strokecolor),
511   - "textcolor": i3GEO.util.hex2rgb(parametros.textcolor),
512   - "linkAjuda": i3GEO.pluginI3geo.linkAjuda("markercluster"),
513   - "tema": tema,
514   - "salvaPlugin": salva,
515   - "removePlugin": remove
516   - };
517   - ins = Mustache.render(
518   - i3GEO.template.markercluster,
519   - $.extend(
520   - {},
521   - mustache,
522   - i3GEO.idioma.OBJETOIDIOMA
523   - )
524   - );
525   - if($i(onde)){
526   - $i(onde).innerHTML = ins;
527   - i3GEO.util.aplicaAquarela(onde);
528   - return false;
529   - } else {
530   - return ins;
531   - }
532   - },
533   - parametrosFormAdmin : function(onde) {
534   - 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+'"}}';
535   - },
536   - /**
537   - * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
538   - * utilizado para reabrir o formulario de parametros
539   - */
540   - iconeArvoreDeCamadas : function(nomecamada) {
541   - return false;
542   - },
543   - clickArvoreDeCamadas : function(nomecamada) {
544   - return false;
545   - },
546   - googlemaps : {
547   - aplicaPropriedades : function(camada) {
548   - camada.sel = "nao";
549   - camada.download = "nao";
550   - camada.AGUARDALEGENDA = false;
551   - camada.temporizador = "";
552   - camada.copia = false;
553   - camada.procurar = false;
554   - camada.toponimia = false;
555   - camada.etiquetas = false;
556   - camada.tabela = false;
557   - camada.grafico = false;
558   - camada.destacar = false;
559   - camada.wms = false;
560   - camada.classe = "NAO";
561   - return camada;
562   - },
563   - inicia : function(camada) {
564   - if(document.getElementById("i3GeoClustermapGm")){
565   - i3GEO.janela.fechaAguarde("aguardePlugin");
566   - return;
567   - }
568   - var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/googlemaps_js.php", carregaJs =
569   - "nao", criaLayer;
570   - criaLayer = function() {
571   - if (typeof (console) !== 'undefined')
572   - console.info("i3GEO.pluginI3geo.markercluster.googlemaps.inicia()");
  489 + i3GEO.pluginI3geo.markercluster.formAdmin(config,onde,tema,salva,remove);
  490 + }).fail(function() {
  491 + i3GEO.janela.closeMsg($trad("erroTpl"));
  492 + return;
  493 + });
  494 + return;
  495 + }
  496 + var mustache,parametros, ins = "", configDefault =
  497 + '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","textcolor":"#fff","strokecolor":"#fff","color":"#3399CC","gridSize":"50"}}';
  498 + if (config === "") {
  499 + config = configDefault;
  500 + }
  501 + config = JSON.parse(config);
  502 + if (config.plugin != "markercluster") {
  503 + config = JSON.parse(configDefault);
  504 + }
  505 + parametros = config.parametros;
  506 + mustache = {
  507 + "gridSize": parametros.gridSize,
  508 + "tipoEstilos": parametros.tipoEstilos,
  509 + "color": i3GEO.util.hex2rgb(parametros.color),
  510 + "strokecolor": i3GEO.util.hex2rgb(parametros.strokecolor),
  511 + "textcolor": i3GEO.util.hex2rgb(parametros.textcolor),
  512 + "linkAjuda": i3GEO.pluginI3geo.linkAjuda("markercluster"),
  513 + "tema": tema,
  514 + "salvaPlugin": salva,
  515 + "removePlugin": remove
  516 + };
  517 + ins = Mustache.render(
  518 + i3GEO.template.markercluster,
  519 + $.extend(
  520 + {},
  521 + mustache,
  522 + i3GEO.idioma.OBJETOIDIOMA
  523 + )
  524 + );
  525 + if($i(onde)){
  526 + $i(onde).innerHTML = ins;
  527 + i3GEO.util.aplicaAquarela(onde);
  528 + return false;
  529 + } else {
  530 + return ins;
  531 + }
  532 + },
  533 + parametrosFormAdmin : function(onde) {
  534 + 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+'"}}';
  535 + },
  536 + /**
  537 + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
  538 + * utilizado para reabrir o formulario de parametros
  539 + */
  540 + iconeArvoreDeCamadas : function(nomecamada) {
  541 + return false;
  542 + },
  543 + clickArvoreDeCamadas : function(nomecamada) {
  544 + return false;
  545 + },
  546 + googlemaps : {
  547 + aplicaPropriedades : function(camada) {
  548 + camada.sel = "nao";
  549 + camada.download = "nao";
  550 + camada.AGUARDALEGENDA = false;
  551 + camada.temporizador = "";
  552 + camada.copia = false;
  553 + camada.procurar = false;
  554 + camada.toponimia = false;
  555 + camada.etiquetas = false;
  556 + camada.tabela = false;
  557 + camada.grafico = false;
  558 + camada.destacar = false;
  559 + camada.wms = false;
  560 + camada.classe = "NAO";
  561 + return camada;
  562 + },
  563 + inicia : function(camada) {
  564 + if(document.getElementById("i3GeoClustermapGm")){
  565 + i3GEO.janela.fechaAguarde("aguardePlugin");
  566 + return;
  567 + }
  568 + var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/googlemaps_js.php", carregaJs =
  569 + "nao", criaLayer;
  570 + criaLayer = function() {
  571 + if (typeof (console) !== 'undefined')
  572 + console.info("i3GEO.pluginI3geo.markercluster.googlemaps.inicia()");
573 573  
574   - var markercluster, marcas, latLng, marker, n, i;
575   - n = markercluster_dados.length;
576   - marcas = [];
577   - for (i = 0; i < n; i++) {
578   - latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng);
579   - marker = new google.maps.Marker({
580   - 'position' : latLng,
581   - icon : {
582   - url : markercluster_config.ponto.url,
583   - scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height)
584   - }
585   - });
586   - marcas.push(marker);
587   - }
588   - markercluster = new MarkerClusterer(i3GeoMap, marcas, {
589   - "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10),
590   - "visible" : true,
591   - "opacity" : camada.transparency,
592   - "name" : camada.name,
593   - "styles" : markercluster_config.estilos
594   - });
595   - i3GEO.janela.fechaAguarde("aguardePlugin");
596   - i3GEO.eventos.cliquePerm.ativo = false;
  574 + var markercluster, marcas, latLng, marker, n, i;
  575 + n = markercluster_dados.length;
  576 + marcas = [];
  577 + for (i = 0; i < n; i++) {
  578 + latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng);
  579 + marker = new google.maps.Marker({
  580 + 'position' : latLng,
  581 + icon : {
  582 + url : markercluster_config.ponto.url,
  583 + scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height)
  584 + }
  585 + });
  586 + marcas.push(marker);
  587 + }
  588 + markercluster = new MarkerClusterer(i3GeoMap, marcas, {
  589 + "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10),
  590 + "visible" : true,
  591 + "opacity" : camada.transparency,
  592 + "name" : camada.name,
  593 + "styles" : markercluster_config.estilos
  594 + });
  595 + i3GEO.janela.fechaAguarde("aguardePlugin");
  596 + i3GEO.eventos.cliquePerm.ativo = false;
597 597  
598   - markercluster.ligaCamada = function() {
599   - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
600   - i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
601   - i3GEO.eventos.cliquePerm.ativo = false;
602   - };
603   - markercluster.desLigaCamada = function() {
604   - i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
605   - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false;
606   - i3GEO.eventos.cliquePerm.ativo = true;
607   - };
608   - markercluster.removeCamada = function() {
609   - i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();
610   - i3GEO.eventos.cliquePerm.ativo = true;
611   - };
612   - markercluster.atualizaCamada = function() {
613   - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
614   - i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
615   - i3GEO.eventos.cliquePerm.ativo = false;
616   - };
617   - i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
618   - markercluster_dados = null;
619   - };
620   - // se o script nao existir carrega o codigo e os dados
621   - // caso contrario, carrega apenas os dados no script
622   - if (!$i(nomeScript)) {
623   - carregaJs = "sim";
624   - } else {
625   - nomeScript = "";
626   - }
627   - p +=
628   - "?carregajs=" + carregaJs
629   - + "&layer="
630   - + camada.name
631   - + "&g_sid="
632   - + i3GEO.configura.sid
633   - + "&tipoEstilos="
634   - + camada.plugini3geo.parametros.tipoEstilos
635   - + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";
636   - i3GEO.util.scriptTag(p, criaLayer, nomeScript);
637   - }
638   - },
639   - openlayers : {
640   - aplicaPropriedades : function(camada) {
641   - camada.sel = "nao";
642   - camada.download = "nao";
643   - camada.AGUARDALEGENDA = false;
644   - camada.temporizador = "";
645   - camada.copia = false;
646   - camada.procurar = false;
647   - camada.toponimia = false;
648   - camada.etiquetas = false;
649   - camada.tabela = false;
650   - camada.grafico = false;
651   - camada.destacar = false;
652   - camada.wms = false;
653   - camada.classe = "NAO";
654   - return camada;
655   - },
656   - layerMashup : function(camada, epsg){
657   - i3GEO.pluginI3geo.markercluster.openlayers.inicia(camada,i3GEO.editorOL.mapa);
658   - return [];
659   - },
660   - inicia : function(camada, objMapa) {
661   - if (typeof (console) !== 'undefined')
662   - console.info("i3GEO.pluginI3geo.markercluster.openlayers.inicia()");
  598 + markercluster.ligaCamada = function() {
  599 + i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
  600 + i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
  601 + i3GEO.eventos.cliquePerm.ativo = false;
  602 + };
  603 + markercluster.desLigaCamada = function() {
  604 + i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
  605 + i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false;
  606 + i3GEO.eventos.cliquePerm.ativo = true;
  607 + };
  608 + markercluster.removeCamada = function() {
  609 + i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();
  610 + i3GEO.eventos.cliquePerm.ativo = true;
  611 + };
  612 + markercluster.atualizaCamada = function() {
  613 + i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true;
  614 + i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();
  615 + i3GEO.eventos.cliquePerm.ativo = false;
  616 + };
  617 + i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
  618 + markercluster_dados = null;
  619 + };
  620 + // se o script nao existir carrega o codigo e os dados
  621 + // caso contrario, carrega apenas os dados no script
  622 + if (!$i(nomeScript)) {
  623 + carregaJs = "sim";
  624 + } else {
  625 + nomeScript = "";
  626 + }
  627 + p +=
  628 + "?carregajs=" + carregaJs
  629 + + "&layer="
  630 + + camada.name
  631 + + "&g_sid="
  632 + + i3GEO.configura.sid
  633 + + "&tipoEstilos="
  634 + + camada.plugini3geo.parametros.tipoEstilos
  635 + + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";
  636 + i3GEO.util.scriptTag(p, criaLayer, nomeScript);
  637 + }
  638 + },
  639 + openlayers : {
  640 + aplicaPropriedades : function(camada) {
  641 + camada.sel = "nao";
  642 + camada.download = "nao";
  643 + camada.AGUARDALEGENDA = false;
  644 + camada.temporizador = "";
  645 + camada.copia = false;
  646 + camada.procurar = false;
  647 + camada.toponimia = false;
  648 + camada.etiquetas = false;
  649 + camada.tabela = false;
  650 + camada.grafico = false;
  651 + camada.destacar = false;
  652 + camada.wms = false;
  653 + camada.classe = "NAO";
  654 + return camada;
  655 + },
  656 + layerMashup : function(camada, epsg){
  657 + i3GEO.pluginI3geo.markercluster.openlayers.inicia(camada,i3GEO.editorOL.mapa);
  658 + return [];
  659 + },
  660 + inicia : function(camada, objMapa) {
  661 + if (typeof (console) !== 'undefined')
  662 + console.info("i3GEO.pluginI3geo.markercluster.openlayers.inicia()");
663 663  
664   - // para uso com o mashup
665   - if (!objMapa) {
666   - objMapa = i3geoOL;
667   - }
668   - var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/openlayers_js.php", carregaJs =
669   - "nao", criaLayer;
670   - criaLayer = function() {
671   - if (typeof (console) !== 'undefined')
672   - console.info("criando layer markercluster");
  664 + // para uso com o mashup
  665 + if (!objMapa) {
  666 + objMapa = i3geoOL;
  667 + }
  668 + var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/openlayers_js.php", carregaJs =
  669 + "nao", criaLayer;
  670 + criaLayer = function() {
  671 + if (typeof (console) !== 'undefined')
  672 + console.info("criando layer markercluster");
673 673  
674   - var layerListeners, logMax, logMin, classes, min, max, markercluster = {}, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras =
675   - [];
  674 + var layerListeners, logMax, logMin, classes, min, max, markercluster = {}, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras =
  675 + [];
676 676  
677   - marcas = [];
678   - n = markercluster_dados.length;
679   - for (i = 0; i < n; i++) {
680   - //console.info([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])
681   - marcas.push(
682   - new ol.Feature({
683   - geometry: i3GEO.util.projGeo2OSM(new ol.geom.Point([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])),
684   - weight: markercluster_dados[i].count
685   - })
686   - );
687   - }
688   - var source = new ol.source.Vector({
689   - features: marcas
690   - });
691   - var clusterSource = new ol.source.Cluster({
692   - distance: camada.plugini3geo.parametros.gridSize,
693   - source: source
694   - });
695   - var styleCache = {};
696   - var v = true;
697   - if(camada.status === "0"){
698   - v = false;
699   - }
700   - markercluster = new ol.layer.Vector({
701   - opacity: (camada.transparency * 1) / 100,
702   - title: camada.tema,
703   - name : camada.name,
704   - isBaseLayer : false,
705   - visible : v,
706   - source: clusterSource,
707   - style: function(feature) {
708   - var size = feature.get('features').length;
709   - var r = 10;
710   - if(size > 9){
711   - r = 7 * (size + "").length;
712   - }
713   - var style = styleCache[size];
714   - if (!style) {
715   - if(size == 1){
716   - style = new ol.style.Style({
717   - image: new ol.style.Circle({
718   - radius: 6,
719   - stroke: new ol.style.Stroke({
720   - color: camada.plugini3geo.parametros.strokecolor
721   - }),
722   - fill: new ol.style.Fill({
723   - color: camada.plugini3geo.parametros.color
724   - })
725   - })
726   - });
727   - styleCache[size] = style;
  677 + marcas = [];
  678 + n = markercluster_dados.length;
  679 + for (i = 0; i < n; i++) {
  680 + //console.info([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])
  681 + marcas.push(
  682 + new ol.Feature({
  683 + geometry: i3GEO.util.projGeo2OSM(new ol.geom.Point([markercluster_dados[i].lng * 1,markercluster_dados[i].lat * 1])),
  684 + weight: markercluster_dados[i].count
  685 + })
  686 + );
  687 + }
  688 + var source = new ol.source.Vector({
  689 + features: marcas
  690 + });
  691 + var clusterSource = new ol.source.Cluster({
  692 + distance: camada.plugini3geo.parametros.gridSize,
  693 + source: source
  694 + });
  695 + var styleCache = {};
  696 + var v = true;
  697 + if(camada.status === "0"){
  698 + v = false;
  699 + }
  700 + markercluster = new ol.layer.Vector({
  701 + opacity: (camada.transparency * 1) / 100,
  702 + title: camada.tema,
  703 + name : camada.name,
  704 + isBaseLayer : false,
  705 + visible : v,
  706 + source: clusterSource,
  707 + style: function(feature) {
  708 + var size = feature.get('features').length;
  709 + var r = 10;
  710 + if(size > 9){
  711 + r = 7 * (size + "").length;
  712 + }
  713 + var style = styleCache[size];
  714 + if (!style) {
  715 + if(size == 1){
  716 + style = new ol.style.Style({
  717 + image: new ol.style.Circle({
  718 + radius: 6,
  719 + stroke: new ol.style.Stroke({
  720 + color: camada.plugini3geo.parametros.strokecolor
  721 + }),
  722 + fill: new ol.style.Fill({
  723 + color: camada.plugini3geo.parametros.color
  724 + })
  725 + })
  726 + });
  727 + styleCache[size] = style;
728 728  
729   - } else {
730   - style = new ol.style.Style({
731   - image: new ol.style.Circle({
732   - radius: r,
733   - stroke: new ol.style.Stroke({
734   - color: camada.plugini3geo.parametros.strokecolor
735   - }),
736   - fill: new ol.style.Fill({
737   - color: camada.plugini3geo.parametros.color
738   - })
739   - }),
740   - text: new ol.style.Text({
741   - text: size.toString(),
742   - fill: new ol.style.Fill({
743   - color: camada.plugini3geo.parametros.textcolor
744   - }),
745   - stroke: new ol.style.Stroke({
746   - color: 'rgba(0, 0, 0, 0.6)',
747   - width: 1
748   - })
749   - })
750   - });
751   - styleCache[size] = style;
752   - }
753   - }
754   - return style;
755   - }
756   - });
757   - i3GEO.janela.fechaAguarde("aguardePlugin");
758   - i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
759   - markercluster_dados = null;
760   - objMapa.addLayer(markercluster);
761   - };
762   - // se o script nao existir carrega o codigo e os dados
763   - // caso contrario, carrega apenas os dados no script
764   - if (!$i(nomeScript)) {
765   - carregaJs = "sim";
766   - } else {
767   - nomeScript = "";
768   - }
769   - p +=
770   - "?carregajs=" + carregaJs
771   - + "&layer="
772   - + camada.name
773   - + "&g_sid="
774   - + i3GEO.configura.sid
775   - + "&tipoEstilos="
776   - + camada.plugini3geo.parametros.tipoEstilos;
777   - i3GEO.util.scriptTag(p, criaLayer, nomeScript);
778   - }
779   - }
780   - },
781   - /**
782   - * Section: i3GEO.pluginI3geo.layerkml
783   - *
784   - * Adiciona ao mapa uma camada vetorial baseada em um arquivo Kml
785   - *
786   - * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/markercluster
787   - *
788   - * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin
789   - *
790   - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
791   - *
792   - * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
793   - *
794   - * Exemplo:
795   - *
796   - * "PLUGINI3GEO" '{"plugin":"layerkml","parametros":{"url":"teste"}}'
797   - *
798   - */
799   - layerkml : {
800   - linkAjuda : function() {
801   - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=126";
802   - // http://localhost/i3geo/aplicmap/dados/sundials.kml
803   - // http://dev.openlayers.org/examples/kml/sundials.kml
804   - },
805   - formAdmin : function(config,onde,tema,salva,remove) {
806   - if(!i3GEO.template.layerkml){
807   - var t1 = i3GEO.configura.locaplic + "/js/templates/layerkmlForm_mst.html";
808   - $.get(t1).done(function(r1) {
809   - i3GEO.template.layerkml = r1;
810   - i3GEO.pluginI3geo.layerkml.formAdmin(config,onde,tema,salva,remove);
811   - }).fail(function() {
812   - i3GEO.janela.closeMsg($trad("erroTpl"));
813   - return;
814   - });
815   - return;
816   - }
817   - var mustache,parametros, ins = "", configDefault = '{"plugin":"layerkml","parametros":{"url": ""}}';
818   - if (config === "") {
819   - config = configDefault;
820   - }
821   - config = JSON.parse(config);
822   - if (config.plugin != "layerkml") {
823   - config = JSON.parse(configDefault);
824   - }
825   - parametros = config.parametros;
826   - mustache = {
827   - "url": parametros.url,
828   - "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
829   - "tema": tema,
830   - "salvaPlugin": salva,
831   - "removePlugin": remove
832   - };
833   - ins = Mustache.render(
834   - i3GEO.template.layerkml,
835   - $.extend(
836   - {},
837   - mustache,
838   - i3GEO.idioma.OBJETOIDIOMA
839   - )
840   - );
841   - if($i(onde)){
842   - $i(onde).innerHTML = ins;
843   - return false;
844   - } else {
845   - return ins;
846   - }
847   - },
848   - /**
849   - * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
850   - * utilizado para reabrir o formulario de parametros
851   - */
852   - iconeArvoreDeCamadas : function(nomecamada) {
853   - return false;
854   - },
855   - clickArvoreDeCamadas : function(nomecamada) {
856   - return false;
857   - },
858   - googlemaps : {
859   - aplicaPropriedades : function(camada) {
860   - camada.sel = "nao";
861   - camada.download = "nao";
862   - camada.AGUARDALEGENDA = false;
863   - camada.temporizador = "";
864   - camada.copia = false;
865   - camada.procurar = false;
866   - camada.toponimia = false;
867   - camada.etiquetas = false;
868   - camada.tabela = false;
869   - camada.grafico = false;
870   - camada.destacar = false;
871   - camada.wms = false;
872   - camada.classe = "NAO";
873   - return camada;
874   - },
875   - inicia : function(camada) {
876   - var layerkml = new google.maps.KmlLayer(camada.plugini3geo.parametros.url, {
877   - map : i3GeoMap,
878   - preserveViewport : true,
879   - name : camada.name
880   - });
881   - i3GEO.janela.fechaAguarde("aguardePlugin");
882   - layerkml.ligaCamada = function() {
883   - i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap);
884   - };
885   - layerkml.desLigaCamada = function() {
886   - i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);
887   - };
888   - layerkml.removeCamada = function() {
889   - i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);
890   - i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
891   - };
892   - layerkml.atualizaCamada = function() {
893   - i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);
894   - i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
895   - i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap);
896   - };
897   - i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
898   - }
899   - },
900   - openlayers : {
901   - aplicaPropriedades : function(camada) {
902   - camada.sel = "nao";
903   - camada.download = "nao";
904   - camada.AGUARDALEGENDA = false;
905   - camada.temporizador = "";
906   - camada.copia = false;
907   - camada.procurar = false;
908   - camada.toponimia = false;
909   - camada.etiquetas = false;
910   - camada.tabela = false;
911   - camada.grafico = false;
912   - camada.destacar = false;
913   - camada.wms = false;
914   - camada.classe = "NAO";
915   - return camada;
916   - },
917   - layerMashup : function(camada, epsg){
918   - i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);
919   - return [];
920   - },
921   - inicia : function(camada, objMapa) {
922   - var layerkml, url, temp;
923   - //url = i3GEO.configura.locaplic + "/classesphp/proxy.php?url=" + camada.plugini3geo.parametros.url;
924   - url = i3GEO.configura.locaplic + "/ferramentas/layerkml/getkml.php?sid=" + i3GEO.configura.sid + "&tema=" + camada.nomeoriginal;
925   - layerkml = new ol.layer.Vector({
926   - name : camada.name,
927   - isBaseLayer : false,
928   - source : new ol.source.Vector({
929   - url : url,
930   - format : new ol.format.KML({
931   - extractStyles : true
932   - }),
933   - tipoServico : "kml"
934   - })
935   - });
936   - i3geoOL.addLayer(layerkml);
937   - if (!objMapa) {
938   - objMapa = i3geoOL;
939   - }
940   - temp = function(pixel) {
941   - var feature, chaves, c, i = 0, html = "", prop, g;
942   - feature = i3geoOL.forEachFeatureAtPixel(pixel, function(feature, layer) {
943   - return feature;
944   - });
945   - if (feature) {
946   - i3GEO.Interface.openlayers.BALAOPROP.removeAoAdicionar = false;
947   - i3GEO.Interface.openlayers.BALAOPROP.classeCadeado = "i3GEOiconeFechado";
948   - chaves = feature.getKeys();
949   - prop = feature.getProperties();
950   - c = chaves.length;
951   - for (i = 0; i < c; i++) {
952   - if (chaves[i] != "geometry" && chaves[i] != "styleUrl") {
953   - html += chaves[i] + ": " + prop[chaves[i]];
954   - }
955   - }
956   - g = feature.getGeometry().getCoordinates();
957   - i3GEO.Interface.openlayers.balao(html, "", g[0], g[1], "kml");
958   - }
959   - };
960   - i3geoOL.on('click', function(evt) {
961   - evt.stopPropagation();
962   - evt.preventDefault();
963   - if (evt.dragging) {
964   - return;
965   - }
966   - temp(i3geoOL.getEventPixel(evt.originalEvent));
967   - });
  729 + } else {
  730 + style = new ol.style.Style({
  731 + image: new ol.style.Circle({
  732 + radius: r,
  733 + stroke: new ol.style.Stroke({
  734 + color: camada.plugini3geo.parametros.strokecolor
  735 + }),
  736 + fill: new ol.style.Fill({
  737 + color: camada.plugini3geo.parametros.color
  738 + })
  739 + }),
  740 + text: new ol.style.Text({
  741 + text: size.toString(),
  742 + fill: new ol.style.Fill({
  743 + color: camada.plugini3geo.parametros.textcolor
  744 + }),
  745 + stroke: new ol.style.Stroke({
  746 + color: 'rgba(0, 0, 0, 0.6)',
  747 + width: 1
  748 + })
  749 + })
  750 + });
  751 + styleCache[size] = style;
  752 + }
  753 + }
  754 + return style;
  755 + }
  756 + });
  757 + i3GEO.janela.fechaAguarde("aguardePlugin");
  758 + i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
  759 + markercluster_dados = null;
  760 + objMapa.addLayer(markercluster);
  761 + };
  762 + // se o script nao existir carrega o codigo e os dados
  763 + // caso contrario, carrega apenas os dados no script
  764 + if (!$i(nomeScript)) {
  765 + carregaJs = "sim";
  766 + } else {
  767 + nomeScript = "";
  768 + }
  769 + p +=
  770 + "?carregajs=" + carregaJs
  771 + + "&layer="
  772 + + camada.name
  773 + + "&g_sid="
  774 + + i3GEO.configura.sid
  775 + + "&tipoEstilos="
  776 + + camada.plugini3geo.parametros.tipoEstilos;
  777 + i3GEO.util.scriptTag(p, criaLayer, nomeScript);
  778 + }
  779 + }
  780 + },
  781 + /**
  782 + * Section: i3GEO.pluginI3geo.layerkml
  783 + *
  784 + * Adiciona ao mapa uma camada vetorial baseada em um arquivo Kml
  785 + *
  786 + * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/markercluster
  787 + *
  788 + * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin
  789 + *
  790 + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
  791 + *
  792 + * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
  793 + *
  794 + * Exemplo:
  795 + *
  796 + * "PLUGINI3GEO" '{"plugin":"layerkml","parametros":{"url":"teste"}}'
  797 + *
  798 + */
  799 + layerkml : {
  800 + linkAjuda : function() {
  801 + return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=126";
  802 + // http://localhost/i3geo/aplicmap/dados/sundials.kml
  803 + // http://dev.openlayers.org/examples/kml/sundials.kml
  804 + },
  805 + formAdmin : function(config,onde,tema,salva,remove) {
  806 + if(!i3GEO.template.layerkml){
  807 + var t1 = i3GEO.configura.locaplic + "/js/templates/layerkmlForm_mst.html";
  808 + $.get(t1).done(function(r1) {
  809 + i3GEO.template.layerkml = r1;
  810 + i3GEO.pluginI3geo.layerkml.formAdmin(config,onde,tema,salva,remove);
  811 + }).fail(function() {
  812 + i3GEO.janela.closeMsg($trad("erroTpl"));
  813 + return;
  814 + });
  815 + return;
  816 + }
  817 + var mustache,parametros, ins = "", configDefault = '{"plugin":"layerkml","parametros":{"url": ""}}';
  818 + if (config === "") {
  819 + config = configDefault;
  820 + }
  821 + config = JSON.parse(config);
  822 + if (config.plugin != "layerkml") {
  823 + config = JSON.parse(configDefault);
  824 + }
  825 + parametros = config.parametros;
  826 + mustache = {
  827 + "url": parametros.url,
  828 + "linkAjuda": i3GEO.pluginI3geo.linkAjuda("layerkml"),
  829 + "tema": tema,
  830 + "salvaPlugin": salva,
  831 + "removePlugin": remove
  832 + };
  833 + ins = Mustache.render(
  834 + i3GEO.template.layerkml,
  835 + $.extend(
  836 + {},
  837 + mustache,
  838 + i3GEO.idioma.OBJETOIDIOMA
  839 + )
  840 + );
  841 + if($i(onde)){
  842 + $i(onde).innerHTML = ins;
  843 + return false;
  844 + } else {
  845 + return ins;
  846 + }
  847 + },
  848 + /**
  849 + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
  850 + * utilizado para reabrir o formulario de parametros
  851 + */
  852 + iconeArvoreDeCamadas : function(nomecamada) {
  853 + return false;
  854 + },
  855 + clickArvoreDeCamadas : function(nomecamada) {
  856 + return false;
  857 + },
  858 + googlemaps : {
  859 + aplicaPropriedades : function(camada) {
  860 + camada.sel = "nao";
  861 + camada.download = "nao";
  862 + camada.AGUARDALEGENDA = false;
  863 + camada.temporizador = "";
  864 + camada.copia = false;
  865 + camada.procurar = false;
  866 + camada.toponimia = false;
  867 + camada.etiquetas = false;
  868 + camada.tabela = false;
  869 + camada.grafico = false;
  870 + camada.destacar = false;
  871 + camada.wms = false;
  872 + camada.classe = "NAO";
  873 + return camada;
  874 + },
  875 + inicia : function(camada) {
  876 + var layerkml = new google.maps.KmlLayer(camada.plugini3geo.parametros.url, {
  877 + map : i3GeoMap,
  878 + preserveViewport : true,
  879 + name : camada.name
  880 + });
  881 + i3GEO.janela.fechaAguarde("aguardePlugin");
  882 + layerkml.ligaCamada = function() {
  883 + i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap);
  884 + };
  885 + layerkml.desLigaCamada = function() {
  886 + i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);
  887 + };
  888 + layerkml.removeCamada = function() {
  889 + i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);
  890 + i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
  891 + };
  892 + layerkml.atualizaCamada = function() {
  893 + i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);
  894 + i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);
  895 + i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap);
  896 + };
  897 + i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
  898 + }
  899 + },
  900 + openlayers : {
  901 + aplicaPropriedades : function(camada) {
  902 + camada.sel = "nao";
  903 + camada.download = "nao";
  904 + camada.AGUARDALEGENDA = false;
  905 + camada.temporizador = "";
  906 + camada.copia = false;
  907 + camada.procurar = false;
  908 + camada.toponimia = false;
  909 + camada.etiquetas = false;
  910 + camada.tabela = false;
  911 + camada.grafico = false;
  912 + camada.destacar = false;
  913 + camada.wms = false;
  914 + camada.classe = "NAO";
  915 + return camada;
  916 + },
  917 + layerMashup : function(camada, epsg){
  918 + i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);
  919 + return [];
  920 + },
  921 + inicia : function(camada, objMapa) {
  922 + var layerkml, url, temp;
  923 + //url = i3GEO.configura.locaplic + "/classesphp/proxy.php?url=" + camada.plugini3geo.parametros.url;
  924 + url = i3GEO.configura.locaplic + "/ferramentas/layerkml/getkml.php?sid=" + i3GEO.configura.sid + "&tema=" + camada.nomeoriginal;
  925 + layerkml = new ol.layer.Vector({
  926 + name : camada.name,
  927 + isBaseLayer : false,
  928 + source : new ol.source.Vector({
  929 + url : url,
  930 + format : new ol.format.KML({
  931 + extractStyles : true
  932 + }),
  933 + tipoServico : "kml"
  934 + })
  935 + });
  936 + i3geoOL.addLayer(layerkml);
  937 + if (!objMapa) {
  938 + objMapa = i3geoOL;
  939 + }
  940 + temp = function(pixel) {
  941 + var feature, chaves, c, i = 0, html = "", prop, g;
  942 + feature = i3geoOL.forEachFeatureAtPixel(pixel, function(feature, layer) {
  943 + return feature;
  944 + });
  945 + if (feature) {
  946 + i3GEO.Interface.openlayers.BALAOPROP.removeAoAdicionar = false;
  947 + i3GEO.Interface.openlayers.BALAOPROP.classeCadeado = "i3GEOiconeFechado";
  948 + chaves = feature.getKeys();
  949 + prop = feature.getProperties();
  950 + c = chaves.length;
  951 + for (i = 0; i < c; i++) {
  952 + if (chaves[i] != "geometry" && chaves[i] != "styleUrl") {
  953 + html += chaves[i] + ": " + prop[chaves[i]];
  954 + }
  955 + }
  956 + g = feature.getGeometry().getCoordinates();
  957 + i3GEO.Interface.openlayers.balao(html, "", g[0], g[1], "kml");
  958 + }
  959 + };
  960 + i3geoOL.on('click', function(evt) {
  961 + evt.stopPropagation();
  962 + evt.preventDefault();
  963 + if (evt.dragging) {
  964 + return;
  965 + }
  966 + temp(i3geoOL.getEventPixel(evt.originalEvent));
  967 + });
968 968  
969   - i3GEO.janela.fechaAguarde("aguardePlugin");
970   - i3GEO.eventos.cliquePerm.ativo = false;
  969 + i3GEO.janela.fechaAguarde("aguardePlugin");
  970 + i3GEO.eventos.cliquePerm.ativo = false;
971 971  
972   - layerkml.ligaCamada = function() {
973   - i3GEO.eventos.cliquePerm.ativo = false;
974   - };
975   - layerkml.desLigaCamada = function() {
976   - i3GEO.eventos.cliquePerm.ativo = true;
977   - };
978   - layerkml.removeCamada = function() {
979   - i3GEO.eventos.cliquePerm.ativo = true;
980   - };
981   - layerkml.atualizaCamada = function() {
982   - i3GEO.eventos.cliquePerm.ativo = false;
983   - };
984   - i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
985   - }
986   - }
987   - },
988   - /**
989   - * Section: i3GEO.pluginI3geo.parametrossql
990   - *
991   - * Adiciona ao mapa uma camada vetorial baseada em um arquivo mapfile normal por&eacute;m permite substituir par&acirc;metros no
992   - * item DATA do LAYER
993   - *
994   - * Com o plugin, o i3GEO ir&aacute; mostrar um formul&aacute;rio com par&acirc;metros quando o usu&aacute;rio adicionar uma camada
995   - * ao mapa
996   - *
997   - * O formul&aacute;rio colhe os valores que ser&atilde;o utilizados para substituir chaves inseridas no SQL
998   - *
999   - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
1000   - *
1001   - * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
1002   - *
1003   - * Ver ferramentas/parametrossql
1004   - *
1005   - * Exemplo:
1006   - *
1007   - * "PLUGINI3GEO"
1008   - * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":"","prog":"","ativo":sim|nao}]}}'
1009   - *
1010   - * A op&ccedil;&atilde;o &quot;ativo&quot; indica se o formul&aacute;rio ser&aacute; aberto ou n&atilde;o quando a camada for
1011   - * adicionada ao mapa
1012   - */
1013   - parametrossql : {
1014   - linkAjuda : function() {
1015   - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=127";
1016   - },
1017   - formAdmin : function(config,onde,tema,salva,remove) {
1018   - if (typeof (console) !== 'undefined')
1019   - console.info("i3GEO.pluginI3geo.parametrossql.formAdmin()");
  972 + layerkml.ligaCamada = function() {
  973 + i3GEO.eventos.cliquePerm.ativo = false;
  974 + };
  975 + layerkml.desLigaCamada = function() {
  976 + i3GEO.eventos.cliquePerm.ativo = true;
  977 + };
  978 + layerkml.removeCamada = function() {
  979 + i3GEO.eventos.cliquePerm.ativo = true;
  980 + };
  981 + layerkml.atualizaCamada = function() {
  982 + i3GEO.eventos.cliquePerm.ativo = false;
  983 + };
  984 + i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
  985 + }
  986 + }
  987 + },
  988 + /**
  989 + * Section: i3GEO.pluginI3geo.parametrossql
  990 + *
  991 + * Adiciona ao mapa uma camada vetorial baseada em um arquivo mapfile normal por&eacute;m permite substituir par&acirc;metros no
  992 + * item DATA do LAYER
  993 + *
  994 + * Com o plugin, o i3GEO ir&aacute; mostrar um formul&aacute;rio com par&acirc;metros quando o usu&aacute;rio adicionar uma camada
  995 + * ao mapa
  996 + *
  997 + * O formul&aacute;rio colhe os valores que ser&atilde;o utilizados para substituir chaves inseridas no SQL
  998 + *
  999 + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO
  1000 + *
  1001 + * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin
  1002 + *
  1003 + * Ver ferramentas/parametrossql
  1004 + *
  1005 + * Exemplo:
  1006 + *
  1007 + * "PLUGINI3GEO"
  1008 + * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":"","prog":"","ativo":sim|nao}]}}'
  1009 + *
  1010 + * A op&ccedil;&atilde;o &quot;ativo&quot; indica se o formul&aacute;rio ser&aacute; aberto ou n&atilde;o quando a camada for
  1011 + * adicionada ao mapa
  1012 + */
  1013 + parametrossql : {
  1014 + linkAjuda : function() {
  1015 + return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=127";
  1016 + },
  1017 + formAdmin : function(config,onde,tema,salva,remove) {
  1018 + if (typeof (console) !== 'undefined')
  1019 + console.info("i3GEO.pluginI3geo.parametrossql.formAdmin()");
1020 1020  
1021   - if(!i3GEO.template.parametrossql){
1022   - var t1 = i3GEO.configura.locaplic + "/js/templates/parametrossqlForm_mst.html";
1023   - $.get(t1).done(function(r1) {
1024   - i3GEO.template.parametrossql = r1;
1025   - i3GEO.pluginI3geo.parametrossql.formAdmin(config,onde,tema,salva,remove);
1026   - }).fail(function() {
1027   - i3GEO.janela.closeMsg($trad("erroTpl"));
1028   - return;
1029   - });
1030   - return;
1031   - }
1032   - var linhas=[],temp,mustache, n, i, parametros, ins = "", configDefault =
1033   - '{"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":""}]}';
1034   - if (config === "") {
1035   - config = configDefault;
1036   - }
1037   - config = JSON.parse(config);
1038   - if (config.plugin != "parametrossql") {
1039   - config = JSON.parse(configDefault);
1040   - }
1041   - parametros = config.parametros;
1042   - n = parametros.length;
1043   - if (config.ativo == undefined) {
1044   - config.ativoSim = "selected";
1045   - config.ativoNao = "";
1046   - } else {
1047   - config.ativoSim = "";
1048   - config.ativoNao = "selected";
1049   - }
1050   - for (i = 0; i < n; i++) {
1051   - temp = {};
1052   - temp.titulo = parametros[i].titulo;
1053   - temp.chave = parametros[i].chave;
1054   - temp.tipo = parametros[i].tipo;
1055   - temp.valores = parametros[i].valores;
1056   - temp.prog = parametros[i].prog;
1057   - linhas.push(temp);
1058   - }
1059   - mustache = {
1060   - "ativo": config.ativo,
1061   - "tema": tema,
1062   - "linhas": linhas,
1063   - "sim": config.sim,
1064   - "nao": config.nao,
1065   - "salvaPlugin": salva,
1066   - "removePlugin": remove
1067   - };
1068   - ins = Mustache.render(
1069   - i3GEO.template.parametrossql,
1070   - $.extend(
1071   - {},
1072   - mustache,
1073   - i3GEO.idioma.OBJETOIDIOMA
1074   - )
1075   - );
1076   - if($i(onde)){
1077   - $i(onde).innerHTML = ins;
1078   - return false;
1079   - } else {
1080   - return ins;
1081   - }
1082   - },
1083   - // pega os valores do formulario quando e aberto no sistema de
1084   - // administracao
  1021 + if(!i3GEO.template.parametrossql){
  1022 + var t1 = i3GEO.configura.locaplic + "/js/templates/parametrossqlForm_mst.html";
  1023 + $.get(t1).done(function(r1) {
  1024 + i3GEO.template.parametrossql = r1;
  1025 + i3GEO.pluginI3geo.parametrossql.formAdmin(config,onde,tema,salva,remove);
  1026 + }).fail(function() {
  1027 + i3GEO.janela.closeMsg($trad("erroTpl"));
  1028 + return;
  1029 + });
  1030 + return;
  1031 + }
  1032 + var linhas=[],temp,mustache, n, i, parametros, ins = "", configDefault =
  1033 + '{"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":""}]}';
  1034 + if (config === "") {
  1035 + config = configDefault;
  1036 + }
  1037 + config = JSON.parse(config);
  1038 + if (config.plugin != "parametrossql") {
  1039 + config = JSON.parse(configDefault);
  1040 + }
  1041 + parametros = config.parametros;
  1042 + n = parametros.length;
  1043 + if (config.ativo == undefined) {
  1044 + config.ativoSim = "selected";
  1045 + config.ativoNao = "";
  1046 + } else {
  1047 + config.ativoSim = "";
  1048 + config.ativoNao = "selected";
  1049 + }
  1050 + for (i = 0; i < n; i++) {
  1051 + temp = {};
  1052 + temp.titulo = parametros[i].titulo;
  1053 + temp.chave = parametros[i].chave;
  1054 + temp.tipo = parametros[i].tipo;
  1055 + temp.valores = parametros[i].valores;
  1056 + temp.prog = parametros[i].prog;
  1057 + linhas.push(temp);
  1058 + }
  1059 + mustache = {
  1060 + "ativo": config.ativo,
  1061 + "tema": tema,
  1062 + "linhas": linhas,
  1063 + "sim": config.sim,
  1064 + "nao": config.nao,
  1065 + "salvaPlugin": salva,
  1066 + "removePlugin": remove
  1067 + };
  1068 + ins = Mustache.render(
  1069 + i3GEO.template.parametrossql,
  1070 + $.extend(
  1071 + {},
  1072 + mustache,
  1073 + i3GEO.idioma.OBJETOIDIOMA
  1074 + )
  1075 + );
  1076 + if($i(onde)){
  1077 + $i(onde).innerHTML = ins;
  1078 + return false;
  1079 + } else {
  1080 + return ins;
  1081 + }
  1082 + },
  1083 + // pega os valores do formulario quando e aberto no sistema de
  1084 + // administracao
1085 1085  
1086   - parametrosFormAdmin : function(onde) {
1087   - var campo = 0, nlinhas = 4, ncampos = 5, campos = onde.getElementsByTagName("input"), par = [], temp = [], i, j;
1088   - for (j = 0; j < nlinhas; j++) {
1089   - temp = [];
1090   - for (i = 0; i < ncampos; i++) {
1091   - if (campos[campo] && campos[campo].name != "") {
1092   - temp.push('"' + campos[campo].name + '" : "' + campos[campo].value + '"');
1093   - }
1094   - campo++;
1095   - }
1096   - par.push("{" + temp.join(",") + "}");
1097   - }
1098   - return '{"plugin":"parametrossql","ativo":"' + $i("parametrosSqlAtivo").value + '","parametros":[' + par.join(",") + ']}';
1099   - },
1100   - /**
1101   - * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
1102   - * utilizado para reabrir o formulario de parametros
1103   - */
1104   - iconeArvoreDeCamadas : function(nomecamada) {
1105   - var icone =
1106   - "<img class='pluginParametrossql' " + "onclick='i3GEO.util.animaClique(this);"
1107   - + "i3GEO.pluginI3geo.parametrossql.buscaParForm(\""
1108   - + nomecamada
1109   - + "\");return false;'"
1110   - + "title='Variaveis' "
1111   - + "src='"
1112   - + i3GEO.configura.locaplic
1113   - + "/imagens/branco.gif' />";
1114   - return icone;
1115   - },
1116   - //link na forma de texto para incluir no menu de contexto
1117   - clickArvoreDeCamadas : function(nomecamada) {
1118   - var icone =
1119   - "<p><a class='parametrossql buscaParForm' onclick='"
1120   - + "i3GEO.pluginI3geo.parametrossql.buscaParForm(\""
1121   - + nomecamada
1122   - + "\");return false;'"
1123   - + ">Par&acirc;metros</a>";
1124   - return icone;
1125   - },
1126   - buscaParForm : function(nomecamada) {
1127   - var p, cp, temp, s;
1128   - temp = function(retorno) {
1129   - var camada;
1130   - retorno.data.ativo = "sim";
1131   - // pega o objeto camada
1132   - if (i3GEO.arvoreDeCamadas) {
1133   - camada = i3GEO.arvoreDeCamadas.pegaTema(nomecamada);
1134   - camada.plugini3geo = retorno.data;
1135   - } else {
1136   - camada = {
1137   - plugini3geo : retorno.data,
1138   - name : nomecamada
1139   - };
1140   - }
1141   - i3GEO.pluginI3geo.parametrossql.inicia(camada);
1142   - };
1143   - s = i3GEO.configura.sid;
1144   - if (s === undefined) {
1145   - s = "";
1146   - }
1147   - // aqui e necessario buscar os parametros do plugin para poder abrir o formulario
1148   - p =
1149   - i3GEO.configura.locaplic + "/ferramentas/parametrossql/exec.php?g_sid="
1150   - + s
1151   - + "&funcao=PARAMETROSPLUGIN&tema="
1152   - + nomecamada;
1153   - cp = new cpaint();
1154   - cp.set_response_type("JSON");
1155   - cp.call(p, "foo", temp);
1156   - },
1157   - inicia : function(camada) {
1158   - i3GEO.janela.fechaAguarde("aguardePlugin");
1159   - var iniciaform = function() {
1160   - i3GEOF.parametrossql.iniciaJanelaFlutuante(camada);
1161   - };
1162   - i3GEO.util.scriptTag(
1163   - (i3GEO.configura.locaplic + "/ferramentas/parametrossql/dependencias.php"),
1164   - iniciaform,
1165   - "parametrossql_script");
1166   - },
1167   - // @TODO permitir que os parametros sejam modificados mesmo depois de terem sido definidos
1168   - googlemaps : {
1169   - inicia : function(camada) {
1170   - i3GEO.pluginI3geo.parametrossql.inicia(camada);
1171   - },
1172   - aplicaPropriedades : function(camada) {
1173   - return camada;
1174   - }
1175   - },
1176   - openlayers : {
1177   - inicia : function(camada) {
1178   - i3GEO.pluginI3geo.parametrossql.inicia(camada);
1179   - },
1180   - aplicaPropriedades : function(camada) {
1181   - return camada;
1182   - },
1183   - /**
1184   - * parametros (opcional) - {}
1185   - */
1186   - layerMashup : function(camada, epsg, funcao, parametros) {
1187   - var p = [], tile, url;
1188   - if (!camada.cache) {
1189   - camada["cache"] = "NAO";
1190   - }
1191   - if (!camada.transitioneffect) {
1192   - camada["transitioneffect"] = "SIM";
1193   - }
1194   - if(camada["transitioneffect"] === "SIM"){
1195   - camada["transitioneffect"] = "resize";
1196   - }
1197   - else{
1198   - camada["transitioneffect"] = null;
1199   - }
1200   - if(camada["tiles"] === "NAO"){
1201   - tile = false;
1202   - }
1203   - else{
1204   - tile = true;
1205   - }
1206   - // o gerador de OGC e especifico desse plugin, pois aceita parametros diferentes do original i3geo/ogc.php
1207   - url = i3GEO.configura.locaplic + "ferramentas/parametrossql/ogc.php?tema=" + camada.name;
1208   - if (camada.cache === "NAO") {
1209   - p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&DESLIGACACHE=sim&", {
1210   - layers : camada.name,
1211   - SRS : 'EPSG:' + epsg,
1212   - FORMAT : 'image/png'
1213   - }, {
1214   - singleTile : tile,
1215   - isBaseLayer : false,
1216   - visibility : true,
1217   - transitionEffect : camada["transitioneffect"],
1218   - layername : camada.name,
1219   - plugini3geo : "parametrossql",
1220   - "pluginparametros" : camada.plugini3geo.parametros,
1221   - ferramentas : camada.ferramentas
1222   - }));
1223   - } else {
1224   - p.push(new OpenLayers.Layer.TMS(camada.tema, url + "&", {
1225   - singleTile : false,
1226   - isBaseLayer : false,
1227   - layers : camada.name,
1228   - visibility : true,
1229   - serviceVersion : "&tms=",
1230   - tileOrigin : new OpenLayers.LonLat(-180, -90),
1231   - layername : camada.name,
1232   - type : "png",
1233   - transitionEffect : camada["transitioneffect"],
1234   - plugini3geo : "parametrossql",
1235   - "pluginparametros" : camada.plugini3geo.parametros,
1236   - ferramentas : camada.ferramentas
1237   - }));
1238   - p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&", {
1239   - layers : camada.name,
1240   - SRS : 'EPSG:' + epsg,
1241   - FORMAT : 'image/png'
1242   - }, {
1243   - singleTile : true,
1244   - isBaseLayer : false,
1245   - visibility : false,
1246   - //displayInLayerSwitcher:false,
1247   - transitionEffect : null,
1248   - layername : camada.name,
1249   - plugini3geo : "parametrossql",
1250   - "pluginparametros" : camada.plugini3geo.parametros,
1251   - ferramentas : camada.ferramentas
1252   - }));
1253   - }
1254   - if(funcao){
1255   - funcao.call("", p);
1256   - }
1257   - else{
1258   - return p;
1259   - }
1260   - }
1261   - }
1262   - }
  1086 + parametrosFormAdmin : function(onde) {
  1087 + var campo = 0, nlinhas = 4, ncampos = 5, campos = onde.getElementsByTagName("input"), par = [], temp = [], i, j;
  1088 + for (j = 0; j < nlinhas; j++) {
  1089 + temp = [];
  1090 + for (i = 0; i < ncampos; i++) {
  1091 + if (campos[campo] && campos[campo].name != "") {
  1092 + temp.push('"' + campos[campo].name + '" : "' + campos[campo].value + '"');
  1093 + }
  1094 + campo++;
  1095 + }
  1096 + par.push("{" + temp.join(",") + "}");
  1097 + }
  1098 + return '{"plugin":"parametrossql","ativo":"' + $i("parametrosSqlAtivo").value + '","parametros":[' + par.join(",") + ']}';
  1099 + },
  1100 + /**
  1101 + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas Esse icone e
  1102 + * utilizado para reabrir o formulario de parametros
  1103 + */
  1104 + iconeArvoreDeCamadas : function(nomecamada) {
  1105 + var icone =
  1106 + "<img class='pluginParametrossql' " + "onclick='i3GEO.util.animaClique(this);"
  1107 + + "i3GEO.pluginI3geo.parametrossql.buscaParForm(\""
  1108 + + nomecamada
  1109 + + "\");return false;'"
  1110 + + "title='Variaveis' "
  1111 + + "src='"
  1112 + + i3GEO.configura.locaplic
  1113 + + "/imagens/branco.gif' />";
  1114 + return icone;
  1115 + },
  1116 + //link na forma de texto para incluir no menu de contexto
  1117 + clickArvoreDeCamadas : function(nomecamada) {
  1118 + var icone =
  1119 + "<p><a class='parametrossql buscaParForm' onclick='"
  1120 + + "i3GEO.pluginI3geo.parametrossql.buscaParForm(\""
  1121 + + nomecamada
  1122 + + "\",\"sim\");return false;'"
  1123 + + ">Par&acirc;metros</a>";
  1124 + return icone;
  1125 + },
  1126 + buscaParForm : function(nomecamada,novaCamada) {
  1127 + var p, cp, temp, s;
  1128 + temp = function(retorno) {
  1129 + var camada;
  1130 + retorno.data.ativo = "sim";
  1131 + // pega o objeto camada
  1132 + if (i3GEO.arvoreDeCamadas) {
  1133 + camada = i3GEO.arvoreDeCamadas.pegaTema(nomecamada);
  1134 + camada.plugini3geo = retorno.data;
  1135 + } else {
  1136 + camada = {
  1137 + plugini3geo : retorno.data,
  1138 + name : nomecamada
  1139 + };
  1140 + }
  1141 + if(!novaCamada){
  1142 + camada.novaCamada = "hidden";
  1143 + } else {
  1144 + camada.novaCamada = "";
  1145 + }
  1146 + i3GEO.pluginI3geo.parametrossql.inicia(camada);
  1147 + };
  1148 + s = i3GEO.configura.sid;
  1149 + if (s === undefined) {
  1150 + s = "";
  1151 + }
  1152 + // aqui e necessario buscar os parametros do plugin para poder abrir o formulario
  1153 + p =
  1154 + i3GEO.configura.locaplic + "/ferramentas/parametrossql/exec.php?g_sid="
  1155 + + s
  1156 + + "&funcao=PARAMETROSPLUGIN&tema="
  1157 + + nomecamada;
  1158 + cp = new cpaint();
  1159 + cp.set_response_type("JSON");
  1160 + cp.call(p, "foo", temp);
  1161 + },
  1162 + inicia : function(camada) {
  1163 +
  1164 + i3GEO.janela.fechaAguarde("aguardePlugin");
  1165 + var iniciaform = function() {
  1166 + i3GEOF.parametrossql.iniciaJanelaFlutuante(camada);
  1167 + };
  1168 + i3GEO.util.scriptTag(
  1169 + (i3GEO.configura.locaplic + "/ferramentas/parametrossql/dependencias.php"),
  1170 + iniciaform,
  1171 + "parametrossql_script");
  1172 + },
  1173 + // @TODO permitir que os parametros sejam modificados mesmo depois de terem sido definidos
  1174 + googlemaps : {
  1175 + inicia : function(camada) {
  1176 + i3GEO.pluginI3geo.parametrossql.inicia(camada);
  1177 + },
  1178 + aplicaPropriedades : function(camada) {
  1179 + return camada;
  1180 + }
  1181 + },
  1182 + openlayers : {
  1183 + inicia : function(camada) {
  1184 + i3GEO.pluginI3geo.parametrossql.inicia(camada);
  1185 + },
  1186 + aplicaPropriedades : function(camada) {
  1187 + return camada;
  1188 + },
  1189 + /**
  1190 + * parametros (opcional) - {}
  1191 + */
  1192 + layerMashup : function(camada, epsg, funcao, parametros) {
  1193 + var p = [], tile, url;
  1194 + if (!camada.cache) {
  1195 + camada["cache"] = "NAO";
  1196 + }
  1197 + if (!camada.transitioneffect) {
  1198 + camada["transitioneffect"] = "SIM";
  1199 + }
  1200 + if(camada["transitioneffect"] === "SIM"){
  1201 + camada["transitioneffect"] = "resize";
  1202 + }
  1203 + else{
  1204 + camada["transitioneffect"] = null;
  1205 + }
  1206 + if(camada["tiles"] === "NAO"){
  1207 + tile = false;
  1208 + }
  1209 + else{
  1210 + tile = true;
  1211 + }
  1212 + // o gerador de OGC e especifico desse plugin, pois aceita parametros diferentes do original i3geo/ogc.php
  1213 + url = i3GEO.configura.locaplic + "ferramentas/parametrossql/ogc.php?tema=" + camada.name;
  1214 + if (camada.cache === "NAO") {
  1215 + p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&DESLIGACACHE=sim&", {
  1216 + layers : camada.name,
  1217 + SRS : 'EPSG:' + epsg,
  1218 + FORMAT : 'image/png'
  1219 + }, {
  1220 + singleTile : tile,
  1221 + isBaseLayer : false,
  1222 + visibility : true,
  1223 + transitionEffect : camada["transitioneffect"],
  1224 + layername : camada.name,
  1225 + plugini3geo : "parametrossql",
  1226 + "pluginparametros" : camada.plugini3geo.parametros,
  1227 + ferramentas : camada.ferramentas
  1228 + }));
  1229 + } else {
  1230 + p.push(new OpenLayers.Layer.TMS(camada.tema, url + "&", {
  1231 + singleTile : false,
  1232 + isBaseLayer : false,
  1233 + layers : camada.name,
  1234 + visibility : true,
  1235 + serviceVersion : "&tms=",
  1236 + tileOrigin : new OpenLayers.LonLat(-180, -90),
  1237 + layername : camada.name,
  1238 + type : "png",
  1239 + transitionEffect : camada["transitioneffect"],
  1240 + plugini3geo : "parametrossql",
  1241 + "pluginparametros" : camada.plugini3geo.parametros,
  1242 + ferramentas : camada.ferramentas
  1243 + }));
  1244 + p.push(new OpenLayers.Layer.WMS(camada.tema, url + "&", {
  1245 + layers : camada.name,
  1246 + SRS : 'EPSG:' + epsg,
  1247 + FORMAT : 'image/png'
  1248 + }, {
  1249 + singleTile : true,
  1250 + isBaseLayer : false,
  1251 + visibility : false,
  1252 + //displayInLayerSwitcher:false,
  1253 + transitionEffect : null,
  1254 + layername : camada.name,
  1255 + plugini3geo : "parametrossql",
  1256 + "pluginparametros" : camada.plugini3geo.parametros,
  1257 + ferramentas : camada.ferramentas
  1258 + }));
  1259 + }
  1260 + if(funcao){
  1261 + funcao.call("", p);
  1262 + }
  1263 + else{
  1264 + return p;
  1265 + }
  1266 + }
  1267 + }
  1268 + }
1263 1269 };
... ...