From 3dc1e0838c3b1e2f49699cf7aa6cf82eeaa10806 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Fri, 25 Jul 2014 02:56:48 +0000 Subject: [PATCH] Inclusão das funções que salvam e recuperam graficos no mapfile em uso --- admin/admin.db | Bin 263168 -> 0 bytes admin/php/mapas.php | 11 ++++++----- classesjs/classe_i3geo.js | 12 ++++++++++-- classesjs/classe_mapa.js | 2221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- classesjs/classe_php.js | 20 ++++++++++++++++++-- classesjs/classe_util.js | 2 +- classesphp/mapa_inicia.php | 2 +- ferramentas/graficointerativo1/index.js | 633 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ferramentas/graficointerativo1/template_mst.html | 84 ++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------ ferramentas/salvamapa/dicionario.js | 2 +- ferramentas/salvamapa/index.js | 2 +- 11 files changed, 1645 insertions(+), 1344 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index b69dfeb..78d69ee 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/php/mapas.php b/admin/php/mapas.php index f0f95e2..c90000a 100644 --- a/admin/php/mapas.php +++ b/admin/php/mapas.php @@ -23,7 +23,7 @@ Este programa é distribuído na expectativa de que seja útil porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. -Você deve ter recebido uma cópia da Licença Pública Geral do +Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. @@ -36,7 +36,7 @@ Parametros: O parâmetro principal é "funcao", que define qual operação será executada, por exemplo, mapas.php?funcao=pegamapas. -Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação. +Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação. */ @@ -162,7 +162,7 @@ switch (strtoupper($funcao)) titulo {string} - titulo do mapa - mapfile {string} - mapfile na pasta temporária + mapfile {string} - mapfile na pasta temporária Retorno: @@ -174,7 +174,7 @@ switch (strtoupper($funcao)) break; } function salvaMapfile(){ - global $esquemaadmin,$nome_mapa,$arqmapfile,$url,$id_mapa,$preferenciasbase64,$geometriasbase64; + global $esquemaadmin,$nome_mapa,$arqmapfile,$url,$id_mapa,$preferenciasbase64,$geometriasbase64,$graficosbase64; //as preferencias sao criadas via javascript e guardadas junto com o mapa try{ // @@ -186,9 +186,10 @@ function salvaMapfile(){ //o parser para reconstruir os valores e feito em javascript, no cliente // $customizacoesinit = array(); - if(isset($preferenciasbase64) || isset($geometriasbase64)){ + if(isset($preferenciasbase64) || isset($geometriasbase64) || isset($graficosbase64)){ $customizacoesinit[] = '"preferenciasbase64":"'.$preferenciasbase64.'"'; $customizacoesinit[] = '"geometriasbase64":"'.$geometriasbase64.'"'; + $customizacoesinit[] = '"graficosbase64":"'.$graficosbase64.'"'; $m = ms_newMapObj($arqmapfile); $m->setmetadata("CUSTOMIZACOESINIT",'{'.implode(",",$customizacoesinit).'}'); $m->save($arqmapfile); diff --git a/classesjs/classe_i3geo.js b/classesjs/classe_i3geo.js index 1ee57ef..00e90fc 100644 --- a/classesjs/classe_i3geo.js +++ b/classesjs/classe_i3geo.js @@ -341,6 +341,7 @@ var i3GEO = { // //obtem os parametros que foram armazenados ao salvar o mapa //caso o mapa atual tenha sido recuperado do banco de dados + //os parametros sao armazenados em base64 no objeto metadata do mapfile // if(retorno.data.customizacoesinit){ preferencias = YAHOO.lang.JSON.parse(retorno.data.customizacoesinit); @@ -390,8 +391,15 @@ var i3GEO = { //caso o mapa atual tenha sido recuperado do banco de dados // if(retorno.data.customizacoesinit){ - temp = i3GEO.util.base64decode(preferencias.geometriasbase64); - i3GEO.mapa.desCompactaLayerGrafico(temp); + //recupera os layers graficos + if(preferencias.geometriasbase64 && preferencias.geometriasbase64 != ""){ + temp = i3GEO.util.base64decode(preferencias.geometriasbase64); + i3GEO.mapa.desCompactaLayerGrafico(temp); + } + //recupera os graficos + if(preferencias.graficosbase64 && preferencias.graficosbase64 != ""){ + i3GEO.mapa.restauraGraficos(preferencias.graficosbase64); + } } } else diff --git a/classesjs/classe_mapa.js b/classesjs/classe_mapa.js index 90ce40c..6f580f1 100644 --- a/classesjs/classe_mapa.js +++ b/classesjs/classe_mapa.js @@ -35,1162 +35,1219 @@ GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. -*/ -if(typeof(i3GEO) === 'undefined'){ + */ +if (typeof (i3GEO) === 'undefined') { var i3GEO = {}; } -i3GEO.mapa = { - /* - Propriedade: TEMASINICIAISLIGADOS - - Lista indicando quais temas serao adicionados ao mapa na inicializacao - - Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO. - - Os temas sao aqueles que aparecem em i3geo/temas - - Type: - {string} - - Default: - {} - */ - TEMASINICIAISLIGADOS: "", - /* - Propriedade: TEMASINICIAISLIGADOS - - Lista indicando quais temas serao ligados na inicializacao - - Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO. - - Os temas sao aqueles que aparecem em i3geo/temas - - Type: - {string} - - Default: - {} - */ - TEMASINICIAIS: "", - /* - Propriedade: AUTORESIZE - - Indica se o tamanho do mapa sera ajustado toda vez que o navegador for redimensionado - - Type: - {boolean} - - Default: - {false} - */ - AUTORESIZE: false, - /* - Armazena o nome dos objetos geoXml adicionados ao mapa pela API do google maps - - Tipo: - {Array} - */ - GEOXML: [], - /* - Function: insereDobraPagina - - Insere o icone do tipo "dobra de pagina" que permite alterar o renderizador do mapa - - Parametros: - - tipo {string} - tipo de icone googlemaps|openlayers - - imagem {string} - endereco da imagem que sera utilizada no icone - */ - insereDobraPagina: function(tipo,imagem){ - var novoel = $i("i3GEOdobraPagina"); - if(!novoel){ - novoel = document.createElement("img"); - } - novoel.src = imagem; - novoel.id = "i3GEOdobraPagina"; - if(tipo === "googlemaps"){ - novoel.onclick = function(evt){ - i3GEO.Interface.atual2gm.inicia(); - }; - } - if(tipo === "openlayers"){ - novoel.onclick = function(evt){ - i3GEO.Interface.atual2ol.inicia(); - }; - } - novoel.style.cursor = "pointer"; - novoel.style.position = "absolute"; - novoel.style.top = i3GEO.parametros.h - 35 + "px"; - novoel.style.zIndex = "50000"; - novoel.style.left = i3GEO.parametros.w - 35 + "px"; - $i(i3GEO.Interface.IDMAPA).appendChild(novoel); - YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.stopPropagation); - YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.preventDefault); - }, - /* - Reposiciona o icone do tipo "dobra de pagina" - */ - reposicionaDobraPagina: function(){ - var novoel = $i("i3GEOdobraPagina"); - if(!novoel){ - return; - } - novoel.style.top = i3GEO.parametros.h - 35 + "px"; - novoel.style.left = i3GEO.parametros.w - 35 + "px"; - }, - /* - Ativa o redimensionamento automatico do mapa sempre que o navegador for redimensionado - - e definido como um evento do elemento window - */ - ativaAutoResize: function(){ - window.onresize = function(){ - var Dw,Dh, r = false; - Dw = YAHOO.util.Dom.getViewportWidth(); - Dh = YAHOO.util.Dom.getViewportHeight(); - if(Math.abs(Dw - i3GEO.tamanhodoc[0]) > 50){ - r = true; +i3GEO.mapa = + { + /* + * Propriedade: TEMASINICIAISLIGADOS + * + * Lista indicando quais temas serao adicionados ao mapa na inicializacao + * + * Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO. + * + * Os temas sao aqueles que aparecem em i3geo/temas + * + * Type: {string} + * + * Default: {} + */ + TEMASINICIAISLIGADOS : "", + /* + * Propriedade: TEMASINICIAISLIGADOS + * + * Lista indicando quais temas serao ligados na inicializacao + * + * Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO. + * + * Os temas sao aqueles que aparecem em i3geo/temas + * + * Type: {string} + * + * Default: {} + */ + TEMASINICIAIS : "", + /* + * Propriedade: AUTORESIZE + * + * Indica se o tamanho do mapa sera ajustado toda vez que o navegador for redimensionado + * + * Type: {boolean} + * + * Default: {false} + */ + AUTORESIZE : false, + /* + * Armazena o nome dos objetos geoXml adicionados ao mapa pela API do google maps + * + * Tipo: {Array} + */ + GEOXML : [], + /* + * Function: insereDobraPagina + * + * Insere o icone do tipo "dobra de pagina" que permite alterar o renderizador do mapa + * + * Parametros: + * + * tipo {string} - tipo de icone googlemaps|openlayers + * + * imagem {string} - endereco da imagem que sera utilizada no icone + */ + insereDobraPagina : function(tipo, imagem) { + var novoel = $i("i3GEOdobraPagina"); + if (!novoel) { + novoel = document.createElement("img"); } - if(Math.abs(Dh - i3GEO.tamanhodoc[1]) > 50){ - r = true; + novoel.src = imagem; + novoel.id = "i3GEOdobraPagina"; + if (tipo === "googlemaps") { + novoel.onclick = function(evt) { + i3GEO.Interface.atual2gm.inicia(); + }; } - if(r === false) - {return;} - i3GEO.tamanhodoc = [Dw,Dh]; - setTimeout(function(){ - i3GEO.reCalculaTamanho(); - i3GEO.barraDeBotoes.recria("i3geo_barra2"); - if(i3GEO.Interface.TABLET === true) - {i3GEO.guias.escondeGuias();return;} - if(i3GEO.guias.TIPO === "movel") - {i3GEO.guias.guiaMovel.reposiciona();} - else - {i3GEO.guias.ajustaAltura();} - i3GEO.mapa.reposicionaDobraPagina(); - },2000); - }; - }, - /* - Ajusta o posicionamento do corpo do mapa - - Esse ajuste e necessario na inicializacao, uma vez que o mapa utiliza style.position='absolute' - - Parameters: - - elemento {String} - id do elemento HTML que devera ser ajustado e que contem o mapa - */ - ajustaPosicao: function(elemento){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.ajustaPosicao()");} - if(arguments.length === 0){return;} - var imagemxi = 0, - imagemyi = 0, - dc = $i(elemento), - c; - if(!dc){return;} - try{ - while ((dc.offsetParent) && (dc.offsetParent.id !== "i3geo")){ - dc = dc.offsetParent; - imagemxi += dc.offsetLeft; - imagemyi += dc.offsetTop; + if (tipo === "openlayers") { + novoel.onclick = function(evt) { + i3GEO.Interface.atual2ol.inicia(); + }; } - c = $i(i3GEO.Interface.IDCORPO); - if (c){ - c.style.position="absolute"; - if(navm) - {$left(i3GEO.Interface.IDCORPO,imagemxi - 1);} - else - {$left(i3GEO.Interface.IDCORPO,imagemxi);} - $top(i3GEO.Interface.IDCORPO,imagemyi); + novoel.style.cursor = "pointer"; + novoel.style.position = "absolute"; + novoel.style.top = i3GEO.parametros.h - 35 + "px"; + novoel.style.zIndex = "50000"; + novoel.style.left = i3GEO.parametros.w - 35 + "px"; + $i(i3GEO.Interface.IDMAPA).appendChild(novoel); + YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.stopPropagation); + YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.preventDefault); + }, + /* + * Reposiciona o icone do tipo "dobra de pagina" + */ + reposicionaDobraPagina : function() { + var novoel = $i("i3GEOdobraPagina"); + if (!novoel) { + return; } - } - catch(e){i3GEO.janela.tempoMsg("Ocorreu um erro. i3GEO.mapa.ajustaPosicao "+e);} - }, - /* - Function: ativaTema - - Altera a variavel i3GEO.temaAtivo e atualiza a interface em funcao do novo tema que for ativado - - O tema anteriormente ativo tem sua cor alterada para a cor normal e o novo tema e destacado com uma cor diferente - - Executa tambem as funcoes armazenadas em i3GEO.eventos.ATIVATEMA - - Parametros: - - codigo {string} - codigo da camada - */ - ativaTema: function(codigo){ - if(codigo){ - if(codigo === "") - {return;} - if(i3GEO.temaAtivo !== "") - {i3GEO.util.defineValor("ArvoreTituloTema"+i3GEO.temaAtivo,"style.color","");} - i3GEO.temaAtivo = codigo; - i3GEO.util.defineValor("ArvoreTituloTema"+codigo,"style.color","brown"); - } - }, - /* - Function: ativaLogo - - Ativa ou desativa a logo marca. - */ - ativaLogo: function(){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.ativaLogo()");} - if(i3GEO.Interface.ATUAL === "googlemaps") - {alert($trad("x21"));return;} - i3GEO.php.ativalogo(i3GEO.atualiza); - var cr = $i("i3GEOcopyright"); - if(cr){ - if(cr.style.display === "block") - {cr.style.display = "none";} - else - {cr.style.display = "block";} - } - }, - /* - Verifica se ocorreu algum problema na atualizacao do corpo do mapa e inicia o processo de tentativa de recuperacao - - Parametro: - - retorno {string} - objeto recebido da funcao PHP de atualizacao do mapa - */ - verifica:function(retorno){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.verifica()");} - try{ - if(retorno.data) - {retorno = retorno.data;} - if (retorno.variaveis) - {retorno = retorno.variaveis;} - if ((retorno === "erro") || (typeof(retorno) === 'undefined')){ - i3GEO.mapa.ajustaPosicao(); - i3GEO.janela.fechaAguarde(); - i3GEO.mapa.recupera.inicia(); + novoel.style.top = i3GEO.parametros.h - 35 + "px"; + novoel.style.left = i3GEO.parametros.w - 35 + "px"; + }, + /* + * Ativa o redimensionamento automatico do mapa sempre que o navegador for redimensionado + * + * e definido como um evento do elemento window + */ + ativaAutoResize : function() { + window.onresize = function() { + var Dw, Dh, r = false; + Dw = YAHOO.util.Dom.getViewportWidth(); + Dh = YAHOO.util.Dom.getViewportHeight(); + if (Math.abs(Dw - i3GEO.tamanhodoc[0]) > 50) { + r = true; + } + if (Math.abs(Dh - i3GEO.tamanhodoc[1]) > 50) { + r = true; + } + if (r === false) { + return; + } + i3GEO.tamanhodoc = [ + Dw, + Dh + ]; + setTimeout(function() { + i3GEO.reCalculaTamanho(); + i3GEO.barraDeBotoes.recria("i3geo_barra2"); + if (i3GEO.Interface.TABLET === true) { + i3GEO.guias.escondeGuias(); + return; + } + if (i3GEO.guias.TIPO === "movel") { + i3GEO.guias.guiaMovel.reposiciona(); + } else { + i3GEO.guias.ajustaAltura(); + } + i3GEO.mapa.reposicionaDobraPagina(); + }, 2000); + }; + }, + /* + * Ajusta o posicionamento do corpo do mapa + * + * Esse ajuste e necessario na inicializacao, uma vez que o mapa utiliza style.position='absolute' + * + * Parameters: + * + * elemento {String} - id do elemento HTML que devera ser ajustado e que contem o mapa + */ + ajustaPosicao : function(elemento) { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.ajustaPosicao()"); } - i3GEO.mapa.recupera.TENTATIVA = 0; - } - catch(e){ - if(i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps"){ - i3GEO.janela.fechaAguarde(); + if (arguments.length === 0) { return; } - if(this.recupera.TENTATIVA === 0){ - i3GEO.janela.tempoMsg("Erro no mapa. Sera feita uma tentativa de recuperacao."); - i3GEO.mapa.recupera.inicia(); + var imagemxi = 0, imagemyi = 0, dc = $i(elemento), c; + if (!dc) { + return; } - else{ - i3GEO.janela.tempoMsg("Recuperacao impossivel. Sera feita uma tentativa de reiniciar o mapa."); - if (this.recupera.TENTATIVA === 1){ - this.recupera.TENTATIVA = 2; - i3GEO.php.reiniciaMapa(i3GEO.atualiza); + try { + while ((dc.offsetParent) && (dc.offsetParent.id !== "i3geo")) { + dc = dc.offsetParent; + imagemxi += dc.offsetLeft; + imagemyi += dc.offsetTop; } + c = $i(i3GEO.Interface.IDCORPO); + if (c) { + c.style.position = "absolute"; + if (navm) { + $left(i3GEO.Interface.IDCORPO, imagemxi - 1); + } else { + $left(i3GEO.Interface.IDCORPO, imagemxi); + } + $top(i3GEO.Interface.IDCORPO, imagemyi); + } + } catch (e) { + i3GEO.janela.tempoMsg("Ocorreu um erro. i3GEO.mapa.ajustaPosicao " + e); } - if(typeof(console) !== 'undefined'){console.error("i3GEO.mapa.verifica "+e);} - } - }, - /* - Tenta recuperar o mapa caso ocorra algum problema - - O i3Geo mantem sempre uma copia do arquivo mapfile em uso. Essa funcao tenta - usar essa copia para restaurar o funcionamento do mapa - */ - recupera:{ - /* - Armazena a quantidade de tentativas de recuperacao que foram feitas - - Tipo: - {Integer} - */ - TENTATIVA: 0, + }, /* - Inicia a tentativa de recuperacao - */ - inicia: function(){ - i3GEO.mapa.ajustaPosicao(); - i3GEO.janela.fechaAguarde(); - if(this.recupera.TENTATIVA === 0){ - this.recupera.TENTATIVA++; - this.recupera.restaura(); + * Function: ativaTema + * + * Altera a variavel i3GEO.temaAtivo e atualiza a interface em funcao do novo tema que for ativado + * + * O tema anteriormente ativo tem sua cor alterada para a cor normal e o novo tema e destacado com uma cor diferente + * + * Executa tambem as funcoes armazenadas em i3GEO.eventos.ATIVATEMA + * + * Parametros: + * + * codigo {string} - codigo da camada + */ + ativaTema : function(codigo) { + if (codigo) { + if (codigo === "") { + return; + } + if (i3GEO.temaAtivo !== "") { + i3GEO.util.defineValor("ArvoreTituloTema" + i3GEO.temaAtivo, "style.color", ""); + } + i3GEO.temaAtivo = codigo; + i3GEO.util.defineValor("ArvoreTituloTema" + codigo, "style.color", "brown"); } }, /* - Restaura o mapa para a copia de seguranca existente no servidor - */ - restaura: function(){ - i3GEO.php.recuperamapa(i3GEO.atualiza); - } - }, - /* - Classe: i3GEO.mapa.legendaHTML - - Controla a obtencao da legenda do mapa formatada em HTML. - - util para mostrar a legenda na tela - */ - legendaHTML:{ - /* - Propriedade: incluiBotaoLibera - - Define se na legenda sera incluido o botao para liberar a legenda e inclui-la em uma janela flutuante - - Tipo: - {boolean} - - Default: - {true} - */ - incluiBotaoLibera: false, - /* - Armazena o id definido na criacao da legenda - */ - ID: "", - /* - * Armazena a lista de camadas que devem ficar escondidas na legenda + * Function: ativaLogo + * + * Ativa ou desativa a logo marca. */ - CAMADASSEMLEGENDA: [], - /* - Function: cria - - Cria a legenda HTML - - O elemento HTML definido em ID deve ter style=display:block - - A legenda e incluida no id definido. Se id for igual a "", sera apenas definido o evento de atualizacao, - permitindo que seja criada a janela flutuante, por exemplo: - - i3GEO.mapa.legendaHTML.cria(""); - i3GEO.mapa.legendaHTML.libera(); - - Parametros: - - id {String} - id do elemento que recebera a legenda - */ - cria: function(id){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.cria()");} - if(arguments.length === 0) - {id = "";} - i3GEO.mapa.legendaHTML.ID = id; - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0) - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()");} - i3GEO.mapa.legendaHTML.atualiza(); + ativaLogo : function() { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.ativaLogo()"); + } + if (i3GEO.Interface.ATUAL === "googlemaps") { + alert($trad("x21")); + return; + } + i3GEO.php.ativalogo(i3GEO.atualiza); + var cr = $i("i3GEOcopyright"); + if (cr) { + if (cr.style.display === "block") { + cr.style.display = "none"; + } else { + cr.style.display = "block"; + } + } }, /* - Function: atualiza - - Atualiza o elemento HTML do mapa utilizado para mostrar a legenda - */ - atualiza: function(){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.atualiza()");} - var idleg = $i("wlegenda_corpo"), - temp = function(retorno){ - var legenda = "",ins,re; - re = new RegExp("", "g"); - if (retorno.data !== "erro" && retorno.data !== undefined ){ - legenda = "
Mostra tudo

"+retorno.data.legenda; - } - if(legenda != "" && idleg){ - ins = ""; - if(i3GEO.mapa.legendaHTML.incluiBotaoLibera === true){ - ins += '

'+$trad("x11")+'

'; - } - legenda = legenda.replace(re,""); - ins += "
"+ legenda + "
"; - - idleg.innerHTML = legenda; - } - i3GEO.mapa.legendaHTML.escondeTemasMarcados(); - }; - if (idleg && idleg.style.display === "block"){ - //para o caso da legenda ja estar aberta - if(i3GEO.mapa.legendaHTML.ID !== ""){ - idleg = $i(i3GEO.mapa.legendaHTML.ID); - if(idleg){ - idleg.innerHTML = ""; - } - } - idleg = $i("wlegenda_corpo"); - i3GEO.mapa.legendaHTML.obtem(temp); + * Verifica se ocorreu algum problema na atualizacao do corpo do mapa e inicia o processo de tentativa de recuperacao + * + * Parametro: + * + * retorno {string} - objeto recebido da funcao PHP de atualizacao do mapa + */ + verifica : function(retorno) { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.verifica()"); } - else{ - if(idleg){ - idleg.innerHTML = ""; + try { + if (retorno.data) { + retorno = retorno.data; + } + if (retorno.variaveis) { + retorno = retorno.variaveis; + } + if ((retorno === "erro") || (typeof (retorno) === 'undefined')) { + i3GEO.mapa.ajustaPosicao(); + i3GEO.janela.fechaAguarde(); + i3GEO.mapa.recupera.inicia(); } - if(i3GEO.mapa.legendaHTML.ID !== ""){ - idleg = $i(i3GEO.mapa.legendaHTML.ID); - if(idleg && idleg.style.display === "block"){ - i3GEO.mapa.legendaHTML.obtem(temp); + i3GEO.mapa.recupera.TENTATIVA = 0; + } catch (e) { + if (i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps") { + i3GEO.janela.fechaAguarde(); + return; + } + if (this.recupera.TENTATIVA === 0) { + i3GEO.janela.tempoMsg("Erro no mapa. Sera feita uma tentativa de recuperacao."); + i3GEO.mapa.recupera.inicia(); + } else { + i3GEO.janela.tempoMsg("Recuperacao impossivel. Sera feita uma tentativa de reiniciar o mapa."); + if (this.recupera.TENTATIVA === 1) { + this.recupera.TENTATIVA = 2; + i3GEO.php.reiniciaMapa(i3GEO.atualiza); } } + if (typeof (console) !== 'undefined') { + console.error("i3GEO.mapa.verifica " + e); + } } }, /* - Faz a chamada em AJAX que gera a legenda - - O resultado e processado pela funcao passada como parametro - - Parametro: - - funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro. - */ - obtem: function(funcao){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.obtem()");} - i3GEO.php.criaLegendaHTML(funcao,"",i3GEO.configura.templateLegenda); - }, - /* - Liga ou desliga um unico tema. Utilizado pela legenda HTML, permitindo que um tema seja processado diretamente na legenda. - - Parametro: - - inputbox {object) - objeto do tipo input checkbox com a propriedade value indicando o codigo do tema que sera processado - */ - ativaDesativaTema: function(inputbox){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.ativaDesativaTema()");} - var temp = function(){ - //i3GEO.contadorAtualiza++; - i3GEO.php.corpo(i3GEO.atualiza,i3GEO.configura.tipoimagem); - i3GEO.arvoreDeCamadas.atualiza(""); - i3GEO.janela.fechaAguarde("redesenha"); - }; - if(!inputbox.checked) - {i3GEO.php.ligatemas(temp,inputbox.value,"");} - else - {i3GEO.php.ligatemas(temp,"",inputbox.value);} - }, - escondeTema: function(tema){ - var d = $i("legendaLayer_"+tema); - if(d){ - d.style.display = "none"; - i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA.push(tema); - } - }, - escondeTemasMarcados: function(){ - var temas = i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA, - n = temas.length, - i,temp; - for(i=0;i", "g"); + if (retorno.data !== "erro" && retorno.data !== undefined) { + legenda = + "
Mostra tudo

" + + retorno.data.legenda; + } + if (legenda != "" && idleg) { + ins = ""; + if (i3GEO.mapa.legendaHTML.incluiBotaoLibera === true) { + ins += + '

' + + $trad("x11") + '

'; + } + legenda = legenda.replace(re, ""); + ins += "
" + legenda + "
"; - ck - sim|nao - (opcional) inclui ou nao o checkbox que permitem desligar a camada - */ - libera: function(ck,largura,altura,topo,esquerda){ - if(!ck){ - ck = "nao"; - } - if(!largura){ - largura = 302; - } - if(!altura){ - altura = 300; - } - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.libera()");} - var cabecalho,minimiza,janela; - if (!$i("wlegenda")){ - cabecalho = function(){ - }; - minimiza = function(){ - i3GEO.janela.minimiza("wlegenda"); + idleg.innerHTML = legenda; + } + i3GEO.mapa.legendaHTML.escondeTemasMarcados(); + }; + if (idleg && idleg.style.display === "block") { + // para o caso da legenda ja estar aberta + if (i3GEO.mapa.legendaHTML.ID !== "") { + idleg = $i(i3GEO.mapa.legendaHTML.ID); + if (idleg) { + idleg.innerHTML = ""; + } + } + idleg = $i("wlegenda_corpo"); + i3GEO.mapa.legendaHTML.obtem(temp); + } else { + if (idleg) { + idleg.innerHTML = ""; + } + if (i3GEO.mapa.legendaHTML.ID !== "") { + idleg = $i(i3GEO.mapa.legendaHTML.ID); + if (idleg && idleg.style.display === "block") { + i3GEO.mapa.legendaHTML.obtem(temp); + } + } + } + }, + /* + * Faz a chamada em AJAX que gera a legenda + * + * O resultado e processado pela funcao passada como parametro + * + * Parametro: + * + * funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro. + */ + obtem : function(funcao) { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.legendaHTML.obtem()"); + } + i3GEO.php.criaLegendaHTML(funcao, "", i3GEO.configura.templateLegenda); + }, + /* + * Liga ou desliga um unico tema. Utilizado pela legenda HTML, permitindo que um tema seja processado diretamente na legenda. + * + * Parametro: + * + * inputbox {object) - objeto do tipo input checkbox com a propriedade value indicando o codigo do tema que sera processado + */ + ativaDesativaTema : function(inputbox) { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.legendaHTML.ativaDesativaTema()"); + } + var temp = function() { + // i3GEO.contadorAtualiza++; + i3GEO.php.corpo(i3GEO.atualiza, i3GEO.configura.tipoimagem); + i3GEO.arvoreDeCamadas.atualiza(""); + i3GEO.janela.fechaAguarde("redesenha"); }; - janela = i3GEO.janela.cria( - largura+"px", - altura+"px", - "", - "", - "", - $trad("p3"), - "wlegenda", - false, - "hd", - cabecalho, - minimiza - ); - } - else{ - janela = YAHOO.i3GEO.janela.manager.find("wlegenda"); - janela.show(); - } - $i("wlegenda_corpo").style.backgroundColor = "white"; + if (!inputbox.checked) { + i3GEO.php.ligatemas(temp, inputbox.value, ""); + } else { + i3GEO.php.ligatemas(temp, "", inputbox.value); + } + }, + escondeTema : function(tema) { + var d = $i("legendaLayer_" + tema); + if (d) { + d.style.display = "none"; + i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA.push(tema); + } + }, + escondeTemasMarcados : function() { + var temas = i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA, n = temas.length, i, temp; + for (i = 0; i < n; i++) { + temp = $i(temas[i]); + if (temp) { + temp.style.display = "none"; + } + } + }, + mostraTodosOsTemas : function() { + i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA = []; + i3GEO.mapa.legendaHTML.atualiza(); + }, + /* + * Function: libera + * + * Libera a legenda criando uma janela flutuante sobre o mapa + * + * Parametros: + * + * ck - sim|nao - (opcional) inclui ou nao o checkbox que permitem desligar a camada + */ + libera : function(ck, largura, altura, topo, esquerda) { + if (!ck) { + ck = "nao"; + } + if (!largura) { + largura = 302; + } + if (!altura) { + altura = 300; + } + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.legendaHTML.libera()"); + } + var cabecalho, minimiza, janela; + if (!$i("wlegenda")) { + cabecalho = function() { + }; + minimiza = function() { + i3GEO.janela.minimiza("wlegenda"); + }; + janela = + i3GEO.janela.cria( + largura + "px", + altura + "px", + "", + "", + "", + $trad("p3"), + "wlegenda", + false, + "hd", + cabecalho, + minimiza); + } else { + janela = YAHOO.i3GEO.janela.manager.find("wlegenda"); + janela.show(); + } + $i("wlegenda_corpo").style.backgroundColor = "white"; - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0) - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()");} - i3GEO.mapa.legendaHTML.atualiza(); - if(topo && esquerda){ - janela = YAHOO.i3GEO.janela.manager.find("wlegenda"); - janela.moveTo(esquerda,topo); + if (i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0) { + i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()"); + } + i3GEO.mapa.legendaHTML.atualiza(); + if (topo && esquerda) { + janela = YAHOO.i3GEO.janela.manager.find("wlegenda"); + janela.moveTo(esquerda, topo); + } } - } - }, - /* - Controla a obtencao da legenda do mapa na forma de uma imagem - - e utilizado principalmente para armazenar as imagens para a funcao de - obtencao do historico do mapa - */ - legendaIMAGEM:{ - /* - Faz a chamada em AJAX que gera a legenda - - O resultado e processado pela funcao passada como parametro - - Parametro: - - funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro. - */ - obtem: function(funcao){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaIMAGEML.obtem()");} - i3GEO.php.criaLegendaImagem(funcao); - } - }, - /* - Classe: i3GEO.mapa.dialogo - - Abre as telas de dialogo das opcoes de manipulacao do mapa atual - */ - dialogo:{ - /* - Function: geolocal - - Abre a janela de dialogo da ferramenta de geolocalizacao do usuario - */ - geolocal: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.geolocal()","geolocal","geolocal"); }, /* - Function: listaDeMapasBanco - - Lista os mapas cadastrados no sistema de administracao do i3geo - */ - listaDeMapasBanco: function(){ - if(i3GEO.guias.CONFIGURA["mapas"]){ - var janela,divid; - janela = i3GEO.janela.cria( - "200px", - "450px", - "", - "", - "", - "", - "i3GEOFsalvaMapaLista", - false, - "hd" - ); - divid = janela[2].id; - //a funcao que mostra a lista de mapas e a mesma que pode ser utilizada ao incluir a lista de mapas - //como uma guia - i3GEO.guias.CONFIGURA["mapas"].click.call(this,divid); - } - else{ - window.open(i3GEO.configura.locaplic+"/admin/rssmapas.php","_blank"); + * Controla a obtencao da legenda do mapa na forma de uma imagem + * + * e utilizado principalmente para armazenar as imagens para a funcao de obtencao do historico do mapa + */ + legendaIMAGEM : { + /* + * Faz a chamada em AJAX que gera a legenda + * + * O resultado e processado pela funcao passada como parametro + * + * Parametro: + * + * funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro. + */ + obtem : function(funcao) { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.legendaIMAGEML.obtem()"); + } + i3GEO.php.criaLegendaImagem(funcao); } }, /* - Function: congelaMapa - - Congela a visão atual do mapa mostrando-o em uma janela flutuante - */ - congelaMapa: function(){ - var url="", - idjanela = YAHOO.util.Dom.generateId(), - cabecalho = function(){ - }, - minimiza = function(){ + * Classe: i3GEO.mapa.dialogo + * + * Abre as telas de dialogo das opcoes de manipulacao do mapa atual + */ + dialogo : { + /* + * Function: geolocal + * + * Abre a janela de dialogo da ferramenta de geolocalizacao do usuario + */ + geolocal : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.geolocal()", "geolocal", "geolocal"); + }, + /* + * Function: listaDeMapasBanco + * + * Lista os mapas cadastrados no sistema de administracao do i3geo + */ + listaDeMapasBanco : function() { + if (i3GEO.guias.CONFIGURA["mapas"]) { + var janela, divid; + janela = i3GEO.janela.cria("200px", "450px", "", "", "", "", "i3GEOFsalvaMapaLista", false, "hd"); + divid = janela[2].id; + // a funcao que mostra a lista de mapas e a mesma que pode ser utilizada ao incluir a lista de mapas + // como uma guia + i3GEO.guias.CONFIGURA["mapas"].click.call(this, divid); + } else { + window.open(i3GEO.configura.locaplic + "/admin/rssmapas.php", "_blank"); + } + }, + /* + * Function: congelaMapa + * + * Congela a visão atual do mapa mostrando-o em uma janela flutuante + */ + congelaMapa : function() { + var url = "", idjanela = YAHOO.util.Dom.generateId(), cabecalho = function() { + }, minimiza = function() { i3GEO.janela.minimiza(idjanela); }; - if(i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps"){ - url = i3GEO.configura.locaplic+"/ferramentas/congelamapa/openlayers.php?g_sid="+i3GEO.configura.sid+"&ext="+i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); + if (i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps") { + url = + i3GEO.configura.locaplic + "/ferramentas/congelamapa/openlayers.php?g_sid=" + i3GEO.configura.sid + "&ext=" + + i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); + i3GEO.janela.cria("500px", "350px", url, "", "", $trad("x64"), idjanela, false, "hd", cabecalho, minimiza); + } + }, + /* + * Function: metaestat + * + * Abre a janela de dialogo da ferramenta de cartogramas estatisticos METAESTAT + */ + metaestat : function() { + var temp = function() { + i3GEOF.metaestat.MULTIPARAMETROS = true; + i3GEOF.metaestat.inicia(); + }; + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.metaestat()", "metaestat", "metaestat", "index.js", temp); + }, + /* + * Function: metaestatListaMapas + * + * Lista os mapas publicados no METAESTAT + */ + metaestatListaMapas : function() { + i3GEO.util.dialogoFerramenta( + "i3GEO.mapa.dialogo.metaestatListaMapas()", + "metaestat", + "listamapas", + "listamapas.js", + "i3GEOF.listamapas.iniciaJanelaFlutuante()"); + }, + /* + * Function: preferencias + * + * Preferencias do usuario + */ + preferencias : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.preferencias()", "preferencias", "preferencias"); + }, + /* + * Function: locregiao + * + * Abre a janela de dialogo da ferramenta de busca de regiao cadastrada no METAESTAT + */ + locregiao : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.locregiao()", "metaestat", "locregiao", "locregiao.js"); + }, + /* + * Function: filtraregiao + * + * Abre a janela de dialogo da ferramenta de busca de regioes cadastradas no METAESTAT com opcao de filtrar a regiao escolhida + */ + filtraregiao : function() { + i3GEO.util.dialogoFerramenta( + "i3GEO.mapa.dialogo.filtraregiao()", + "metaestat", + "locregiao", + "locregiao.js", + "i3GEOF.locregiao.abreComFiltro()"); + }, + /* + * Function: animacao + * + * Abre a janela de dialogo da ferramenta que permite animar o mapa atual + */ + animacao : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.animacao()", "animacao", "animacao"); + }, + /* + * Function: opacidade + * + * Abre a janela de dialogo da ferramenta de definicao da transparencia das camadas principais do mapa + */ + opacidade : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opacidade()", "opacidademapa", "opacidademapa"); + }, + /* + * Function: telaRemota + * + * Abre a janela de dialogo da ferramenta de configuracao de uma tela remota + */ + telaRemota : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.telaremota()", "telaremota", "telaremota"); + }, + /* + * Function: t3d + * + * Abre a janela de dialogo da ferramenta de geracao da visualizacao em 3d + */ + t3d : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.t3d()", "3d", "t3d"); + }, + /* + * Function: imprimir + * + * Abre a janela de dialogo da ferramenta que permite imprimir o mapa atual + */ + imprimir : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.imprimir()", "imprimir", "imprimir"); + }, + /* + * Function: mostraExten + * + * Abre a janela de dialogo da ferramenta que mostra a extensao geografica atual do mapa + */ + mostraExten : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.mostraExten()", "mostraexten", "mostraExten"); + }, + /* + * Function: outputformat + * + * Abre a janela de dialogo da ferramenta outputformat + */ + outputformat : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.outputformat()", "outputformat", "outputformat"); + }, + /* + * Function: autoredesenha + * + * Abre a janela de dialogo da ferramenta opcoes_autoredesenha + */ + autoredesenha : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.autoredesenha()", "opcoes_autoredesenha", "opcoesTempo"); + }, + /* + * Function: salvaMapa + * + * Abre a janela de dialogo da ferramenta salvamapa + */ + salvaMapa : function() { + if (i3GEO.parametros === "") { + i3GEO.janela + .tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto."); + return; + } + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.salvaMapa()", "salvamapa", "salvaMapa"); + }, + /* + * Function: carregaMapa + * + * Abre a janela de dialogo da ferramenta carregamapa + */ + carregaMapa : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.carregaMapa()", "carregamapa", "carregaMapa"); + }, + /* + * Function: convertews + * + * Abre a janela de dialogo da ferramenta convertews + */ + convertews : function() { + if (i3GEO.parametros.mapfile === "") { + i3GEO.janela + .tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto."); + return; + } + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertews()", "convertews", "converteMapaWS"); + }, + /* + * Function: convertekml + * + * Abre a janela de dialogo da ferramenta convertemapakml + */ + convertekml : function() { + if (i3GEO.parametros.mapfile === "") { + alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto."); + return; + } + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertekml()", "convertemapakml", "converteMapaKml"); + }, + /* + * Function: queryMap + * + * Abre a janela de dialogo da ferramenta opcoes_querymap + */ + queryMap : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.queryMap()", "opcoes_querymap", "opcoesQuery"); + }, + /* + * Function: template + * + * Abre a janela de dialogo da ferramenta template + */ + template : function() { i3GEO.janela.cria( - "500px", - "350px", - url, + "300px", + "400px", + i3GEO.configura.locaplic + "/ferramentas/template/index.htm", "", "", - $trad("x64"), - idjanela, - false, - "hd", - cabecalho, - minimiza - ); - } - }, - /* - Function: metaestat - - Abre a janela de dialogo da ferramenta de cartogramas estatisticos METAESTAT - */ - metaestat: function(){ - var temp = function(){ - i3GEOF.metaestat.MULTIPARAMETROS = true; - i3GEOF.metaestat.inicia(); - }; - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.metaestat()","metaestat","metaestat","index.js",temp); - }, - /* - Function: metaestatListaMapas - - Lista os mapas publicados no METAESTAT - */ - metaestatListaMapas: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.metaestatListaMapas()","metaestat","listamapas","listamapas.js","i3GEOF.listamapas.iniciaJanelaFlutuante()"); - }, - /* - Function: preferencias - - Preferencias do usuario - */ - preferencias: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.preferencias()","preferencias","preferencias"); - }, - /* - Function: locregiao - - Abre a janela de dialogo da ferramenta de busca de regiao cadastrada no METAESTAT - */ - locregiao: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.locregiao()","metaestat","locregiao","locregiao.js"); - }, - /* - Function: filtraregiao - - Abre a janela de dialogo da ferramenta de busca de regioes cadastradas no METAESTAT com opcao de filtrar a regiao escolhida - */ - filtraregiao: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.filtraregiao()","metaestat","locregiao","locregiao.js","i3GEOF.locregiao.abreComFiltro()"); - }, - /* - Function: animacao - - Abre a janela de dialogo da ferramenta que permite animar o mapa atual - */ - animacao: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.animacao()","animacao","animacao"); - }, - /* - Function: opacidade - - Abre a janela de dialogo da ferramenta de definicao da transparencia das camadas principais do mapa - */ - opacidade: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opacidade()","opacidademapa","opacidademapa"); - }, - /* - Function: telaRemota - - Abre a janela de dialogo da ferramenta de configuracao de uma tela remota - */ - telaRemota: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.telaremota()","telaremota","telaremota"); - }, - /* - Function: t3d - - Abre a janela de dialogo da ferramenta de geracao da visualizacao em 3d - */ - t3d: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.t3d()","3d","t3d"); - }, - /* - Function: imprimir - - Abre a janela de dialogo da ferramenta que permite imprimir o mapa atual - */ - imprimir: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.imprimir()","imprimir","imprimir"); - }, - /* - Function: mostraExten - - Abre a janela de dialogo da ferramenta que mostra a extensao geografica atual do mapa - */ - mostraExten: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.mostraExten()","mostraexten","mostraExten"); - }, - /* - Function: outputformat - - Abre a janela de dialogo da ferramenta outputformat - */ - outputformat: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.outputformat()","outputformat","outputformat"); - }, - /* - Function: autoredesenha - - Abre a janela de dialogo da ferramenta opcoes_autoredesenha - */ - autoredesenha: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.autoredesenha()","opcoes_autoredesenha","opcoesTempo"); - }, - /* - Function: salvaMapa - - Abre a janela de dialogo da ferramenta salvamapa - */ - salvaMapa: function(){ - if(i3GEO.parametros === "") - {i3GEO.janela.tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;} - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.salvaMapa()","salvamapa","salvaMapa"); - }, - /* - Function: carregaMapa - - Abre a janela de dialogo da ferramenta carregamapa - */ - carregaMapa: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.carregaMapa()","carregamapa","carregaMapa"); - }, - /* - Function: convertews - - Abre a janela de dialogo da ferramenta convertews - */ - convertews: function(){ - if(i3GEO.parametros.mapfile === "") - {i3GEO.janela.tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;} - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertews()","convertews","converteMapaWS"); - }, - /* - Function: convertekml - - Abre a janela de dialogo da ferramenta convertemapakml - */ - convertekml: function(){ - if(i3GEO.parametros.mapfile === "") - {alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;} - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertekml()","convertemapakml","converteMapaKml"); - }, - /* - Function: queryMap - - Abre a janela de dialogo da ferramenta opcoes_querymap - */ - queryMap: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.queryMap()","opcoes_querymap","opcoesQuery"); - }, - /* - Function: template - - Abre a janela de dialogo da ferramenta template - */ - template: function() - {i3GEO.janela.cria("300px","400px",i3GEO.configura.locaplic+"/ferramentas/template/index.htm","","","Template    ");}, - /* - Function: tamanho - - Abre a janela de dialogo da ferramenta opcoes_tamanho - */ - tamanho: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tamanho()","opcoes_tamanho","opcoesTamanho"); - }, - /* - Function: tipoimagem - - Abre a janela de dialogo da ferramenta tipoimagem - */ - tipoimagem: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tipoimagem()","tipoimagem","tipoimagem"); - }, - /* - Function: corFundo - - Abre a janela de dialogo da ferramenta opcoes_fundo - */ - corFundo: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.corFundo()","opcoes_fundo","opcoesFundo"); - }, - /* - Function: opcoesEscala - - Abre a janela de dialogo da ferramenta opcoes_escala - */ - opcoesEscala: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesEscala()","opcoes_escala","opcoesEscala"); - }, - /* - Function: opcoesLegenda - - Abre a janela de dialogo da ferramenta opcoes_legenda - */ - opcoesLegenda: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesLegenda()","opcoes_legenda","opcoesLegenda"); - }, - /* - Function: gradeCoord - - Abre a janela de dialogo da ferramenta gradecoord - */ - gradeCoord: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.gradeCoord()","gradecoord","gradeCoord"); - }, - /* - Function: cliqueTexto - - Abre a janela de dialogo da ferramenta inseretxt - */ - cliqueTexto: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueTexto()","inseretxt","inseretxt"); - }, - /* - Function: selecao - - Abre a janela de dialogo da ferramenta selecao - */ - selecao: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.selecao()","selecao","selecao"); - }, - /* - Function: cliquePonto - - Abre a janela de dialogo da ferramenta inserexy2 - */ - cliquePonto: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliquePonto()","inserexy2","inserexy"); - }, - /* - Function: cliqueGrafico - - Abre a janela de dialogo da ferramenta inseregrafico - */ - cliqueGrafico: function(){ - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueGrafico()","inseregrafico","insereGrafico"); - }, - /* - Function: cliqueIdentificaDefault - - Abre a janela de dialogo da ferramenta identifica - - Parameters: - - x,y - opcional - - */ - cliqueIdentificaDefault: function(x,y){ - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.dialogo.cliqueIdentificaDefault()");} - //@FIXIT nada elegante - //evita clicar sobre a barra do googlemaps - if(objposicaocursor.imgx < 70){ - return; - } - //evita ativar a ferramenta se o botao nao estiver ativo - //e estiver no modo de clique permanente - if(i3GEO.barraDeBotoes.BOTAOCLICADO !== "identifica" && i3GEO.eventos.cliquePerm.ativo === false){ - return; - } - i3GEO.eventos.MOUSEPARADO.remove("verificaTip()"); - //na interface googleearth verifica se existe mais eventos no mouseclick - if(i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1){ - return; - } - //javascript nao foi carregado - if(typeof(i3GEOF.identifica) === 'undefined'){ - //javascript que sera carregado - var js = i3GEO.configura.locaplic+"/ferramentas/identifica/index.js", - temp = function(){ - if(x){ - i3GEOF.identifica.criaJanelaFlutuante(x,y); - } - else{ - i3GEOF.identifica.criaJanelaFlutuante(objposicaocursor.ddx,objposicaocursor.ddy); + "Template    "); + }, + /* + * Function: tamanho + * + * Abre a janela de dialogo da ferramenta opcoes_tamanho + */ + tamanho : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tamanho()", "opcoes_tamanho", "opcoesTamanho"); + }, + /* + * Function: tipoimagem + * + * Abre a janela de dialogo da ferramenta tipoimagem + */ + tipoimagem : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tipoimagem()", "tipoimagem", "tipoimagem"); + }, + /* + * Function: corFundo + * + * Abre a janela de dialogo da ferramenta opcoes_fundo + */ + corFundo : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.corFundo()", "opcoes_fundo", "opcoesFundo"); + }, + /* + * Function: opcoesEscala + * + * Abre a janela de dialogo da ferramenta opcoes_escala + */ + opcoesEscala : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesEscala()", "opcoes_escala", "opcoesEscala"); + }, + /* + * Function: opcoesLegenda + * + * Abre a janela de dialogo da ferramenta opcoes_legenda + */ + opcoesLegenda : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesLegenda()", "opcoes_legenda", "opcoesLegenda"); + }, + /* + * Function: gradeCoord + * + * Abre a janela de dialogo da ferramenta gradecoord + */ + gradeCoord : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.gradeCoord()", "gradecoord", "gradeCoord"); + }, + /* + * Function: cliqueTexto + * + * Abre a janela de dialogo da ferramenta inseretxt + */ + cliqueTexto : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueTexto()", "inseretxt", "inseretxt"); + }, + /* + * Function: selecao + * + * Abre a janela de dialogo da ferramenta selecao + */ + selecao : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.selecao()", "selecao", "selecao"); + }, + /* + * Function: cliquePonto + * + * Abre a janela de dialogo da ferramenta inserexy2 + */ + cliquePonto : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliquePonto()", "inserexy2", "inserexy"); + }, + /* + * Function: cliqueGrafico + * + * Abre a janela de dialogo da ferramenta inseregrafico + */ + cliqueGrafico : function() { + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueGrafico()", "inseregrafico", "insereGrafico"); + }, + /* + * Function: cliqueIdentificaDefault + * + * Abre a janela de dialogo da ferramenta identifica + * + * Parameters: + * + * x,y - opcional + * + */ + cliqueIdentificaDefault : function(x, y) { + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.dialogo.cliqueIdentificaDefault()"); + } + // @FIXIT nada elegante + // evita clicar sobre a barra do googlemaps + if (objposicaocursor.imgx < 70) { + return; + } + // evita ativar a ferramenta se o botao nao estiver ativo + // e estiver no modo de clique permanente + if (i3GEO.barraDeBotoes.BOTAOCLICADO !== "identifica" && i3GEO.eventos.cliquePerm.ativo === false) { + return; + } + i3GEO.eventos.MOUSEPARADO.remove("verificaTip()"); + // na interface googleearth verifica se existe mais eventos no mouseclick + if (i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1) { + return; + } + // javascript nao foi carregado + if (typeof (i3GEOF.identifica) === 'undefined') { + // javascript que sera carregado + var js = i3GEO.configura.locaplic + "/ferramentas/identifica/index.js", temp = function() { + if (x) { + i3GEOF.identifica.criaJanelaFlutuante(x, y); + } else { + i3GEOF.identifica.criaJanelaFlutuante(objposicaocursor.ddx, objposicaocursor.ddy); } }; - //carrega o script - i3GEO.util.scriptTag(js,temp,"i3GEOF.identifica_script"); - } - else{ - if(x){ - i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo,x,y); + // carrega o script + i3GEO.util.scriptTag(js, temp, "i3GEOF.identifica_script"); + } else { + if (x) { + i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo, x, y); + } else { + i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo, objposicaocursor.ddx, objposicaocursor.ddy); + } + return; } - else{ - i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo,objposicaocursor.ddx,objposicaocursor.ddy); + }, + /* + * Mostra etiquetas no mapa com informacoes sobre os temas com etiquetas ativas + * + * Essa e a funcao padrao definida em i3GEO.configura + */ + verificaTipDefault : function(e) { + // evita clicar sobre a barra do googlemaps + // @FIXIT nada elegante + // console.warn(objposicaocursor.imgx) + if (objposicaocursor.imgx < 70) { + return; } - return; - } - }, - /* - Mostra etiquetas no mapa com informacoes sobre os temas com etiquetas ativas + if (typeof (console) !== 'undefined') { + console.info("i3GEO.mapa.dialogo.verificaTipDefault()"); + } + if (i3GEO.barraDeBotoes.BOTAOCLICADO !== "identificaBalao" && i3GEO.eventos.cliquePerm.ativo === false) { + return; + } + // na interface googleearth verifica se existe mais eventos no mouseclick + if (i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1) { + return; + } + var ntemas, etiquetas, j, retorna, targ = ""; - Essa e a funcao padrao definida em i3GEO.configura - */ - verificaTipDefault: function(e){ - //evita clicar sobre a barra do googlemaps - //@FIXIT nada elegante - //console.warn(objposicaocursor.imgx) - if(objposicaocursor.imgx < 70){ - return; - } - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.dialogo.verificaTipDefault()");} - if(i3GEO.barraDeBotoes.BOTAOCLICADO !== "identificaBalao" && i3GEO.eventos.cliquePerm.ativo === false){ - return; - } - //na interface googleearth verifica se existe mais eventos no mouseclick - if(i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1){ - return; - } - var ntemas,etiquetas,j,retorna,targ = ""; + if (!e) { + e = window.event; + } + try { + if (e.target) { + targ = e.target; + } else { + if (e.srcElement) { + targ = e.srcElement; + } + } + if (targ.parentNode) { + container = targ.parentNode.id; + // alert(container); + } - if (!e){ - e = window.event; - } - try{ - if (e.target){ - targ = e.target; + } catch (erro) { + targ = null; } - else{ - if (e.srcElement){ - targ = e.srcElement; + + ntemas = i3GEO.arvoreDeCamadas.CAMADAS.length; + etiquetas = false; + for (j = 0; j < ntemas; j += 1) { + if (i3GEO.arvoreDeCamadas.CAMADAS[j].etiquetas !== "") { + etiquetas = true; } } - if(targ.parentNode){ - container = targ.parentNode.id; - //alert(container); + if (etiquetas === false) { + return; } - - } - catch(erro){ targ = null;} - - ntemas = i3GEO.arvoreDeCamadas.CAMADAS.length; - etiquetas = false; - for(j=0;j
";} - else - {titulo = "";} - tips = (temas[j].resultado.tips).split(","); - ntips = tips.length; - ins = ""; - ds = temas[j].resultado.dados; - if(ds !== " " && ds[0] && ds[0] != " "){ - try{ - nds = ds.length; - classeCor = "toolTipBalaoTexto"; - for(s=0;s"; - for(r=0;r
";} - if(valor !== "" && link !== "") - {ins += "" + alias + " : " + valor + "
";} - if(img !== "") - {ins += img+"
";} - mostra = true; - } - else{ - ins += "" + valor + "
"; - mostra = true; + if (i3GEO.Interface.ATUAL === "googleearth") { + i3GEO.Interface.googleearth.aguarde.visibility = "visible"; + } + retorna = + function(retorno) { + var classeCor, pos, temp, n, i, mostra, res, temas, ntemas, titulo, tips, j, ntips, ins, r, ds, nds, s, balloon, configura = + i3GEO.configura, tipotip = configura.tipotip; + i = $i("i3geo_rosa"); + if (i) { + i.style.display = "none"; + } + mostra = false; + // try{ + retorno = retorno.data; + if (retorno !== "") { + res = ""; + temas = retorno; + if (!temas) { + return; + } + ntemas = temas.length; + for (j = 0; j < ntemas; j += 1) { + titulo = temas[j].nome; + if (tipotip === "completo" || tipotip === "balao") { + titulo = "" + titulo + "
"; + } else { + titulo = ""; + } + tips = (temas[j].resultado.tips).split(","); + ntips = tips.length; + ins = ""; + ds = temas[j].resultado.dados; + if (ds !== " " && ds[0] && ds[0] != " ") { + try { + nds = ds.length; + classeCor = "toolTipBalaoTexto"; + for (s = 0; s < nds; s += 1) { + ins += "
"; + for (r = 0; r < ntips; r += 1) { + try { + eval("var alias = ds[s]." + tips[r] + ".alias"); + eval("var valor = ds[s]." + tips[r] + ".valor"); + eval("var link = ds[s]." + tips[r] + ".link"); + eval("var img = ds[s]." + tips[r] + ".img"); + if (tipotip === "completo" || tipotip === "balao") { + if (valor !== "" && link === "") { + ins += "" + alias + " :" + valor + "
"; + } + if (valor !== "" && link !== "") { + ins += + "" + alias + + " : " + valor + "
"; + } + if (img !== "") { + ins += img + "
"; + } + mostra = true; + } else { + ins += "" + valor + "
"; + mostra = true; + } + } catch (e) { } } - catch(e){} - } - if(classeCor === "toolTipBalaoTexto"){ - classeCor = "toolTipBalaoTexto1"; + if (classeCor === "toolTipBalaoTexto") { + classeCor = "toolTipBalaoTexto1"; + } else { + classeCor = "toolTipBalaoTexto"; + } + ins += "
"; } - else{ - classeCor = "toolTipBalaoTexto"; + + } catch (e) { + if (typeof (console) !== 'undefined') { + console.error(e); } - ins += ""; } - - } - catch(e){ - if(typeof(console) !== 'undefined'){console.error(e);} + if (ins !== "") { + res += titulo + ins; } } - if(ins !== "") - {res += titulo + ins;} - } - if(!mostra){ - if($i("tip")) - {$i("tip").style.display="none";} - } - else{ - if(tipotip !== "balao"){ - n = i3GEO.janela.tip(); - $i(n).style.textAlign="left"; - $i(n).innerHTML += res; - } - else{ - if(i3GEO.Interface.ATUAL === "googleearth"){ - i3GEO.Interface.googleearth.balao(res,objposicaocursor.ddx,objposicaocursor.ddy); - i3GEO.Interface.googleearth.aguarde.visibility = "hidden"; + if (!mostra) { + if ($i("tip")) { + $i("tip").style.display = "none"; } - else{ - i3GEO.util.criaPin('marcaIdentifica',configura.locaplic+"/imagens/grabber.gif","12px","12px"); - i3GEO.janela.TIPS.push('marcaIdentifica'); - pos = i3GEO.util.posicionaImagemNoMapa("marcaIdentifica"); - balloon = new Balloon(); - BalloonConfig(balloon,'GBox'); - balloon.delayTime = 0; - res = "
"+res+"
"; - temp = $i('marcaIdentifica'); - if(temp){ - balloon.showTooltip(temp,res,null,null,null,pos[1],pos[0]); - balloon.addCloseButton(); - temp.onclick = function(e){ - if (!e){e = window.event;} - document.body.removeChild(balloon.getEventTarget(e)); - balloon.hideTooltip(); - }; + } else { + if (tipotip !== "balao") { + n = i3GEO.janela.tip(); + $i(n).style.textAlign = "left"; + $i(n).innerHTML += res; + } else { + if (i3GEO.Interface.ATUAL === "googleearth") { + i3GEO.Interface.googleearth.balao(res, objposicaocursor.ddx, objposicaocursor.ddy); + i3GEO.Interface.googleearth.aguarde.visibility = "hidden"; + } else { + i3GEO.util.criaPin('marcaIdentifica', configura.locaplic + "/imagens/grabber.gif", "12px", "12px"); + i3GEO.janela.TIPS.push('marcaIdentifica'); + pos = i3GEO.util.posicionaImagemNoMapa("marcaIdentifica"); + balloon = new Balloon(); + BalloonConfig(balloon, 'GBox'); + balloon.delayTime = 0; + res = + "
" + res + "
"; + temp = $i('marcaIdentifica'); + if (temp) { + balloon.showTooltip(temp, res, null, null, null, pos[1], pos[0]); + balloon.addCloseButton(); + temp.onclick = function(e) { + if (!e) { + e = window.event; + } + document.body.removeChild(balloon.getEventTarget(e)); + balloon.hideTooltip(); + }; + } } } } } + if ($i(i3GEO.Interface.IDMAPA)) { + $i(i3GEO.Interface.IDMAPA).title = ""; + temp = "identifica"; + if (i3GEO.Interface.ATIVAMENUCONTEXTO) { + temp = "identifica_contexto"; + } + i3GEO.util.mudaCursor(configura.cursores, temp, i3GEO.Interface.IDMAPA, configura.locaplic); + } + }; + xy = i3GEO.navega.centroDoMapa(); + i3GEO.php.identifica3( + retorna, + objposicaocursor.ddx, + objposicaocursor.ddy, + "5", + "tip", + i3GEO.configura.locaplic, + i3GEO.configura.sid, + "ligados", + i3GEO.parametros.mapexten); + } + }, + /* + * Function: compactaLayerGrafico + * + * Retorna uma string no formato base64 + JSON contendo as geometrias existentes no layer grafico do mapa Essas geometrias podem ser + * criadas com o editor vetorial + */ + compactaLayerGrafico : function() { + var geos = false, geometrias = [], n = 0, i, g; + if (i3GEO.editorOL && i3GEO.desenho.layergrafico && i3GEO.desenho.layergrafico.features) { + geos = i3GEO.desenho.layergrafico.features; + n = geos.length; + for (i = 0; i < n; i++) { + g = { + "atributos" : geos[i].attributes, + "geometria" : geos[i].geometry.toString() + }; + geometrias.push(g); + } + } + g = YAHOO.lang.JSON.stringify(geometrias); + return i3GEO.util.base64encode(g); + }, + /* + * Function: desCompactaLayerGrafico + * + * Descompacta um layer grafico criado com compactaLayerGrafico + */ + desCompactaLayerGrafico : function(geometrias) { + geometrias = YAHOO.lang.JSON.parse(geometrias); + // carrega o script do editor vetorial + if (geometrias.length > 0) { + var inicia = function() { + i3GEO.barraDeBotoes.editor.ativaPainel(); + var n = geometrias.length, i; + for (i = 0; i < n; i++) { + i3GEO.editorOL.adicionaFeatureWkt(geometrias[i].geometria, geometrias[i].atributos); } - if($i(i3GEO.Interface.IDMAPA)){ - $i(i3GEO.Interface.IDMAPA).title = ""; - temp = "identifica"; - if(i3GEO.Interface.ATIVAMENUCONTEXTO) - {temp = "identifica_contexto";} - i3GEO.util.mudaCursor(configura.cursores,temp,i3GEO.Interface.IDMAPA,configura.locaplic); - } - }; - xy = i3GEO.navega.centroDoMapa(); - i3GEO.php.identifica3(retorna,objposicaocursor.ddx,objposicaocursor.ddy,"5","tip",i3GEO.configura.locaplic,i3GEO.configura.sid,"ligados",i3GEO.parametros.mapexten); - } - }, - /* - Function: compactaLayerGrafico - - Retorna uma string no formato base64 + JSON contendo as geometrias existentes no layer grafico do mapa - Essas geometrias podem ser criadas com o editor vetorial - */ - compactaLayerGrafico: function(){ - var geos = false, - geometrias = [], - n = 0, - i,g; - if(i3GEO.editorOL && i3GEO.desenho.layergrafico && i3GEO.desenho.layergrafico.features){ - geos = i3GEO.desenho.layergrafico.features; - n = geos.length; - for(i = 0;i < n; i++){ - g = { - "atributos": geos[i].attributes, - "geometria": geos[i].geometry.toString() + $i(i3GEO.editorOL.layergrafico.id).style.zIndex = 5000; }; - geometrias.push(g); + i3GEO.util.scriptTag(i3GEO.configura.locaplic + "/mashups/openlayers.js", inicia, "openlayers.js", true); } - } - g = YAHOO.lang.JSON.stringify(geometrias); - return i3GEO.util.base64encode(g); - }, - /* - Function: desCompactaLayerGrafico - - Descompacta um layer grafico criado com compactaLayerGrafico - */ - desCompactaLayerGrafico: function(geometrias){ - geometrias = YAHOO.lang.JSON.parse(geometrias); - //carrega o script do editor vetorial - if(geometrias.length > 0){ - var inicia = function(){ - i3GEO.barraDeBotoes.editor.ativaPainel(); - var n = geometrias.length, - i; - for(i=0;i 0) { + var inicia = function() { + i3GEOF.graficointerativo1.restauraGraficos(graficos); + }; + i3GEO.util.scriptTag( + i3GEO.configura.locaplic + "/ferramentas/graficointerativo1/dependencias.php", + inicia, + "graficointerativo1", + true); + } + }, + // + // aplica as preferencias armazenadas localmente ou vindas de um mapa salvo no banco de dados + // + aplicaPreferencias : function(cookies) { + // aplica preferencias do usuario + var props, nprops, i, temp = [], pint; + if (!cookies) { + cookies = i3GEO.util.pegaDadosLocal("preferenciasDoI3Geo"); + } + if (cookies) { + props = cookies.split("::"); + nprops = props.length; + for (i = 0; i < nprops; i++) { + try { + temp = props[i].split("|"); + pint = parseInt(temp[1], 10); + if (temp[1] === 'true' || temp[1] === 'false') { + if (temp[1] === 'true') { + temp[1] = true; + } + if (temp[1] === 'false') { + temp[1] = false; + } + eval(temp[0] + " = " + temp[1] + ";"); + } else if (pint + "px" == temp[1]) { + eval(temp[0] + " = '" + temp[1] + "';"); + } else if (YAHOO.lang.isNumber(pint)) { + eval(temp[0] + " = " + temp[1] + ";"); + } else { + eval(temp[0] + " = '" + temp[1] + "';"); } - if(temp[1] === 'false'){ - temp[1] = false; + // algumas propriedades usam cookies + if (temp[0] == "i3GEO.configura.mapaRefDisplay") { + i3GEO.util.insereCookie("i3GEO.configura.mapaRefDisplay", temp[1]); + } + } catch (e) { + if (typeof (console) !== 'undefined') { + console.warn(temp[0] + " = " + temp[1] + ";"); } - eval(temp[0]+" = "+temp[1]+";"); - } - else if(pint+"px" == temp[1]){ - eval(temp[0]+" = '"+temp[1]+"';"); - } - else if(YAHOO.lang.isNumber(pint)){ - eval(temp[0]+" = "+temp[1]+";"); - } - else{ - eval(temp[0]+" = '"+temp[1]+"';"); - } - //algumas propriedades usam cookies - if(temp[0] == "i3GEO.configura.mapaRefDisplay"){ - i3GEO.util.insereCookie("i3GEO.configura.mapaRefDisplay",temp[1]); } } - catch(e){ - if(typeof(console) !== 'undefined'){console.warn(temp[0]+" = "+temp[1]+";");} - } } } - } -}; -//YAHOO.log("carregou classe mapa", "Classes i3geo"); + }; +// YAHOO.log("carregou classe mapa", "Classes i3geo"); diff --git a/classesjs/classe_php.js b/classesjs/classe_php.js index 2a96541..786b4c0 100644 --- a/classesjs/classe_php.js +++ b/classesjs/classe_php.js @@ -1670,7 +1670,7 @@ i3GEO.php = { Salva o mapfile atual no banco de dados de administracao */ - salvaMapaBanco: function(funcao,titulo,id_mapa,preferencias,geometrias){ + salvaMapaBanco: function(funcao,titulo,id_mapa,preferencias,geometrias,graficos){ //pega as preferencias do usuario tambem if(preferencias){ try{ @@ -1698,6 +1698,22 @@ i3GEO.php = { else{ geometrias = ""; } + //pega as ferramentas do tipo grafico + if(graficos && i3GEOF && i3GEOF.graficointerativo1){ + try{ + graficos = i3GEOF.graficointerativo1.compactaConfig(); + if(!graficos){ + graficos = ""; + } + } + catch(e){ + graficos = ""; + } + } + else{ + graficos = ""; + } + var url = (window.location.href.split("?")[0]), p = i3GEO.configura.locaplic+"/admin/php/mapas.php?"; par = "funcao=salvaMapfile" + @@ -1708,7 +1724,7 @@ i3GEO.php = { cp = new cpaint(); cp.set_transfer_mode('POST'); cp.set_response_type("JSON"); - cp.call(p+par,"foo",funcao,"&preferenciasbase64=" + preferencias + "&geometriasbase64=" + geometrias); + cp.call(p+par,"foo",funcao,"&preferenciasbase64=" + preferencias + "&geometriasbase64=" + geometrias + "&graficosbase64=" + graficos); }, /* Function: marcadores2shp diff --git a/classesjs/classe_util.js b/classesjs/classe_util.js index d548a7a..6ae76c9 100644 --- a/classesjs/classe_util.js +++ b/classesjs/classe_util.js @@ -2882,7 +2882,7 @@ i3GEO.util = { YAHOO.util.Connect.asyncRequest("GET", sUrl, callback); }, /* - Verifica se a fun��o html de armazenamento local esta disponivel no navegador + Verifica se a funcao html de armazenamento local esta disponivel no navegador */ verifica_html5_storage: function(){ if(typeof(Storage)!=="undefined"){ diff --git a/classesphp/mapa_inicia.php b/classesphp/mapa_inicia.php index 23ca164..1093dba 100644 --- a/classesphp/mapa_inicia.php +++ b/classesphp/mapa_inicia.php @@ -372,7 +372,7 @@ function iniciaMapa() //parametros de inicializacao armazenados com o mapa quando o usuario utiliza a opcao de salvar mapa no nbanco de dados $customizacoesinit = $m->mapa->getmetadata("CUSTOMIZACOESINIT"); $res["editavel"] = $m->mapa->getmetadata("EDITAVEL"); - $m->mapa->setmetadata("CUSTOMIZACOESINIT",""); + //$m->mapa->setmetadata("CUSTOMIZACOESINIT",""); $m->salva(); copy($map_file,(str_replace(".map","reinc.map",$map_file))); copy($map_file,(str_replace(".map","seguranca.map",$map_file))); diff --git a/ferramentas/graficointerativo1/index.js b/ferramentas/graficointerativo1/index.js index abee17c..bacf2fd 100755 --- a/ferramentas/graficointerativo1/index.js +++ b/ferramentas/graficointerativo1/index.js @@ -1,32 +1,37 @@ /** * Title: Gráfico interativo 1 - * + * * Representação gráfica de dados. O gráfico é construído tendo como base os atributos de um tema * e é modificado conforme o usuário navega pelo mapa. A renderização do gráfico é feito pelo * navegador por meio do aplicativo openflashchart. Os dados que serão utilizados no gráfico são baseados em um * elemento TABLE. Esse elemento pode ser montado com base na tabela de atributos e editada pelo usuário. Os dados podem * também ser inseridos como parâmetros na inicialização da ferramenta, permitindo que o gráfico seja * utilizado por outras ferramentas. - * + * + * Gráficos podem ser salvos no mapa. Veja a função compactaConfig que gera uma string em base64 com as configurações em JSON + * de todos os gráficos abertos no mapa + * + * Os gráficos podem ser restaurados usando-se a função restauraGraficos + * * Veja: - * + * * - * + * * Arquivo: - * + * * i3geo/ferramentas/graficointerativo1/index.js.php - * + * * Licenca: - * + * * GPL2 - * + * * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet - * + * * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com - * + * * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença * Pública Geral GNU conforme publicada pela Free Software Foundation; - * + * * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a * garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do @@ -38,7 +43,7 @@ if (typeof (i3GEOF) === 'undefined') { } /** * Classe: i3GEOF.graficointerativo1 - * + * */ i3GEOF.graficointerativo1 = { @@ -57,124 +62,304 @@ i3GEOF.graficointerativo1 = mustacheHash : function(idjanela) { return { "idjanela" : idjanela, - "idjanelaA" : '"'+idjanela+'"', + "idjanelaA" : '"' + idjanela + '"', "locaplic" : i3GEO.configura.locaplic, - "prop": $trad("p13"), - "tipo": $trad(1, i3GEOF.graficointerativo1.dicionario), - "dados": $trad(2, i3GEOF.graficointerativo1.dicionario), - "grafico": $trad(3, i3GEOF.graficointerativo1.dicionario), - "escolhatipo": $trad(4, i3GEOF.graficointerativo1.dicionario), - "pizza2d": $trad(5, i3GEOF.graficointerativo1.dicionario), - "areasimp": $trad(6, i3GEOF.graficointerativo1.dicionario), - "distpt": $trad(7, i3GEOF.graficointerativo1.dicionario), - "linhassimp": $trad(8, i3GEOF.graficointerativo1.dicionario), - "arvore": $trad(9, i3GEOF.graficointerativo1.dicionario), - "barrasv": $trad(10, i3GEOF.graficointerativo1.dicionario), - "barrash": $trad(11, i3GEOF.graficointerativo1.dicionario), - "configgr": $trad(12, i3GEOF.graficointerativo1.dicionario), - "tema": $trad(13, i3GEOF.graficointerativo1.dicionario), - "titulo": $trad(50, i3GEOF.graficointerativo1.dicionario), - "titux": $trad(51, i3GEOF.graficointerativo1.dicionario), - "tituy":$trad(52, i3GEOF.graficointerativo1.dicionario), - "itemcx": $trad(14, i3GEOF.graficointerativo1.dicionario), - "itemcy": $trad(15, i3GEOF.graficointerativo1.dicionario), - "excluirval": $trad(16, i3GEOF.graficointerativo1.dicionario), - "geracor": $trad(17, i3GEOF.graficointerativo1.dicionario), - "obterdados": $trad(18, i3GEOF.graficointerativo1.dicionario), - "seescolher": $trad(19, i3GEOF.graficointerativo1.dicionario), - "inclinax": $trad(20, i3GEOF.graficointerativo1.dicionario), - "adlinbarras": $trad(21, i3GEOF.graficointerativo1.dicionario), - "utilizvalacum": $trad(22, i3GEOF.graficointerativo1.dicionario), - "utilizvalrelat": $trad(23, i3GEOF.graficointerativo1.dicionario), - "ordenax": $trad(24, i3GEOF.graficointerativo1.dicionario), - "naoprocessa": $trad(25, i3GEOF.graficointerativo1.dicionario), - "stacked": $trad(48, i3GEOF.graficointerativo1.dicionario), - "linhasnascols": $trad(49, i3GEOF.graficointerativo1.dicionario), - "media": $trad(27, i3GEOF.graficointerativo1.dicionario), - "tipoagregay": $trad(28, i3GEOF.graficointerativo1.dicionario), - "fatcalclarg": $trad(29, i3GEOF.graficointerativo1.dicionario), - "janelasep": $trad(30, i3GEOF.graficointerativo1.dicionario), - "soma": $trad(26, i3GEOF.graficointerativo1.dicionario), - "i3GEOgraficointerativo1Titulo": $inputText("", "", idjanela + "i3GEOgraficointerativo1Titulo", "", 40, ""), - "i3GEOgraficointerativo1TituloX": $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloX", "", 40, ""), - "i3GEOgraficointerativo1TituloY": $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloY", "", 40, ""), - "i3GEOgraficointerativo1excluir": $inputText("", "", idjanela + "i3GEOgraficointerativo1excluir", "", 3, "") + "prop" : $trad("p13"), + "tipo" : $trad(1, i3GEOF.graficointerativo1.dicionario), + "dados" : $trad(2, i3GEOF.graficointerativo1.dicionario), + "grafico" : $trad(3, i3GEOF.graficointerativo1.dicionario), + "escolhatipo" : $trad(4, i3GEOF.graficointerativo1.dicionario), + "pizza2d" : $trad(5, i3GEOF.graficointerativo1.dicionario), + "areasimp" : $trad(6, i3GEOF.graficointerativo1.dicionario), + "distpt" : $trad(7, i3GEOF.graficointerativo1.dicionario), + "linhassimp" : $trad(8, i3GEOF.graficointerativo1.dicionario), + "arvore" : $trad(9, i3GEOF.graficointerativo1.dicionario), + "barrasv" : $trad(10, i3GEOF.graficointerativo1.dicionario), + "barrash" : $trad(11, i3GEOF.graficointerativo1.dicionario), + "configgr" : $trad(12, i3GEOF.graficointerativo1.dicionario), + "tema" : $trad(13, i3GEOF.graficointerativo1.dicionario), + "titulo" : $trad(50, i3GEOF.graficointerativo1.dicionario), + "titux" : $trad(51, i3GEOF.graficointerativo1.dicionario), + "tituy" : $trad(52, i3GEOF.graficointerativo1.dicionario), + "itemcx" : $trad(14, i3GEOF.graficointerativo1.dicionario), + "itemcy" : $trad(15, i3GEOF.graficointerativo1.dicionario), + "excluirval" : $trad(16, i3GEOF.graficointerativo1.dicionario), + "geracor" : $trad(17, i3GEOF.graficointerativo1.dicionario), + "obterdados" : $trad(18, i3GEOF.graficointerativo1.dicionario), + "seescolher" : $trad(19, i3GEOF.graficointerativo1.dicionario), + "inclinax" : $trad(20, i3GEOF.graficointerativo1.dicionario), + "adlinbarras" : $trad(21, i3GEOF.graficointerativo1.dicionario), + "utilizvalacum" : $trad(22, i3GEOF.graficointerativo1.dicionario), + "utilizvalrelat" : $trad(23, i3GEOF.graficointerativo1.dicionario), + "ordenax" : $trad(24, i3GEOF.graficointerativo1.dicionario), + "naoprocessa" : $trad(25, i3GEOF.graficointerativo1.dicionario), + "stacked" : $trad(48, i3GEOF.graficointerativo1.dicionario), + "linhasnascols" : $trad(49, i3GEOF.graficointerativo1.dicionario), + "media" : $trad(27, i3GEOF.graficointerativo1.dicionario), + "tipoagregay" : $trad(28, i3GEOF.graficointerativo1.dicionario), + "fatcalclarg" : $trad(29, i3GEOF.graficointerativo1.dicionario), + "janelasep" : $trad(30, i3GEOF.graficointerativo1.dicionario), + "soma" : $trad(26, i3GEOF.graficointerativo1.dicionario), + "i3GEOgraficointerativo1Titulo" : $inputText("", "", idjanela + "i3GEOgraficointerativo1Titulo", "", 40, ""), + "i3GEOgraficointerativo1TituloX" : $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloX", "", 40, ""), + "i3GEOgraficointerativo1TituloY" : $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloY", "", 40, ""), + "i3GEOgraficointerativo1excluir" : $inputText("", "", idjanela + "i3GEOgraficointerativo1excluir", "", 3, "") }; }, /** * Propriedade: dados - * + * * Dados que serao utilizados. Pode ser passado como parametro. - * + * * Default: {false} */ dados : false, /** * Propriedade: titulo - * + * * Título do gráfico. Se for vazio, será obtido do nome do tema selecionado */ titulo : "", /** * Propriedade: tipo - * + * * Tipo de gráfico escolhido pelo usuário. */ tipo : "", /** * Propriedade: acumula - * + * * Acumula os valores ao gerar o gráfico - * + * * Type: {boolean} - * + * * Default: {false} */ acumula : false, /** * Propriedade: relativa - * + * * Utiliza valores relativos ao criar o gráfico - * + * * Type: {boolean} - * + * * Default: {false} */ relativa : false, /** * Propriedade: dadospuros - * + * * Não faz nenhum tipo de processamento nos dados antes de gerar o gráfico - * + * * Type: {boolean} - * + * * Default: {false} */ dadospuros : false, /** - * Function: iniciaDicionario - * + * iniciaDicionario (depreciado na versao 6.0) + * * Carrega o dicionário e chama a função que inicia a ferramenta - * + * * O Javascript é carregado com o id i3GEOF.nomedaferramenta.dicionario_script */ - iniciaDicionario : function(dados) { - i3GEOF.tabela.iniciaJanelaFlutuante(dados); + iniciaDicionario : function(parametros) { + i3GEOF.tabela.iniciaJanelaFlutuante(parametros); + }, + /** + * Configura o grafico conforme um objeto contendo parametros e opcionalmente os dados Alguns parametros possuem definicoes padrao, + * usadas quando o valor nao e passado + * + * Qualquer outro campo de formulario pode ter seu valor passado como parametro, desde que use o mesmo ID, excluindo-se do nome do + * ID o prefixo (codigo da janela) + * + * parametros {objeto} com os seguintes elementos: + * + * idjanela - id do grafico. Usado como prefixo para inserir os identificadores dos elementos DOM que fazem parte da interface do + * grafico. Se existir um elemento dom esse id, o grafico sera inserido nesse elemento + * + * tema - codigo do tema existente no mapa e que sera a fonte para os dados + * + * atualiza true|false - a janela sera atualizada na navegacao do mapa ou nao + * + * dados - dados que comporao o mapa. Caso nao existam, serao obtidos de tema + * + * acumula true|false - acumula os valores de cada elemento do grafico + * + * relativa true|false - utiliza valores relativos nos eixos + * + * dadospuros true|false - realiza ou nao processos de adequacao dos dados + */ + configura : function(parametros) { + var idjanela; + if (!parametros.idjanela) { + idjanela = "graficoi" + parseInt(Math.random() * 1000000, 10); + } else { + idjanela = parametros.idjanela; + } + i3GEOF.graficointerativo1.janelas.push(idjanela); + if (parametros) { + i3GEOF.graficointerativo1.propJanelas[idjanela] = parametros; + } else { + i3GEOF.graficointerativo1.propJanelas[idjanela] = {}; + } + if (!parametros.tema) { + i3GEOF.graficointerativo1.propJanelas[idjanela].tema = ""; + } + if (!parametros.atualiza) { + i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true; + } + // guarda para esse grafico alguns valores default obtidos dos + // parametros gerais da ferramenta + if (!parametros.acumula) { + i3GEOF.graficointerativo1.propJanelas[idjanela].acumula = parametros.acumula; + } + if (!parametros.relativa) { + i3GEOF.graficointerativo1.propJanelas[idjanela].relativa = parametros.relativa; + } + if (!parametros.dadospuros) { + i3GEOF.graficointerativo1.propJanelas[idjanela].dadospuros = parametros.dadospuros; + } + return idjanela; + }, + /** + * Aplica ao grafico os parametros de configuracao definidos para cada interface que controla o grafico Os parametros de + * configuracao sao obtidos na inicializacao, passados como parametros Essa funcao deve ser executada apos os elementos html terem + * sido renderizados + */ + aplicaConfig : function(idjanela) { + var config, i, atualizaConfigGr; + config = i3GEOF.graficointerativo1.propJanelas[idjanela]; + nomesIds = i3GEO.util.listaChaves(config); + atualizaConfigGr = function() { + var i,o,n,j; + n = nomesIds.length; + for (j=0;j 0){ + for(i=0;i" + (i3GEOF.graficointerativo1.tabela2csv()).join("\n") + ""; + ""; }; $i(idjanela + "i3GEOgraficointerativo1guia6").onclick = function() { - if (i3GEOF.graficointerativo1.tipo === "") { + if (i3GEOF.graficointerativo1.propJanelas[idjanela].tipo === "") { alert($trad(4, i3GEOF.graficointerativo1.dicionario)); return; } @@ -261,21 +446,27 @@ i3GEOF.graficointerativo1 = } } }); - if (i3GEOF.graficointerativo1.propJanelas[idjanela].dados - && i3GEOF.graficointerativo1.propJanelas[idjanela].dados != "undefined") { + if (i3GEOF.graficointerativo1.propJanelas[idjanela].dados != "") { i3GEOF.graficointerativo1.montaTabelaDados(idjanela, i3GEOF.graficointerativo1.propJanelas[idjanela].dados); $i(idjanela + "i3GEOgraficointerativo1guia4").onclick.call(); } else { i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOgraficointerativo1guia1", idjanela + "i3GEOgraficointerativo1guia"); } + // + // Apos todos os elementos HTML da ferramenta terem sido renderizados + // aplicam-se os parametros armazenados nas propriedades da janela atual + // Isso e necessario pois os parametros podem ter sido enviados na inicializacao da ferramenta, + // por exemplo, quando um mapa e salvo, os parametros sao armazenados e depois recuperados + // + i3GEOF.graficointerativo1.aplicaConfig(idjanela); }, /** * Function: html - * + * * Gera o código html para apresentação das opções da ferramenta - * + * * Retorno: - * + * * String com o código html */ html : function(idjanela) { @@ -284,128 +475,138 @@ i3GEOF.graficointerativo1 = }, /** * Function: iniciaJanelaFlutuante - * + * * Cria a janela flutuante para controle da ferramenta. - * - * Parametro - * - * dados {JSON} - dados para o gráfico + * + * Parametro: + * + * parametros {obj} - parametros para o gráfico. Contem parametros utilizados para configurar o grafico e tambem pode conter + * os dados. Para compatibilidade, se nao contiver o item com chave chamada dados, sera considerado como sendo um objeto com apenas + * os dados estatisticos + * */ - iniciaJanelaFlutuante : function(dados) { + iniciaJanelaFlutuante : function(parametros) { var minimiza, cabecalho, janela, divid, temp, titulo, idjanela; - // id utilizado para diferenciar cada janela e seus respectivos - // componentes - idjanela = "graficoi" + parseInt(Math.random() * 1000000, 10); - i3GEOF.graficointerativo1.janelas.push(idjanela); - i3GEOF.graficointerativo1.propJanelas[idjanela] = {}; - i3GEOF.graficointerativo1.propJanelas[idjanela].tema = i3GEO.temaAtivo; - i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true; - i3GEOF.graficointerativo1.propJanelas[idjanela].dados = dados; - - // guarda para esse grafico alguns valores default obtidos dos - // parametros gerais da ferramenta - i3GEOF.graficointerativo1.propJanelas[idjanela].acumula = i3GEOF.graficointerativo1.acumula; - i3GEOF.graficointerativo1.propJanelas[idjanela].relativa = i3GEOF.graficointerativo1.relativa; - i3GEOF.graficointerativo1.propJanelas[idjanela].dadospuros = i3GEOF.graficointerativo1.dadospuros; - - if (dados) { - i3GEOF.graficointerativo1.propJanelas[idjanela].dados = dados; + // + // verifica se parametros contem dados, caso contrario compatibiliza o objeto + // com a versao 6.0 do i3Geo + // + if (!parametros) { + parametros = { + "dados": "" + }; + } else if (!parametros.dados) { + parametros = { + "dados" : parametros + }; } + // + // configura o grafico baseado no objeto parametros + // se em parametros existir um idjanela, o mesmo e retornado, caso contrario, e criado + // + idjanela = i3GEOF.graficointerativo1.configura(parametros); + // + // se existir um elemento HTML com o mesmo ID da janela, a renderizacao ocorrera + // nesse elemento, caso contrario, sera criada uma janela flutuante + // + if (!$i(idjanela)) { + // cria a janela flutuante + cabecalho = function() { + i3GEOF.graficointerativo1.ativaFoco(idjanela); + }; + minimiza = function() { + i3GEO.janela.minimiza(idjanela); + }; + mudaTamanhoGrafico = function() { + var t = $i(idjanela + "i3GEOgraficointerativo1Grafico"); + if (t.style.display === "block") { + i3GEOF.graficointerativo1.tabela2dados(idjanela); + } + }; + duplica = function() { + i3GEOF.graficointerativo1.iniciaJanelaFlutuante(); + }; + titulo = + "   " + $trad("t37b") + "    "; + janela = + i3GEO.janela.cria( + "480px", + "450px", + "", + "", + "", + titulo, + idjanela, + false, + "hd", + cabecalho, + minimiza, + mudaTamanhoGrafico, + true, + i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-statistics.png", + duplica); + divid = janela[2].id; + $i(idjanela + "_corpo").style.backgroundColor = "white"; + $i(idjanela + "_corpo").style.overflow = "auto"; + // indica se a janela sera atualizada na navegacao + temp = 'i3GEOF.graficointerativo1.propJanelas["' + idjanela + '"].atualiza = this.checked'; + janela[0] + .setFooter("
 " + $trad(53, i3GEOF.graficointerativo1.dicionario) + " (" + idjanela + ")
"); - // cria a janela flutuante - cabecalho = function() { - i3GEOF.graficointerativo1.ativaFoco(idjanela); - }; - minimiza = function() { - i3GEO.janela.minimiza(idjanela); - }; - mudaTamanhoGrafico = function() { - var t = $i(idjanela + "i3GEOgraficointerativo1Grafico"); - if (t.style.display === "block") { - i3GEOF.graficointerativo1.tabela2dados(idjanela); - } - }; - duplica = function() { - i3GEOF.graficointerativo1.iniciaJanelaFlutuante(); - }; - titulo = - "   " + $trad("t37b") + "    "; - janela = - i3GEO.janela.cria( - "480px", - "450px", - "", - "", - "", - titulo, - idjanela, - false, - "hd", - cabecalho, - minimiza, - mudaTamanhoGrafico, - true, - i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-statistics.png", - duplica); + temp = function() { + i3GEOF.graficointerativo1.janelas.remove(idjanela); + i3GEOF.graficointerativo1.propJanelas[idjanela] = null; + if (i3GEOF.graficointerativo1.janelas.length === 0 && i3GEO.Interface) { + if (i3GEO.Interface.ATUAL === "openlayers") { + i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.graficointerativo1.atualizaListaDeRegistros()"); + } else if (i3GEO.Interface.ATUAL === "googlemaps") { + google.maps.event.removeListener(graficointerativo1Dragend); + google.maps.event.removeListener(graficointerativo1Zoomend); + } else if (i3GEO.Interface.ATUAL === "googleearth") { + google.earth.removeEventListener(graficointerativo1Dragend); + } + i3GEOF.graficointerativo1.propJanelas = {}; + i3GEOF.graficointerativo1.janelas = []; + } + }; + YAHOO.util.Event.addListener(janela[0].close, "click", temp); + janela[0].bringToTop(); - divid = janela[2].id; + } else { + // o grafico sera renderizado em $i(idjanela) + divid = idjanela; + } i3GEOF.graficointerativo1.aguarde = $i(idjanela + "_imagemCabecalho").style; - $i(idjanela + "_corpo").style.backgroundColor = "white"; - $i(idjanela + "_corpo").style.overflow = "auto"; - i3GEOF.graficointerativo1.propJanelas[idjanela].aguarde = $i(idjanela + "_imagemCabecalho").style; i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true; - // indica se a janela sera atualizada na navegacao - temp = 'i3GEOF.graficointerativo1.propJanelas["' + idjanela + '"].atualiza = this.checked'; - janela[0] - .setFooter("
 " + $trad(53, i3GEOF.graficointerativo1.dicionario) + " (" + idjanela + ")
"); i3GEOF.graficointerativo1.inicia(divid, idjanela); - if (!i3GEO.Interface) { - return; - } - i3GEO.janela.tempoMsg($trad(37, i3GEOF.graficointerativo1.dicionario)); - if (i3GEO.Interface.ATUAL === "openlayers") { - i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.graficointerativo1.atualizaListaDeRegistros()"); - } - if (i3GEO.Interface.ATUAL === "googlemaps") { - graficointerativo1Dragend = GEvent.addListener(i3GeoMap, "dragend", function() { - i3GEOF.graficointerativo1.atualizaListaDeRegistros(); - }); - graficointerativo1Zoomend = GEvent.addListener(i3GeoMap, "zoomend", function() { - i3GEOF.graficointerativo1.atualizaListaDeRegistros(); - }); - } - if (i3GEO.Interface.ATUAL === "googleearth") { - graficointerativo1Dragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() { - i3GEOF.graficointerativo1.atualizaListaDeRegistros(); - }); - } - temp = function() { - i3GEOF.graficointerativo1.janelas.remove(idjanela); - i3GEOF.graficointerativo1.propJanelas[idjanela] = null; - if (i3GEOF.graficointerativo1.janelas.length === 0) { - if (i3GEO.Interface.ATUAL === "openlayers") { - i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.graficointerativo1.atualizaListaDeRegistros()"); - } - if (i3GEO.Interface.ATUAL === "googlemaps") { - google.maps.event.removeListener(graficointerativo1Dragend); - google.maps.event.removeListener(graficointerativo1Zoomend); - } - if (i3GEO.Interface.ATUAL === "googleearth") { - google.earth.removeEventListener(graficointerativo1Dragend); - } + // eventos que ocorrem no mapa e afetam os graficos + if (i3GEO.Interface) { + i3GEO.janela.tempoMsg($trad(37, i3GEOF.graficointerativo1.dicionario)); + if (i3GEO.Interface.ATUAL === "openlayers" + && i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEOF.graficointerativo1.atualizaListaDeRegistros()") < 0) { + i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.graficointerativo1.atualizaListaDeRegistros()"); + } else if (i3GEO.Interface.ATUAL === "googlemaps" && graficointerativo1Dragend == undefined) { + graficointerativo1Dragend = GEvent.addListener(i3GeoMap, "dragend", function() { + i3GEOF.graficointerativo1.atualizaListaDeRegistros(); + }); + graficointerativo1Zoomend = GEvent.addListener(i3GeoMap, "zoomend", function() { + i3GEOF.graficointerativo1.atualizaListaDeRegistros(); + }); + } else if (i3GEO.Interface.ATUAL === "googleearth" && graficointerativo1Dragend == undefined) { + graficointerativo1Dragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() { + i3GEOF.graficointerativo1.atualizaListaDeRegistros(); + }); } - }; - YAHOO.util.Event.addListener(janela[0].close, "click", temp); - janela[0].bringToTop(); + } }, /** * Function: ativaFoco - * + * * Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado */ ativaFoco : function(idjanela) { @@ -436,7 +637,7 @@ i3GEOF.graficointerativo1 = }, /** * Function: comboTemas - * + * * Monta o combo para escolha do tema que será utilizado no gráfico */ comboTemas : function(idjanela) { @@ -452,19 +653,20 @@ i3GEOF.graficointerativo1 = i3GEOF.graficointerativo1.comboItensSel(idjanela); }; } - if (i3GEO.temaAtivo !== "") { - $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").value = i3GEO.temaAtivo; + var j = i3GEOF.graficointerativo1.propJanelas[idjanela]; + if (j.tema && j.tema !== "") { + $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").value = j.tema; $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").onchange.call(); } }, idjanela + "i3GEOgraficointerativo1ComboTemas", "", false, "ligados", "font-size:12px;width:350px"); }, /** * Function: ativaTipo - * + * * Define a variável com o tipo de gráfico e mostra a guia2 */ ativaTipo : function(obj, idjanela) { - if (obj) { + if (obj && obj != "") { i3GEOF.graficointerativo1.propJanelas[idjanela].tipo = obj.value; } if (i3GEOF.graficointerativo1.propJanelas[idjanela].tipo == "ponto_1") { @@ -492,9 +694,15 @@ i3GEOF.graficointerativo1 = } $i(idjanela + "i3GEOgraficointerativo1guia4").onclick.call(); }, + alteraFatorPixelMenos : function(tipo, idjanela) { + i3GEOF.graficointerativo1.alteraFatorPixel("menos", idjanela); + }, + alteraFatorPixelMais : function(tipo, idjanela) { + i3GEOF.graficointerativo1.alteraFatorPixel("mais", idjanela); + }, /** * Function: configuraDados - * + * * Configura o formulário para obtenção dos dados para cada tipo de gráfico */ configuraDados : function(idjanela) { @@ -517,11 +725,11 @@ i3GEOF.graficointerativo1 = }, /** * Function: comboItensSel - * + * * Cria um combo para selecionar os itens do tema escolhido - * + * * Veja: - * + * * */ comboItensSel : function(idjanela) { @@ -584,11 +792,11 @@ i3GEOF.graficointerativo1 = }, /** * Function: obterDados - * + * * Obtém os dados que serão utilizados no gráfico - * + * * Veja: - * + * * */ obterDados : function(idjanela) { @@ -601,10 +809,9 @@ i3GEOF.graficointerativo1 = var tema, excluir, cp, tipo, ordenax, monta, p, x, y, i, n, temp; tema = $i(idjanela + "i3GEOgraficointerativo1ComboTemasId"); - if(!tema){ + if (!tema) { return; - } - else{ + } else { tema = tema.value; } excluir = $i(idjanela + "i3GEOgraficointerativo1excluir").value; @@ -720,11 +927,11 @@ i3GEOF.graficointerativo1 = }, /** * Function: montaTabelaDados - * + * * Monta a tabela com os dados que serão utilizados no gráfico - * + * * Parametro: - * + * * retorno {JSON} - dados no formato JSON */ montaTabelaDados : function(idjanela, retorno) { @@ -783,7 +990,7 @@ i3GEOF.graficointerativo1 = }, /** * Function: tabela2csv - * + * * Obtém os dados da tabela em CSV */ tabela2csv : function(idjanela) { @@ -802,7 +1009,7 @@ i3GEOF.graficointerativo1 = }, /** * Function: tabela2dados - * + * * Obtém os dados da tabela para compor o gráfico */ tabela2dados : function(idjanela) { @@ -925,7 +1132,7 @@ i3GEOF.graficointerativo1 = }, /** * Function: excluilinha - * + * * Exclui uma linha da tabela de dados */ excluilinha : function(celula) { @@ -937,7 +1144,7 @@ i3GEOF.graficointerativo1 = }, /** * Function: corj - * + * * Abre a janela para o usuário selecionar uma cor interativamente */ corj : function(obj) { @@ -945,7 +1152,7 @@ i3GEOF.graficointerativo1 = }, /** * Function: ordenaColuna - * + * * Ordena uma coluna da tabela */ ordenaColuna : function(coluna, cid) { diff --git a/ferramentas/graficointerativo1/template_mst.html b/ferramentas/graficointerativo1/template_mst.html index fab4898..38efc51 100644 --- a/ferramentas/graficointerativo1/template_mst.html +++ b/ferramentas/graficointerativo1/template_mst.html @@ -1,13 +1,24 @@
@@ -16,7 +27,8 @@ - + @@ -24,7 +36,8 @@ - + @@ -32,7 +45,8 @@ - + @@ -40,7 +54,8 @@ - + @@ -48,7 +63,8 @@ - + @@ -56,7 +72,8 @@ - + @@ -64,7 +81,8 @@ - +
{{{pizza2d}}}
{{{areasimp}}}
{{{distpt}}}
{{{linhassimp}}}
{{{arvore}}}
{{{barrasv}}}
{{{barrash}}}
@@ -93,46 +111,39 @@ {{{geracor}}}

- +

{{{seescolher}}}
diff --git a/ferramentas/salvamapa/dicionario.js b/ferramentas/salvamapa/dicionario.js index 199f0c1..a7a5f48 100644 --- a/ferramentas/salvamapa/dicionario.js +++ b/ferramentas/salvamapa/dicionario.js @@ -79,7 +79,7 @@ i3GEOF.salvaMapa.dicionario = { it:"" }], 14: [{ - pt:"Faça login e cadastre o mapa atual no banco de dados existente no servidor web. Com isso o mapa será salvo de forma permanente e outros usuários poder�o utilizá-lo. Consulte o admnistrador do site que voc� est� utilizando para saber mais sobre a política de uso do mapa que for salvo", + pt:"Faça login e cadastre o mapa atual no banco de dados existente no servidor web. Com isso o mapa será salvo de forma permanente e outros usuários poderão utilizá-lo. Consulte o admnistrador do site que você está utilizando para saber mais sobre a política de uso do mapa que for salvo", en:"", es:"", it:"" diff --git a/ferramentas/salvamapa/index.js b/ferramentas/salvamapa/index.js index 8680971..807a844 100644 --- a/ferramentas/salvamapa/index.js +++ b/ferramentas/salvamapa/index.js @@ -146,7 +146,7 @@ i3GEOF.salvaMapa = { } } }; - i3GEO.php.salvaMapaBanco(temp,titulo,id_mapa,$i("i3GEOFsalvaPref").checked,true); + i3GEO.php.salvaMapaBanco(temp,titulo,id_mapa,$i("i3GEOFsalvaPref").checked,true,true); }; texto = $trad(7,i3GEOF.salvaMapa.dicionario)+"


"+$trad(15,i3GEOF.salvaMapa.dicionario); i3GEO.janela.prompt(texto + "

"+$trad(8,i3GEOF.salvaMapa.dicionario),funcaoOK); -- libgit2 0.21.2