From 43720e0ad2f8c759a7cd72a1cfacf56ddc9fc0a6 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Wed, 22 Apr 2015 20:57:45 +0000 Subject: [PATCH] Observação do metadata TILES nos mashups --- classesjs/classe_plugini3geo.js | 12 ++++++++---- classesjs/compactados/classe_plugini3geo_compacto.js | 2 +- classesjs/i3geo_tudo_compacto6.js | 2 +- classesjs/i3geo_tudo_compacto6.js.php | 2 +- mashups/openlayers.php | 73 ++++++++++++++++++++++++++++++++----------------------------------------- mashups/osm.php | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------- temas/_llocaliphp.map | 3 ++- 7 files changed, 151 insertions(+), 159 deletions(-) diff --git a/classesjs/classe_plugini3geo.js b/classesjs/classe_plugini3geo.js index 1dd6ac9..d5e7167 100644 --- a/classesjs/classe_plugini3geo.js +++ b/classesjs/classe_plugini3geo.js @@ -1140,7 +1140,7 @@ i3GEO.pluginI3geo = return camada; }, layerMashup : function(camada, epsg) { - var p = []; + var p = [], tile; if (!camada.cache) { camada["cache"] = "NAO"; } @@ -1153,9 +1153,13 @@ i3GEO.pluginI3geo = else{ camada["transitioneffect"] = null; } - + if(camada["tiles"] === "NAO"){ + tile = false; + } + else{ + tile = true; + } // o gerador de OGC e especifico desse plugin, pois aceita parametros diferentes do original i3geo/ogc.php - // TODO usar tile conforme parametro no mapfile if (camada.cache === "NAO") { p.push(new OpenLayers.Layer.WMS(camada.tema, i3GEO.configura.locaplic + "ferramentas/parametrossql/ogc.php?tema=" + camada.name @@ -1164,7 +1168,7 @@ i3GEO.pluginI3geo = SRS : 'EPSG:' + epsg, FORMAT : 'image/png' }, { - singleTile : false, + singleTile : tile, isBaseLayer : false, visibility : true, transitionEffect : camada["transitioneffect"], diff --git a/classesjs/compactados/classe_plugini3geo_compacto.js b/classesjs/compactados/classe_plugini3geo_compacto.js index bda0cbe..daffea1 100755 --- a/classesjs/compactados/classe_plugini3geo_compacto.js +++ b/classesjs/compactados/classe_plugini3geo_compacto.js @@ -1 +1 @@ -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Coluna que contém os dados:"+"

"+"

Ou valor numérico para cada ponto:"+"

"+"

Raio de cada ponto em pixels:"+"

"+"

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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.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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}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)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Distância máxima entre ponto em pixels:"+"

"+"

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile

"+"

Veja o exemplo utilizado no tema _lmapadecluster.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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;i1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;iUrl do arquivo Kml:

"+"

Veja o exemplo utilizado no tema _lmapakml.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)

";ins+=""}else{ins+=""}ins+="";for(i=0;i"+""+" "+" "+" "+""}ins+="
TítuloChaveTipo (input ou select)ValoresPHP que retorna os valores (opcional)
"+"

As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+"
O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+"
Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+"
Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+"
Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+"
Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+"
Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[];if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:false,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}}; \ No newline at end of file +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Coluna que contém os dados:"+"

"+"

Ou valor numérico para cada ponto:"+"

"+"

Raio de cada ponto em pixels:"+"

"+"

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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.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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}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)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Distância máxima entre ponto em pixels:"+"

"+"

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile

"+"

Veja o exemplo utilizado no tema _lmapadecluster.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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;i1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;iUrl do arquivo Kml:

"+"

Veja o exemplo utilizado no tema _lmapakml.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)

";ins+=""}else{ins+=""}ins+="";for(i=0;i"+""+" "+" "+" "+""}ins+="
TítuloChaveTipo (input ou select)ValoresPHP que retorna os valores (opcional)
"+"

As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+"
O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+"
Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+"
Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+"
Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+"
Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+"
Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[],tile;if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada["tiles"]==="NAO"){tile=false}else{tile=true}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}}; \ No newline at end of file diff --git a/classesjs/i3geo_tudo_compacto6.js b/classesjs/i3geo_tudo_compacto6.js index cc7816c..d3ca98c 100755 --- a/classesjs/i3geo_tudo_compacto6.js +++ b/classesjs/i3geo_tudo_compacto6.js @@ -285,7 +285,7 @@ if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEON if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="

"+$trad("x78")+"

";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i "+temp[0]+"",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}}; // //compactados/classe_plugini3geo_compacto.js -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Coluna que contém os dados:"+"

"+"

Ou valor numérico para cada ponto:"+"

"+"

Raio de cada ponto em pixels:"+"

"+"

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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.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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}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)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Distância máxima entre ponto em pixels:"+"

"+"

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile

"+"

Veja o exemplo utilizado no tema _lmapadecluster.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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;i1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;iUrl do arquivo Kml:

"+"

Veja o exemplo utilizado no tema _lmapakml.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)

";ins+=""}else{ins+=""}ins+="";for(i=0;i"+""+" "+" "+" "+""}ins+="
TítuloChaveTipo (input ou select)ValoresPHP que retorna os valores (opcional)
"+"

As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+"
O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+"
Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+"
Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+"
Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+"
Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+"
Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[];if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:false,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}}; +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Coluna que contém os dados:"+"

"+"

Ou valor numérico para cada ponto:"+"

"+"

Raio de cada ponto em pixels:"+"

"+"

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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.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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}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)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Distância máxima entre ponto em pixels:"+"

"+"

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile

"+"

Veja o exemplo utilizado no tema _lmapadecluster.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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;i1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;iUrl do arquivo Kml:

"+"

Veja o exemplo utilizado no tema _lmapakml.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)

";ins+=""}else{ins+=""}ins+="";for(i=0;i"+""+" "+" "+" "+""}ins+="
TítuloChaveTipo (input ou select)ValoresPHP que retorna os valores (opcional)
"+"

As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+"
O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+"
Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+"
Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+"
Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+"
Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+"
Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[],tile;if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada["tiles"]==="NAO"){tile=false}else{tile=true}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}}; // //compactados/euDock.2.0.js if(!euEnv)var euEnv=new Array();euEnv.Kost=new Array();euEnv.Kost.num=0;euEnv.Kost.next=function(){return this.num++};euEnv.euDockArray=new Array();euEnv.refreshTime=35;euEnv.exeThread=true;euEnv.exeThreadWhiteLoop=0;euEnv.x=0;euEnv.y=0;euEnv.mouseMoved=false;var euUP=1;var euDOWN=2;var euLEFT=3;var euRIGHT=4;var euICON=5;var euMOUSE=6;var euSCREEN=7;var euOBJECT=8;var euABSOLUTE=9;var euRELATIVE=10;var euHORIZONTAL=11;var euVERTICAL=12;var euCENTER=13;var euTRANSPARENT=14;var euFIXED=15;var euOPAQUE=16;function euIdObjTop(euObj){var ret=euObj.offsetTop;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetTop;return ret};function euIdObjLeft(euObj){var ret=euObj.offsetLeft;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetLeft;return ret};function isEuInside(euObj,x,y){var euTop=euIdObjTop(euObj);var euLeft=euIdObjLeft(euObj);return((euTop<=y&&(euTop+euObj.offsetHeight)>=y)&&(euLeft<=x&&(euLeft+euObj.offsetWidth)>=x))};function euDimensioni(){if(typeof(window.innerWidth)=='number'){euEnv.euFrameWidth=window.innerWidth-16;euEnv.euFrameHeight=window.innerHeight}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){euEnv.euFrameWidth=document.documentElement.clientWidth-16;euEnv.euFrameHeight=document.documentElement.clientHeight}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){euEnv.euFrameWidth=document.body.clientWidth;euEnv.euFrameHeight=document.body.clientHeight}};function offsEut(){euEnv.euScrOfY=0;euEnv.euScrOfX=0;if(typeof(window.pageYoffsEut)=='number'){euEnv.euScrOfY=window.pageYoffsEut;euEnv.euScrOfX=window.pageXoffsEut}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){euEnv.euScrOfY=document.body.scrollTop;euEnv.euScrOfX=document.body.scrollLeft}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){euEnv.euScrOfY=document.documentElement.scrollTop;euEnv.euScrOfX=document.documentElement.scrollLeft}};function euKostFunc30(x){return 0.3};function euKostFunc100(x){return 1};function euLinear(x){return x};function euLinear30(x){var r=1*(x+(1-x)*0.3);return r};function euLinear20(x){return x+(1-x)*0.2};function euExp30(x){return euLinear30(x*x*x)};function euLinear50(x){return x+(1-x)*0.5};function euHarmonic(x){return euLinear30((1-Math.cos(Math.PI*x))/2)};function euSemiHarmonic(x){return euLinear30(Math.cos(Math.PI*(1-x)/2))};function euDock(onde){this.id='euDock_'+euEnv.Kost.next();var novoel=document.createElement("div");novoel.style.position="absolute";novoel.innerHTML="

"+"
";if(onde){novoel.style.zIndex=100000;onde.appendChild(novoel)}else{document.body.appendChild(novoel)}this.div=document.getElementById(this.id);this.divBar=document.getElementById(this.id+"_bar");this.iconsArray=new Array();this.isInside=false;euEnv.euDockArray[this.id]=this;this.bar=null;this.mouseX=0;this.mouseY=0;this.centerPosX=0;this.centerPosY=0;this.offset=0;this.iconOffset=0;this.venusHillSize=3;this.venusHillTrans=euLinear;this.position=euUP;this.align=euSCREEN;this.objectAlign=euDOWN;this.idObjectHook;this.animaition=euICON;this.animFading=euABSOLUTE;this.setIconsOffset=function(offset){this.iconOffset=offset};this.setAnimation=function(anim,size){this.animaition=anim;this.venusHillSize=size};this.setPointAlign=function(x,y,pos){this.offset=0;this.align=euABSOLUTE;this.position=pos;this.setCenterPos(x,y)};this.setObjectAlign=function(idObj,align,offset,pos){this.offset=offset;this.align=euOBJECT;this.objectAlign=align;this.position=pos;this.idObjectHook=document.getElementById(idObj);this.setObjectCoord()};this.setObjectCoord=function(){var tempx,tempy;if(this.objectAlign==euDOWN){if(onde){tempx=(this.idObjectHook.offsetWidth/2);tempy=0}else{tempx=euIdObjLeft(this.idObjectHook)+(this.idObjectHook.offsetWidth/2);tempy=euIdObjTop(this.idObjectHook)+this.idObjectHook.offsetHeight+this.offset;if(navm&&!document.doctype||(navm&&document.doctype&&document.doctype.systemId=="")){tempx=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA))[0]+(euIdObjLeft(this.idObjectHook)/2)}if(navm&&i3GEO.util.versaoNavegador()==="IE8"&&tempxbakHeight)?this.iconsArray[i].getHeight():bakHeight;bakHeight=Math.round(bakHeight)}else{bakHeight+=this.iconsArray[i].getHeight();bakWidth=(this.iconsArray[i].getWidth()>bakWidth)?this.iconsArray[i].getWidth():bakWidth;bakWidth=Math.round(bakWidth)}}if(this.bar){if(this.position==euUP||this.position==euDOWN||this.position==euHORIZONTAL)this.bar.setProperties(bakWidth,this.position);else this.bar.setProperties(bakHeight,this.position);this.bar.refresh()}var posx=0;var posy=0;var updPosX=0;var updPosY=0;for(var i in this.iconsArray)if(this.iconsArray[i].id){if(this.position==euDOWN){updPosX=posx;updPosY=posy;posx+=this.iconsArray[i].getWidth()}else if(this.position==euUP){updPosX=posx;updPosY=bakHeight-this.iconsArray[i].getHeight();posx+=this.iconsArray[i].getWidth()}else if(this.position==euRIGHT){updPosX=posx;updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euLEFT){updPosX=bakWidth-this.iconsArray[i].getWidth();updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euHORIZONTAL){updPosX=posx;updPosY=(bakHeight-this.iconsArray[i].getHeight())/2;posx+=this.iconsArray[i].getWidth()}else if(this.position==euVERTICAL){updPosX=(bakWidth-this.iconsArray[i].getWidth())/2;updPosY=posy;posy+=this.iconsArray[i].getHeight()}this.iconsArray[i].setPos(updPosX,updPosY);this.iconsArray[i].refresh()}this.setDim(bakWidth,bakHeight);this.refreshDiv()};this.kernel=function(){};this.kernelMouseOver=function(){};this.kernelMouseOut=function(){};this.mouseOut=function(){};this.mouseOver=function(){};this.mouseMove=function(x,y){};this.iconParams=new Array();this.setAllFrameStep=function(step){this.iconParams.frameStep=step;for(var i in this.iconsArray)if(this.iconsArray[i].id)this.iconsArray[i].frameStep=step};this.setAllZoomFunc=function(func){};this.setAllZoomFuncW=function(func){};this.setAllZoomFuncH=function(func){};this.setBar=function(args){var id='euDock_bar_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockBar(id,this);euEnv.euDockArray[id].setElements(args);this.bar=euEnv.euDockArray[id];return euEnv.euDockArray[id]};this.addIcon=function(args,params){var i,id=params.id;var id='euDock_icon_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockIcon(id,this,params.titulo);euEnv.euDockArray[id].addElement(args);this.iconsArray.push(euEnv.euDockArray[id]);for(i in this.iconParams)euEnv.euDockArray[id][i]=this.iconParams[i];for(i in params)euEnv.euDockArray[id][i]=params[i];return euEnv.euDockArray[id]};this.delIcon=function(elem){euEnv.euDockArray.splice(elem);euEnv.euDockArray[elem.id]=0;for(var i in this.iconsArray)if(this.iconsArray[i]==elem)this.iconsArray.splice(i,1);elem.destroy();elem=null;this.updateDims()}};function euDockIcon(id,dock,titulo){this.id=id;this.parentDock=dock;this.elementsArray;this.zoomFuncW=euLinear30;this.zoomFuncH=euLinear30;this.posX=0;this.posY=0;this.width=0;this.height=0;this.frame=0;this.frameStep=0.5;this.fadingFrame=0;this.fadingStep=1;this.fadingType=euTRANSPARENT;this.loaded=false;this.runningFrame=false;this.runningFading=false;this.updateDims=function(){if(!this.loaded)return;for(var i=0;i0&&y>0&&x=x))};this.isInsideY=function(y){return(this.loaded&&(this.posY<=y)&&((this.posY+this.getHeight())>=y))};this.retrieveLoadingDims=function(elem,num){if(elem.onLoadPrev)elem.onLoadPrev();if(num==0&&!this.loaded)this.setDim(elem.getWidth(),elem.getHeight());elem.loaded=true;var ret=true;for(var i in this.elementsArray)if(this.elementsArray[i].id)ret&=this.elementsArray[i].loaded;this.loaded=ret;if(this.loaded){this.parentDock.updateDims();for(var i in this.elementsArray)if(this.elementsArray[i].id)this.elementsArray[i].show()}if(elem.onLoadNext)elem.onLoadNext()};this.setPos=function(x,y){this.posX=x;this.posY=y};this.setDim=function(w,h){if(this.width==0)this.width=w;if(this.height==0)this.height=h};this.getAbsolutePosX=function(){return euIdObjLeft(this.parentDock.div)+this.posX};this.getAbsolutePosY=function(){return euIdObjTop(this.parentDock.div)+this.posY};this.setPosX=function(x){this.posX=x};this.setPosY=function(y){this.posY=y};this.getWidth=function(){if(!this.loaded)return 0;var calc=this.width*this.zoomFuncW(this.frame);return 38};this.getHeight=function(){if(!this.loaded)return 0;return 38};this.isRunning=function(){return this.runningFrame||this.runningFading};this.setFrameTo=function(frameTo){if(this.frame==frameTo)this.runningFrame=false;else{this.runningFrame=true;this.frame+=(frameTo-this.frame)*this.frameStep;if(Math.abs(this.frame-frameTo)<0.01)this.frame=frameTo;if(this.frame<0)this.frame=0;if(this.frame>1)this.frame=1}return this.runningFrame};this.addElement=function(args){if(typeof(args)!="undefined"&&args!=null){this.elementsArray=new Array();this.fadingStep=0.5/args.length;for(var i=0;i"+$trad("x78")+"

";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i "+temp[0]+"",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}}; // //compactados/classe_plugini3geo_compacto.js -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Coluna que contém os dados:"+"

"+"

Ou valor numérico para cada ponto:"+"

"+"

Raio de cada ponto em pixels:"+"

"+"

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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.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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}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)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Distância máxima entre ponto em pixels:"+"

"+"

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile

"+"

Veja o exemplo utilizado no tema _lmapadecluster.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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;i1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;iUrl do arquivo Kml:

"+"

Veja o exemplo utilizado no tema _lmapakml.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)

";ins+=""}else{ins+=""}ins+="";for(i=0;i"+""+" "+" "+" "+""}ins+="
TítuloChaveTipo (input ou select)ValoresPHP que retorna os valores (opcional)
"+"

As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+"
O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+"
Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+"
Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+"
Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+"
Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+"
Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[];if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:false,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}}; +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},iconeArvoreDeCamadas:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){return i3GEO.pluginI3geo[camada.plugini3geo.plugin].iconeArvoreDeCamadas(camada.name)}else{return false}},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},layerMashup:function(Interface,camada,epsg){if(camada.plugini3geo&&camada.plugini3geo!=""&&i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup){var l=i3GEO.pluginI3geo[camada.plugini3geo.plugin][Interface].layerMashup(camada,epsg);return l}else{return[false]}},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Coluna que contém os dados:"+"

"+"

Ou valor numérico para cada ponto:"+"

"+"

Raio de cada ponto em pixels:"+"

"+"

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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.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.heatmap.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}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)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=122"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"

Distância máxima entre ponto em pixels:"+"

"+"

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"

"+"

Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile

"+"

Veja o exemplo utilizado no tema _lmapadecluster.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var 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;i1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;iUrl do arquivo Kml:

"+"

Veja o exemplo utilizado no tema _lmapakml.map

";return ins},iconeArvoreDeCamadas:function(nomecamada){return false},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},layerMashup:function(camada,epsg){i3GEO.pluginI3geo.layerkml.openlayers.inicia(camada,i3GEO.editorOL.mapa);return[]},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;iAbre o formulário quando a camada é adicionada ao mapa: (true ou false)

";ins+=""}else{ins+=""}ins+="";for(i=0;i"+""+" "+" "+" "+""}ins+="
TítuloChaveTipo (input ou select)ValoresPHP que retorna os valores (opcional)
"+"

As chaves são palavras que devem existir no SQL definido em DATA e/ou no filtro (FILTER)."+"
O usuário irá fornecer os valores que serão então utilizados para substituir as chaves de forma dinâmica"+"
Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário"+"
Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)."+"
Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores."+"
Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa."+"
Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher "+"o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=5,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j";return icone},buscaParForm:function(nomecamada){var p,cp,temp,s;temp=function(retorno){var camada;retorno.data.ativo="sim";if(i3GEO.arvoreDeCamadas){camada=i3GEO.arvoreDeCamadas.pegaTema(nomecamada);camada.plugini3geo=retorno.data}else{camada={plugini3geo:retorno.data,name:nomecamada}}i3GEO.pluginI3geo.parametrossql.inicia(camada)};s=i3GEO.configura.sid;if(s===undefined){s=""}p=i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+s+"&funcao=PARAMETROSPLUGIN&tema="+nomecamada;cp=new cpaint();cp.set_response_type("JSON");cp.call(p,"foo",temp)},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada},layerMashup:function(camada,epsg){var p=[],tile;if(!camada.cache){camada["cache"]="NAO"}if(!camada.transitioneffect){camada["transitioneffect"]="SIM"}if(camada["transitioneffect"]==="SIM"){camada["transitioneffect"]="resize"}else{camada["transitioneffect"]=null}if(camada["tiles"]==="NAO"){tile=false}else{tile=true}if(camada.cache==="NAO"){p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:tile,isBaseLayer:false,visibility:true,transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}else{p.push(new OpenLayers.Layer.TMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{singleTile:false,isBaseLayer:false,layers:camada.name,visibility:true,serviceVersion:"&tms=",tileOrigin:new OpenLayers.LonLat(-180,-90),layername:camada.name,type:"png",transitionEffect:camada["transitioneffect"],plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}));p.push(new OpenLayers.Layer.WMS(camada.tema,i3GEO.configura.locaplic+"ferramentas/parametrossql/ogc.php?tema="+camada.name+"&",{layers:camada.name,SRS:'EPSG:'+epsg,FORMAT:'image/png'},{singleTile:true,isBaseLayer:false,visibility:false,displayInLayerSwitcher:false,transitionEffect:null,plugini3geo:"parametrossql","pluginparametros":camada.plugini3geo.parametros}))}return p}}}}; // //compactados/euDock.2.0.js if(!euEnv)var euEnv=new Array();euEnv.Kost=new Array();euEnv.Kost.num=0;euEnv.Kost.next=function(){return this.num++};euEnv.euDockArray=new Array();euEnv.refreshTime=35;euEnv.exeThread=true;euEnv.exeThreadWhiteLoop=0;euEnv.x=0;euEnv.y=0;euEnv.mouseMoved=false;var euUP=1;var euDOWN=2;var euLEFT=3;var euRIGHT=4;var euICON=5;var euMOUSE=6;var euSCREEN=7;var euOBJECT=8;var euABSOLUTE=9;var euRELATIVE=10;var euHORIZONTAL=11;var euVERTICAL=12;var euCENTER=13;var euTRANSPARENT=14;var euFIXED=15;var euOPAQUE=16;function euIdObjTop(euObj){var ret=euObj.offsetTop;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetTop;return ret};function euIdObjLeft(euObj){var ret=euObj.offsetLeft;while((euObj=euObj.offsetParent)!=null)ret+=euObj.offsetLeft;return ret};function isEuInside(euObj,x,y){var euTop=euIdObjTop(euObj);var euLeft=euIdObjLeft(euObj);return((euTop<=y&&(euTop+euObj.offsetHeight)>=y)&&(euLeft<=x&&(euLeft+euObj.offsetWidth)>=x))};function euDimensioni(){if(typeof(window.innerWidth)=='number'){euEnv.euFrameWidth=window.innerWidth-16;euEnv.euFrameHeight=window.innerHeight}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){euEnv.euFrameWidth=document.documentElement.clientWidth-16;euEnv.euFrameHeight=document.documentElement.clientHeight}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){euEnv.euFrameWidth=document.body.clientWidth;euEnv.euFrameHeight=document.body.clientHeight}};function offsEut(){euEnv.euScrOfY=0;euEnv.euScrOfX=0;if(typeof(window.pageYoffsEut)=='number'){euEnv.euScrOfY=window.pageYoffsEut;euEnv.euScrOfX=window.pageXoffsEut}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){euEnv.euScrOfY=document.body.scrollTop;euEnv.euScrOfX=document.body.scrollLeft}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){euEnv.euScrOfY=document.documentElement.scrollTop;euEnv.euScrOfX=document.documentElement.scrollLeft}};function euKostFunc30(x){return 0.3};function euKostFunc100(x){return 1};function euLinear(x){return x};function euLinear30(x){var r=1*(x+(1-x)*0.3);return r};function euLinear20(x){return x+(1-x)*0.2};function euExp30(x){return euLinear30(x*x*x)};function euLinear50(x){return x+(1-x)*0.5};function euHarmonic(x){return euLinear30((1-Math.cos(Math.PI*x))/2)};function euSemiHarmonic(x){return euLinear30(Math.cos(Math.PI*(1-x)/2))};function euDock(onde){this.id='euDock_'+euEnv.Kost.next();var novoel=document.createElement("div");novoel.style.position="absolute";novoel.innerHTML="

"+"
";if(onde){novoel.style.zIndex=100000;onde.appendChild(novoel)}else{document.body.appendChild(novoel)}this.div=document.getElementById(this.id);this.divBar=document.getElementById(this.id+"_bar");this.iconsArray=new Array();this.isInside=false;euEnv.euDockArray[this.id]=this;this.bar=null;this.mouseX=0;this.mouseY=0;this.centerPosX=0;this.centerPosY=0;this.offset=0;this.iconOffset=0;this.venusHillSize=3;this.venusHillTrans=euLinear;this.position=euUP;this.align=euSCREEN;this.objectAlign=euDOWN;this.idObjectHook;this.animaition=euICON;this.animFading=euABSOLUTE;this.setIconsOffset=function(offset){this.iconOffset=offset};this.setAnimation=function(anim,size){this.animaition=anim;this.venusHillSize=size};this.setPointAlign=function(x,y,pos){this.offset=0;this.align=euABSOLUTE;this.position=pos;this.setCenterPos(x,y)};this.setObjectAlign=function(idObj,align,offset,pos){this.offset=offset;this.align=euOBJECT;this.objectAlign=align;this.position=pos;this.idObjectHook=document.getElementById(idObj);this.setObjectCoord()};this.setObjectCoord=function(){var tempx,tempy;if(this.objectAlign==euDOWN){if(onde){tempx=(this.idObjectHook.offsetWidth/2);tempy=0}else{tempx=euIdObjLeft(this.idObjectHook)+(this.idObjectHook.offsetWidth/2);tempy=euIdObjTop(this.idObjectHook)+this.idObjectHook.offsetHeight+this.offset;if(navm&&!document.doctype||(navm&&document.doctype&&document.doctype.systemId=="")){tempx=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA))[0]+(euIdObjLeft(this.idObjectHook)/2)}if(navm&&i3GEO.util.versaoNavegador()==="IE8"&&tempxbakHeight)?this.iconsArray[i].getHeight():bakHeight;bakHeight=Math.round(bakHeight)}else{bakHeight+=this.iconsArray[i].getHeight();bakWidth=(this.iconsArray[i].getWidth()>bakWidth)?this.iconsArray[i].getWidth():bakWidth;bakWidth=Math.round(bakWidth)}}if(this.bar){if(this.position==euUP||this.position==euDOWN||this.position==euHORIZONTAL)this.bar.setProperties(bakWidth,this.position);else this.bar.setProperties(bakHeight,this.position);this.bar.refresh()}var posx=0;var posy=0;var updPosX=0;var updPosY=0;for(var i in this.iconsArray)if(this.iconsArray[i].id){if(this.position==euDOWN){updPosX=posx;updPosY=posy;posx+=this.iconsArray[i].getWidth()}else if(this.position==euUP){updPosX=posx;updPosY=bakHeight-this.iconsArray[i].getHeight();posx+=this.iconsArray[i].getWidth()}else if(this.position==euRIGHT){updPosX=posx;updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euLEFT){updPosX=bakWidth-this.iconsArray[i].getWidth();updPosY=posy;posy+=this.iconsArray[i].getHeight()}else if(this.position==euHORIZONTAL){updPosX=posx;updPosY=(bakHeight-this.iconsArray[i].getHeight())/2;posx+=this.iconsArray[i].getWidth()}else if(this.position==euVERTICAL){updPosX=(bakWidth-this.iconsArray[i].getWidth())/2;updPosY=posy;posy+=this.iconsArray[i].getHeight()}this.iconsArray[i].setPos(updPosX,updPosY);this.iconsArray[i].refresh()}this.setDim(bakWidth,bakHeight);this.refreshDiv()};this.kernel=function(){};this.kernelMouseOver=function(){};this.kernelMouseOut=function(){};this.mouseOut=function(){};this.mouseOver=function(){};this.mouseMove=function(x,y){};this.iconParams=new Array();this.setAllFrameStep=function(step){this.iconParams.frameStep=step;for(var i in this.iconsArray)if(this.iconsArray[i].id)this.iconsArray[i].frameStep=step};this.setAllZoomFunc=function(func){};this.setAllZoomFuncW=function(func){};this.setAllZoomFuncH=function(func){};this.setBar=function(args){var id='euDock_bar_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockBar(id,this);euEnv.euDockArray[id].setElements(args);this.bar=euEnv.euDockArray[id];return euEnv.euDockArray[id]};this.addIcon=function(args,params){var i,id=params.id;var id='euDock_icon_'+euEnv.Kost.next();euEnv.euDockArray[id]=new euDockIcon(id,this,params.titulo);euEnv.euDockArray[id].addElement(args);this.iconsArray.push(euEnv.euDockArray[id]);for(i in this.iconParams)euEnv.euDockArray[id][i]=this.iconParams[i];for(i in params)euEnv.euDockArray[id][i]=params[i];return euEnv.euDockArray[id]};this.delIcon=function(elem){euEnv.euDockArray.splice(elem);euEnv.euDockArray[elem.id]=0;for(var i in this.iconsArray)if(this.iconsArray[i]==elem)this.iconsArray.splice(i,1);elem.destroy();elem=null;this.updateDims()}};function euDockIcon(id,dock,titulo){this.id=id;this.parentDock=dock;this.elementsArray;this.zoomFuncW=euLinear30;this.zoomFuncH=euLinear30;this.posX=0;this.posY=0;this.width=0;this.height=0;this.frame=0;this.frameStep=0.5;this.fadingFrame=0;this.fadingStep=1;this.fadingType=euTRANSPARENT;this.loaded=false;this.runningFrame=false;this.runningFading=false;this.updateDims=function(){if(!this.loaded)return;for(var i=0;i0&&y>0&&x=x))};this.isInsideY=function(y){return(this.loaded&&(this.posY<=y)&&((this.posY+this.getHeight())>=y))};this.retrieveLoadingDims=function(elem,num){if(elem.onLoadPrev)elem.onLoadPrev();if(num==0&&!this.loaded)this.setDim(elem.getWidth(),elem.getHeight());elem.loaded=true;var ret=true;for(var i in this.elementsArray)if(this.elementsArray[i].id)ret&=this.elementsArray[i].loaded;this.loaded=ret;if(this.loaded){this.parentDock.updateDims();for(var i in this.elementsArray)if(this.elementsArray[i].id)this.elementsArray[i].show()}if(elem.onLoadNext)elem.onLoadNext()};this.setPos=function(x,y){this.posX=x;this.posY=y};this.setDim=function(w,h){if(this.width==0)this.width=w;if(this.height==0)this.height=h};this.getAbsolutePosX=function(){return euIdObjLeft(this.parentDock.div)+this.posX};this.getAbsolutePosY=function(){return euIdObjTop(this.parentDock.div)+this.posY};this.setPosX=function(x){this.posX=x};this.setPosY=function(y){this.posY=y};this.getWidth=function(){if(!this.loaded)return 0;var calc=this.width*this.zoomFuncW(this.frame);return 38};this.getHeight=function(){if(!this.loaded)return 0;return 38};this.isRunning=function(){return this.runningFrame||this.runningFading};this.setFrameTo=function(frameTo){if(this.frame==frameTo)this.runningFrame=false;else{this.runningFrame=true;this.frame+=(frameTo-this.frame)*this.frameStep;if(Math.abs(this.frame-frameTo)<0.01)this.frame=frameTo;if(this.frame<0)this.frame=0;if(this.frame>1)this.frame=1}return this.runningFrame};this.addElement=function(args){if(typeof(args)!="undefined"&&args!=null){this.elementsArray=new Array();this.fadingStep=0.5/args.length;for(var i=0;i$layern->getmetadata("tema"), "plugin"=>$layern->getmetadata("PLUGINI3GEO"), "cache"=>strtoupper($layern->getmetadata("cache")), - "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")) + "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")), + "tiles"=>strtoupper($layern->getmetadata("tiles")) ); } else{ @@ -637,39 +628,39 @@ if(!i3GEO.configura){ i3GEO.configura = {"locaplic": "../"}; } -i3GEO.editorOL.inicia(); - -function adicionaPluginI3geo(camada,visivel){ - if(!camada.cache){ - camada["cache"] = "NAO"; - } - var l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"), - n, - i; - n = l.length; - for(i = 0; i < n; i++){ - if(l[i].displayInLayerSwitcher === true){ - l[i].setVisibility(visivel); + //camadas plugin + foreach ($temasPluginI3Geo as $t){ + //var_dump($temasPluginI3Geo);exit; + //cria um objeto javascript para iniciar o plugin + $camada = '{"tiles":"'.$t["tiles"].'","tema": "'.$t["tema"].'","name":"'.$t["name"].'","plugini3geo":'.$t["plugin"].',"cache":"'.$t["cache"].'","transitioneffect":"'.$t["transitioneffect"].'"}'; + echo "var camada = $camada;\n"; + //echo "i3GEO.pluginI3geo[camada.plugini3geo.plugin].openlayers.inicia(camada,i3GEO.editorOL.mapa);\n"; + $visivel = "false"; + if(in_array($t["name"],$visiveis)){ + $visivel = "true"; } - if(l[i] != true){ - i3GEO.editorOL.layersIniciais.push(l[i]); + echo "adicionaPluginI3geo(camada,$visivel);\n"; + } + ?> + i3GEO.editorOL.inicia(); + + function adicionaPluginI3geo(camada,visivel){ + if(!camada.cache){ + camada["cache"] = "NAO"; + } + var l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"), + n, + i; + n = l.length; + for(i = 0; i < n; i++){ + if(l[i].displayInLayerSwitcher === true){ + l[i].setVisibility(visivel); + } + if(l[i] != true){ + i3GEO.editorOL.layersIniciais.push(l[i]); + } } } -} diff --git a/mashups/osm.php b/mashups/osm.php index b606c3a..0041229 100755 --- a/mashups/osm.php +++ b/mashups/osm.php @@ -58,7 +58,7 @@ if(!isset($temas)){ // problema na versão 211 do OpenLayers. Tamanho em % não é // aceito // if(!isset($largura)) - // {$largura = 500;} +// {$largura = 500;} if(isset($largura) && !isset($altura)){ $altura = $largura; } @@ -211,138 +211,132 @@ if($temas != ""){ $visiveis = explode(",",$visiveis); } $objOpenLayers = array(); - if(isset($servidor) && $servidor != "../ogc.php"){ - $layers = $temas; - foreach($temas as $tema){ - $nomeLayer = str_replace(".map","",basename($tema)); - $nomeLayer = str_replace(".php","",$nomeLayer); - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tema.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{isBaseLayer:false})'; + if(!isset($servidor)){ + $servidor = "../ogc.php"; + } + foreach($temas as $tema){ + if(file_exists($locaplic."/temas/".$tema.".gvp")){ + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); + $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp"); + $gvsigview = $gm->getViewsNames(); + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$gvsigview[0].'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$tema.'",transparent: "true", format: "image/png"},{singleTile:false,visibility:true,isBaseLayer:false})'; } - } - else{ - foreach($temas as $tema){ - if(file_exists($locaplic."/temas/".$tema.".gvp")){ - include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); - $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp"); - $gvsigview = $gm->getViewsNames(); - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$gvsigview[0].'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$tema.'",transparent: "true", format: "image/png"},{singleTile:false,visibility:true,isBaseLayer:false})'; + else{ + $nomeMap = ""; + if(file_exists($locaplic."/temas/".$tema.".map")){ + $nomeMap = $locaplic."/temas/".$tema.".map"; } else{ - $nomeMap = ""; - if(file_exists($locaplic."/temas/".$tema.".map")){ - $nomeMap = $locaplic."/temas/".$tema.".map"; + if(file_exists($tema)){ + $nomeMap = $tema; } else{ - if(file_exists($tema)){ - $nomeMap = $tema; + // acontece caso o mapfile tenha sido gerado na pasta + // temporaria por algum sistema + if(file_exists($dir_tmp."/".$tema.".map")){ + $nomeMap = $dir_tmp."/".$tema.".map"; } - else{ - // acontece caso o mapfile tenha sido gerado na pasta - // temporaria por algum sistema - if(file_exists($dir_tmp."/".$tema.".map")){ - $nomeMap = $dir_tmp."/".$tema.".map"; + } + } + if($nomeMap != ""){ + $layersNomes = array(); + $layers = array(); + $maptemp = @ms_newMapObj($nomeMap); + if($maptemp){ + $nlayers = $maptemp->numlayers; + for($i=0;$i<($nlayers);++$i) { + $layern = $maptemp->getLayer($i); + if($layern->getmetadata("PLUGINI3GEO") != ""){ + //obtem os dados necessarios para iniciar o plugin + $temasPluginI3Geo[] = array( + "name"=>$layern->name, + "tema"=>$layern->getmetadata("tema"), + "plugin"=>$layern->getmetadata("PLUGINI3GEO"), + "cache"=>strtoupper($layern->getmetadata("cache")), + "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")), + "tiles"=>strtoupper($layern->getmetadata("tiles")) + ); + } + else{ + $layersNomes[] = $layern->name; + $layers[] = $layern; } } - } - if($nomeMap != ""){ - $layersNomes = array(); - $layers = array(); - $maptemp = @ms_newMapObj($nomeMap); - if($maptemp){ - $nlayers = $maptemp->numlayers; - for($i=0;$i<($nlayers);++$i) { - $layern = $maptemp->getLayer($i); - if($layern->getmetadata("PLUGINI3GEO") != ""){ - //obtem os dados necessarios para iniciar o plugin - $temasPluginI3Geo[] = array( - "name"=>$layern->name, - "tema"=>$layern->getmetadata("tema"), - "plugin"=>$layern->getmetadata("PLUGINI3GEO"), - "cache"=>strtoupper($layern->getmetadata("cache")), - "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")) - ); - } - else{ - $layersNomes[] = $layern->name; - $layers[] = $layern; - } + $nomeLayer = implode(",",$layersNomes); + $tituloLayer = $layern->getmetadata("tema"); + $ebase = "false"; + if(isset($fundo) && $fundo != ""){ + if(in_array($tema,$fundo)){ + $ebase = "true"; } - $nomeLayer = implode(",",$layersNomes); - $tituloLayer = $layern->getmetadata("tema"); - $ebase = "false"; - if(isset($fundo) && $fundo != ""){ - if(in_array($tema,$fundo)){ - $ebase = "true"; - } + } + $visivel = "false"; + if(in_array($tema,$visiveis)){ + $visivel = "true"; + } + // echo $visivel;exit; + // var_dump($visiveis);exit; + if($nlayers == 1 && strtoupper($layern->getmetadata("cache")) == "SIM" && $layern->getmetadata("PLUGINI3GEO") == ""){ + if($layern->type != 2 && $layern->type != 3){ + $opacidade = 1; + } + // + //verifica se deve aplicar filtro + // + $filtro = $_GET["map_layer_".$layern->name."_filter"]; + if(!empty($filtro)){ + $DESLIGACACHE = "sim"; + $nocache = "map_layer_".$layern->name."_filter=".$filtro."&".$nocache; } - $visivel = "false"; - if(in_array($tema,$visiveis)){ - $visivel = "true"; + // nesse caso o layer e adicionado como TMS + // tms leva os parametros do TMS + $teffect = 'transitionEffect: "resize",'; + if(strtoupper($layern->getmetadata("transitioneffect")) == "NAO"){ + $teffect = 'transitionEffect: null,'; } - // echo $visivel;exit; - // var_dump($visiveis);exit; - if($nlayers == 1 && strtoupper($layern->getmetadata("cache")) == "SIM" && $layern->getmetadata("PLUGINI3GEO") == ""){ - if($layern->type != 2 && $layern->type != 3){ + $objOpenLayers[] = 'new OpenLayers.Layer.XYZ("'.$tituloLayer.'", "'.$servidor.'?Z=${z}&X=${x}&Y=${y}&'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&SRS=EPSG:3857",{'.$teffect.'opacity:'.$opacidade.',serviceVersion:"&tms=",visibility:'.$visivel.',isBaseLayer:'.$ebase.',layername:"'.$nomeLayer.'",type:"png"})'; + // cria um clone WMS para efeitos de getfeatureinfo + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{transitionEffect : null, displayInLayerSwitcher:false,singleTile:true,visibility:false,isBaseLayer:false})'; + } + else{ + foreach($layers as $l){ + $singleTile = true; + if(strtoupper($l->getmetadata("TILES")) == "NAO"){ + $singleTile = false; + } + $tituloLayer = $l->getmetadata("tema"); + $nomeLayer = $l->name; + $visivel = "false"; + if($l->status == MS_DEFAULT || in_array($tema,$visiveis)){ + $visivel = "true"; + } + if($l->type != 2 && $l->type != 3){ $opacidade = 1; } // //verifica se deve aplicar filtro // - $filtro = $_GET["map_layer_".$layern->name."_filter"]; + $filtro = $_GET["map_layer_".$l->name."_filter"]; if(!empty($filtro)){ $DESLIGACACHE = "sim"; - $nocache = "map_layer_".$layern->name."_filter=".$filtro."&".$nocache; + $nocache = "map_layer_".$l->name."_filter=".$filtro."&".$nocache; } - // nesse caso o layer e adicionado como TMS - // tms leva os parametros do TMS $teffect = 'transitionEffect: "resize",'; - if(strtoupper($layern->getmetadata("transitioneffect")) == "NAO"){ + if(strtoupper($l->getmetadata("transitioneffect")) == "NAO"){ $teffect = 'transitionEffect: null,'; } - $objOpenLayers[] = 'new OpenLayers.Layer.XYZ("'.$tituloLayer.'", "../ogc.php?Z=${z}&X=${x}&Y=${y}&'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&SRS=EPSG:3857",{'.$teffect.'opacity:'.$opacidade.',serviceVersion:"&tms=",visibility:'.$visivel.',isBaseLayer:'.$ebase.',layername:"'.$nomeLayer.'",type:"png"})'; - // cria um clone WMS para efeitos de getfeatureinfo - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{transitionEffect : null, displayInLayerSwitcher:false,singleTile:true,visibility:false,isBaseLayer:false})'; - } - else{ - foreach($layers as $l){ - $singleTile = true; - if(strtoupper($l->getmetadata("TILES")) == "NAO"){ - $singleTile = false; - } - $tituloLayer = $l->getmetadata("tema"); - $nomeLayer = $l->name; - $visivel = "false"; - if($l->status == MS_DEFAULT || in_array($tema,$visiveis)){ - $visivel = "true"; - } - if($l->type != 2 && $l->type != 3){ - $opacidade = 1; - } - // - //verifica se deve aplicar filtro - // - $filtro = $_GET["map_layer_".$l->name."_filter"]; - if(!empty($filtro)){ - $DESLIGACACHE = "sim"; - $nocache = "map_layer_".$l->name."_filter=".$filtro."&".$nocache; - } - $teffect = 'transitionEffect: "resize",'; - if(strtoupper($l->getmetadata("transitioneffect")) == "NAO"){ - $teffect = 'transitionEffect: null,'; - } - if($tituloLayer != ""){ - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' singleTile: '.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; - } - else{ - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' displayInLayerSwitcher:false,singleTile:true,visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; - } + if($tituloLayer != ""){ + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' singleTile: '.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; + } + else{ + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' displayInLayerSwitcher:false,singleTile:true,visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; } } } } - else{ - echo $tema." não foi encontrado.
"; - } + } + else{ + echo $tema." não foi encontrado.
"; } } } @@ -472,6 +466,7 @@ if(count($temasPluginI3Geo) > 0){ opacity: .8; filter: alpha(opacity = 80); } + .pluginParametrossql { background-image: url("../imagens/gisicons/settings.png"); background-size: 14px auto; @@ -628,7 +623,7 @@ if(!i3GEO.configura){ foreach ($temasPluginI3Geo as $t){ //var_dump($temasPluginI3Geo);exit; //cria um objeto javascript para iniciar o plugin - $camada = '{"tema": "'.$t["tema"].'","name":"'.$t["name"].'","plugini3geo":'.$t["plugin"].',"cache":"'.$t["cache"].'","transitioneffect":"'.$t["transitioneffect"].'"}'; + $camada = '{"tiles":"'.$t["tiles"].'","tema": "'.$t["tema"].'","name":"'.$t["name"].'","plugini3geo":'.$t["plugin"].',"cache":"'.$t["cache"].'","transitioneffect":"'.$t["transitioneffect"].'"}'; echo "var camada = $camada;\n"; //echo "i3GEO.pluginI3geo[camada.plugini3geo.plugin].openlayers.inicia(camada,i3GEO.editorOL.mapa);\n"; $visivel = "false"; @@ -639,14 +634,15 @@ if(!i3GEO.configura){ } ?> i3GEO.editorOL.inicia(); - + function adicionaPluginI3geo(camada,visivel){ if(!camada.cache){ camada["cache"] = "NAO"; } var l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"), - n = l.length, + n, i; + n = l.length; for(i = 0; i < n; i++){ if(l[i].displayInLayerSwitcher === true){ l[i].setVisibility(visivel); diff --git a/temas/_llocaliphp.map b/temas/_llocaliphp.map index 6bcba07..4425cbe 100755 --- a/temas/_llocaliphp.map +++ b/temas/_llocaliphp.map @@ -9,7 +9,8 @@ MAP "METAESTAT_ID_MEDIDA_VARIAVEL" "" "TIP" "TIPO,NOMELOC,ANOCRIA" "LTEMPOITEMIMAGEM" "" - "cache" "sim" + "cache" "nao" + "tiles" "sim" "CLASSE" "SIM" "LTEMPOITEMDESCRICAO" "TIPO" "olopacity" "" -- libgit2 0.21.2