/* Title: i3Geo A classe i3GEO possuí os métodos de criação e atualização do mapa. Todas as subclasses são baseadas em i3GEO, por exemplo, para criar uma janela flutuante sobre o mapa, utilize i3GEO.janela.cria() Para inicializar o mapa, utilize i3GEO.inicia() e para atualizar o mapa, utilize i3GEO.atualiza(). Após terminado o processo de inicialização, pode-se executar uma função de ajuste. Essa função deve ser definida em i3GEO.finaliza, por exemplo i3GEO.finaliza = "funcaoDeAjuste()" ou i3GEO.finaliza = function(){} Ao inicializar ou atualizar o i3Geo, é feita uma chamada em AJAX para a obtenção dos parametros necessários ao funcionamento do mapa. Esses parametros são armazenados na variável i3GEO.parametros Nessa classe estão disponíveis variáveis internas utilizadas em várias funções, como i3GEO.temaAtivo i3GEOF Esse objeto recebe os métodos sob demanda por meio de injeção de javascripts (script tag). É utilizado pelas ferramentas existentes em i3geo/ferramentas. Cada javascript inserido na página adiciona novos objetos, como por exemplo i3GEOF.buffer. Arquivo: i3geo/classesjs/classe_i3geo.js Licença: 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 ADEQUACÃ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 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. */ i3GEOF = []; /* YAHOO.i3GEO Namespace da biblioteca YUI que é reutilizável em vários trechos de código do i3Geo Type: {YAHOO.namespace} */ YAHOO.namespace("i3GEO"); var i3GEO = { /* Propriedade: parametros Parametros obtidos do mapa atual. Os parametros são fornecidos pelos programas PHP de redesenho e criação do mapa e atualizados sempre que o mapa é alterado. Exemplos: alert(i3GEO.parametros.mapexten); i3GEO.parametros.mapscale = 25000; Parametros: mapexten {String} - extensão geográfica do mapa no formato xmin ymin xmax ymax mapscale {Numeric} - denominador da escala do mapa mapres {Numeric} - resolução da imagem do mapa em DPI pixelsize {Numeric} - tamanho em unidades de terreno dos pixels da imagem mapfile {String} - nome do mapfile atualmente em uso cgi {String} - endereço do executável do mapserver no servidor acessível pela URL extentTotal {String} - extensão do mapa na inicialização mapimagem {String} - URL da imagem que compõe o mapa geoip {sim|nao} - indica se o geoip está instalado listavisual {String} - (depreciado) lista de visuais disponíveis utilizacgi {sim|nao} - indica se o mapa atual está no modo CGI versaoms {String} - versão do Mapserver instalado no servidor (maior) versaomscompleta {String} - versão do Mapserver instalado no servidor (completa) mensagens {String} - mensagens para uso no letreiro w {Integer} - largura do mapa atual h {Integer} - altura do mapa atual locsistemas {String} - endereço do xml com a lista de sistemas adicionais locidentifica {String} - endereço do xml com a lista de sistemas de identificação r {sim|nao} - indica se o software R está instalado no servidor locmapas {String} - endereço do xml com a lista de mapas extentref {String} - extensão geográfica do mapa de referência celularef {Numeric} - tamanho do pixel do mapa de referência em unidades do terreno kmlurl {String} - url de um arquivo kml que será inserido no mapa. Válido apenas na interface Google Maps mensagemInicia {String} - mensagem definida em ms_configura.php indicando a versão atual do i3Geo. interfacePadrao {String} - interface padrão definida em ms_configura embedLegenda {String} - sim|nao indica se na inicialização a legenda foi inserida no conteúdo do mapa ou não celularef {Numeric} - tamanho da célula do mapa de referência autenticadoopenid {sim|nao} - indica se o usuário foi autenticado em alguma rede social editor {sim|nao} - indica se o usuário atual é um editor (administrador) cordefundo {r,g,b} copyright {String} - texto existente no Layer copyright do mapfile de inicialização */ parametros: { mapexten: "", mapscale: "", mapres: "", pixelsize: "", mapfile: "", cgi: "", extentTotal: "", mapimagem: "", geoip: "", listavisual: "", //depreciado utilizacgi:"", versaoms:"", versaomscompleta: "", mensagens:"", w: "", h: "", locsistemas:"", locidentifica:"", r:"", locmapas:"", celularef:"", kmlurl:"", mensageminicia:"", interfacePadrao:"openlayers.htm", embedLegenda:"nao", autenticadoopenid:"nao", cordefundo: "", copyright: "", editor: "nao" }, /* Largura da barra de rolagem do navegador. Se for igual a "", a largura será calculada automaticamente. O valor "scrollerWidth" será utilizado no calculo da largura do mapa. Se vc não quer diminuir o tamanho do mapa, subtraindo a largura da barra de rolagem, defina scrollerWidth = 0 Tipo: {numérico} Default: {""} */ scrollerWidth: "", /* Propriedade: finaliza Função que será executada após a criação e posicionamento do mapa. Pode ser uma string também, que será avaliada com "eval". Tipo: {string} Default: {""} */ finaliza:"", /* Propriedade: finalizaAPI Função que será executada após a API utilizada (Openlayers ou Googlemaps) ter sido inicializada e o objeto com o mapa ter sido criado. Pode ser uma string também, que será avaliada com "eval". Tipo: {string} Default: {""} */ finalizaAPI:"", /* Largura e altura do navegador após a inicialização do mapa É utilizado como um parametro para verificar se o mapa foi ou não redimensionado pelo usuário de forma consistente Type: {array} */ tamanhodoc: [], /* Variavel: temaAtivo Indica o último tema que foi ativado no mapa Permite que ao se passar de uma ferramenta para outra, os menus reflitam a última escolha. Tipo: {string} Default: {""} */ temaAtivo: "", /* Essa variável é um contador utilizado para indicar quantos processos estão ativos e que irão executar o redesenho do mapa. O mapa só é atualizado quando o contador for menor que 1. Esse contador é utilizado no método i3GEO.atualiza O contador é necessário para evitar chamadas desnecessárias a  função de redesenho do mapa. Tipo: {string} */ contadorAtualiza:0, /* Function: cria Cria e configura a visualização do mapa, definindo posicionamentos, tamanho etc Após as definições básicas, é executado o programa que irá realizar as operações conforme a interface atualmente em uso. A interface é definida em Veja */ cria:function(){ if(typeof(console) !== 'undefined'){console.info("i3GEO.cria()");} if(i3GEO.configura.ajustaDocType === true) {i3GEO.util.ajustaDocType();} var tamanho, temp; temp = window.location.href.split("?"); if (temp[1]){ i3GEO.configura.sid = temp[1]; // //O # precisa ser removido, caso contrario, a opcao de reload da pagina pelo browser as vezes nao funciona // if (i3GEO.configura.sid.split("#")[0]){ i3GEO.configura.sid = i3GEO.configura.sid.split("#")[0]; } } else {i3GEO.configura.sid = "";} if(i3GEO.configura.sid === 'undefined') {i3GEO.configura.sid = "";} i3GEO.mapa.aplicaPreferencias(); if(i3GEO.Interface.ALTTABLET != ""){ if(i3GEO.util.detectaMobile()) {return;} } // //tenta definir automaticamente a variavel que indica a localizacao do i3geo // if(!i3GEO.configura.locaplic || i3GEO.configura.locaplic === ""){ i3GEO.util.localizai3GEO(); } // //calcula o tamanho do mapa // tamanho = i3GEO.calculaTamanho(); i3GEO.Interface.cria(tamanho[0],tamanho[1]); }, /* Function: inicia Inicializa o mapa Verifica se o mapa apresenta algum problema no processamento no lado do servidor e realiza as operações de tentativa de recuperação, se for o caso No início do processo é executada a função para realizar as operações necessárias de manutenção de compatibilidade da versão atual para as anteriores A inicialização é baseada em cujo retorno é utilizado para definir a variável Após a inicialização é executado */ inicia:function(retorno){ if(typeof(console) !== 'undefined'){console.info("i3GEO.inicia()");} //define o valor inicial da variavel que controla as etiquetas quando o usuario clica no mapa i3GEO.eventos.cliquePerm.ativoinicial = i3GEO.eventos.cliquePerm.ativo; var montaMapa,mashup,tamanho; if(typeof("i3GEOmantemCompatibilidade") === 'function') {i3GEOmantemCompatibilidade();} i3GEO.mapa.aplicaPreferencias(); montaMapa = function(retorno){ try{ var temp,nomecookie = "i3geoUltimaExtensao",preferencias=""; //verifica se existe bloqueio em funcao da senha no ms_configura.php if(retorno.bloqueado){ alert(retorno.bloqueado); exit; } if(retorno === ""){ alert("Ocorreu um erro no mapa - i3GEO.inicia.montaMapa"); retorno = {data:{erro: "erro"}}; } if(retorno.data.erro){ //i3GEO.janela.fechaAguarde("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML = "
Para abrir o i3Geo utilize o link:
"+i3GEO.configura.locaplic+"/ms_criamapa.php"; return("linkquebrado"); } else{ if(retorno.data.variaveis){ i3GEO.parametros = retorno.data.variaveis; // //converte string em número // i3GEO.parametros.mapscale = i3GEO.parametros.mapscale*1; i3GEO.parametros.mapres = i3GEO.parametros.mapres*1; i3GEO.parametros.pixelsize = i3GEO.parametros.pixelsize*1; i3GEO.parametros.w = i3GEO.parametros.w*1; i3GEO.parametros.h = i3GEO.parametros.h*1; // //obtem os parametros que foram armazenados ao salvar o mapa //caso o mapa atual tenha sido recuperado do banco de dados // if(retorno.data.customizacoesinit){ preferencias = YAHOO.lang.JSON.parse(retorno.data.customizacoesinit); temp = i3GEO.util.base64decode(preferencias.preferenciasbase64); i3GEO.mapa.aplicaPreferencias(temp); } if(i3GEO.Interface.ATUAL === "googleearth"){ i3GEO.configura.guardaExtensao = false; } //obtem o cookie com a ultima extensao geografica if(i3GEO.configura.guardaExtensao === true){ if(i3GEO.Interface.openlayers.googleLike === true){ nomecookie = "i3geoUltimaExtensaoOSM"; } temp = i3GEO.util.pegaCookie(nomecookie); if(temp){ temp = temp.replace(/[\+]/g, " "); i3GEO.parametros.mapexten = temp; } i3GEO.eventos.NAVEGAMAPA.push(function(){ i3GEO.util.insereCookie(nomecookie,i3GEO.parametros.mapexten); }); } //anula os cookies de login se for necessario //o servidor verifica se na sessao o login esta ativo if(i3GEO.parametros.logado === "nao"){ i3GEO.login.anulaCookie; } // i3GEO.arvoreDeCamadas.CAMADAS = retorno.data.temas; if(retorno.data.variaveis.navegacaoDir.toLowerCase() === "sim") {i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir = true;} // //calcula (opcional) o tamanho correto da tabela onde fica o mapa //se não for feito esse cálculo, o mapa fica ajustado a  esquerda // temp = 0; if ($i("contemFerramentas")){temp = temp + parseInt($i("contemFerramentas").style.width,10);} if ($i("ferramentas")){temp = temp + parseInt($i("ferramentas").style.width,10);} if($i("mst")) {$i("mst").style.width=i3GEO.parametros.w + temp + "px";} i3GEO.Interface.inicia(); // //obtem os parametros que foram armazenados ao salvar o mapa //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); } } else {alert("Erro. Impossivel criar o mapa "+retorno.data);return;} // //ativa a janela de mensagens se for o caso // if($i("ajuda")) //para efeitos de compatibilidade com as versões anteriores a 4.1 {i3GEO.ajuda.DIVAJUDA = "ajuda";} /* abreJM = "sim"; if(i3GEO.util.pegaCookie("botoesAjuda")){ abreJM = i3GEO.util.pegaCookie("botoesAjuda"); i3GEO.barraDeBotoes.AJUDA = (abreJM === "sim") ? true : false; } */ if(i3GEO.configura.iniciaJanelaMensagens === true) {i3GEO.ajuda.abreJanela();} if (i3GEO.configura.liberaGuias.toLowerCase() === "sim") {i3GEO.guias.libera();} } i3GEO.aposIniciar(); } catch(e){ if(typeof(console) !== 'undefined'){console.warn(e);} } }; if (!$i("i3geo")) {document.body.id = "i3geo";} $i("i3geo").className = "yui-skin-sam"; // //se i3GEO.configura.sid = "", o html foi aberto diretamente //então, é necessário criar os arquivos temporários do mapa //essa operação deve ser assíncrona // if(i3GEO.configura.sid===""){ mashup = function (retorno){ //verifica se existe bloqueio em funcao da senha no ms_configura.php if(retorno.bloqueado){ alert(retorno.bloqueado); exit; } i3GEO.configura.sid = retorno.data; i3GEO.inicia(retorno); }; i3GEO.configura.mashuppar += "&interface="+i3GEO.Interface.ATUAL; //acrescenta camadas iniciais if(i3GEO.mapa.TEMASINICIAIS.length > 0){ i3GEO.configura.mashuppar += "&temasa="+i3GEO.mapa.TEMASINICIAIS; } if(i3GEO.mapa.TEMASINICIAISLIGADOS.length > 0){ i3GEO.configura.mashuppar += "&layers="+i3GEO.mapa.TEMASINICIAISLIGADOS; } i3GEO.php.criamapa(mashup,i3GEO.configura.mashuppar); } else{ if(i3GEO.parametros.w === "" || i3GEO.parametros.h === ""){ tamanho = i3GEO.calculaTamanho(); i3GEO.parametros.w = tamanho[0]; i3GEO.parametros.h = tamanho[1]; } i3GEO.php.inicia(montaMapa,i3GEO.configura.embedLegenda,i3GEO.parametros.w,i3GEO.parametros.h); } if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.janela.fechaAguarde()") < 0) {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.janela.fechaAguarde()");} if(i3GEO.mapa.AUTORESIZE === true) {i3GEO.mapa.ativaAutoResize();} //eval(i3GEO.finaliza); }, /* Executa operações após o mapa ter sido posicionado na tela Executa também o que for definido em i3Geo.finaliza */ aposIniciar: function(){ if($i("mst")){$i("mst").style.visibility ="visible";} if(YAHOO.lang.isFunction(i3GEO.finaliza)) {i3GEO.finaliza.call();} else{ if(i3GEO.finaliza != "") {eval(i3GEO.finaliza);} } if(i3GEO.guias.TIPO === "movel") {i3GEO.guias.guiaMovel.inicia();} }, /* Function: atualiza Atualiza o mapa atual, altera a imagem do mapa os gadgets ativos e os parametros e verifica a integridade do mapa em uso (arquivo mapfile) O processo executa também a função de atualização específica da interface atual em uso, veja Os seguintes gadgets são processados Os eventos definidos em são executados Parametro: retorno {String} - string com os parametros do novo mapa. Se retorno não for especificado ou se for vazio, será feita uma chamada em ajax para sua obtenção. O resultado dessa chamada é armazenada em i3GEO.parametros */ atualiza: function(retorno){ if(typeof(console) !== 'undefined'){console.info("i3GEO.atualiza()");} var corpoMapa,erro,mapscale,temp; if(i3GEO.contadorAtualiza > 1) {i3GEO.contadorAtualiza--;return;} if(i3GEO.contadorAtualiza > 0) {i3GEO.contadorAtualiza--;} i3GEO.contadorAtualiza++; // //funcao que pega os dados do mapa no servidor // corpoMapa = function(){ if($i("ajaxCorpoMapa")) {return;} i3GEO.php.corpo(i3GEO.atualiza,i3GEO.configura.tipoimagem); }; // //se retorno não tiver sido definido, busca os dados no servidor e chama novamente a função atualiza // if(arguments.length === 0){ i3GEO.janela.fechaAguarde("ajaxCorpoMapa"); corpoMapa.call(); return; } // //igual a anterior para efeitos de compatibilidade com outras versões do i3geo // if(retorno === ""){ corpoMapa.call(); return; } // //se retorno.data não existir, é pq ocorreu um erro // if(!retorno.data){ alert(retorno); i3GEO.mapa.recupera.inicia(); //corpoMapa.call(); return; } //verifica se o parametro retorno existe, caso contrário, //faz a chamada ao programa PHP para obter os parametros try{ if (retorno.data === "erro"){ alert("Erro no mapa. Sera feita uma tentativa de recuperacao."); i3GEO.mapa.recupera.inicia();return; } else if(retorno.data === "ok" || retorno.data === "") {corpoMapa.call();return;} } catch(e){ if(typeof(console) !== 'undefined'){console.error("i3GEO.atualiza "+e);} } erro = function(){ var c = confirm("Ocorreu um erro, quer tentar novamente?"); if(c){ corpoMapa.call(); } else{ i3GEO.janela.fechaAguarde(); } return; }; // //atualiza as variáveis // if(arguments.length === 0 || retorno === "" || retorno.data.variaveis === undefined) {erro.call();return;} else{ // //se deu tudo certo, pega os valores do retorno e seta as variáveis do mapa // if(arguments.length === 0){return;} i3GEO.mapa.verifica(retorno); tempo = ""; if(i3GEO.desenho.richdraw) {i3GEO.desenho.richdraw.clearWorkspace();} mapscale = i3GEO.parametros.mapscale; i3GEO.atualizaParametros(retorno.data.variaveis); if(retorno.data.variaveis.erro !== "") {alert(retorno.data.variaveis.erro);} // //o try aqui é necessário pois na interface googlemaps os parametros retorno.data.variaveis não são gerados completamente // try{ i3GEO.arvoreDeCamadas.atualiza(retorno.data.temas); if (i3GEO.parametros.mapscale !== mapscale) {i3GEO.arvoreDeCamadas.atualizaFarol(i3GEO.parametros.mapscale);} } catch(e){} i3GEO.arvoreDeCamadas.CAMADAS = retorno.data.temas; i3GEO.Interface.redesenha(); //caso esteja na funcao de identificacao if($i("i3GEOidentificalistaTemas")){ g_tipoacao = "identifica"; g_operacao='identifica'; } else{ g_operacao = ""; } if ($i("mensagemt")){ $i("mensagemt").value = i3GEO.parametros.mapexten; } i3GEO.eventos.navegaMapa(); i3GEO.ajuda.mostraJanela("Tempo de redesenho em segundos: "+retorno.data.variaveis.tempo,""); // //verifica se deve ser feito o zoom em algum tema // temp = i3GEO.arvoreDeCamadas.verificaAplicaExtensao(); if(temp !== "") {i3GEO.tema.zoom(temp);} } }, /* Calcula o tamanho do mapa atual e define alguns elementos HTML do mapa Return: {array} - [w,h] */ calculaTamanho: function(){ if(typeof(console) !== 'undefined'){console.info("i3GEO.calculaTamanho()");} var diminuix,diminuiy,menos,novow,novoh,w,h,temp,Dw,Dh; diminuix = (navm) ? i3GEO.configura.diminuixM : i3GEO.configura.diminuixN; diminuiy = (navm) ? i3GEO.configura.diminuiyM : i3GEO.configura.diminuiyN; menos = 0; temp = $i("contemFerramentas"); if (temp && temp.style && temp.style.width) {menos += parseInt($i("contemFerramentas").style.width,10);} temp = $i("ferramentas"); if (temp && temp.style && temp.style.width) {menos += parseInt($i("ferramentas").style.width,10);} if(i3GEO.configura.autotamanho === true){ if (window.top === window.self){//nao se aplica em iframe window.resizeTo(screen.availWidth,screen.availHeight); window.moveTo(0,0); } } if(i3GEO.scrollerWidth === "") {i3GEO.scrollerWidth = i3GEO.util.getScrollerWidth();} i3GEO.tamanhodoc = [YAHOO.util.Dom.getViewportWidth(),YAHOO.util.Dom.getViewportHeight()]; Dw = YAHOO.util.Dom.getDocumentWidth(); Dh = YAHOO.util.Dom.getDocumentHeight(); novow = Dw - i3GEO.scrollerWidth; novoh = Dh; document.body.style.width = novow + "px"; document.body.style.height = novoh + "px"; w = novow - menos - diminuix; h = novoh - diminuiy; temp = $i("corpoMapa"); if (temp){ if(temp.style){ if (temp.style.width){ w = parseInt(temp.style.width,10); h = parseInt(temp.style.width,10); i3GEO.parametros.w = w; } if (temp.style.height){ h = parseInt(temp.style.height,10); i3GEO.parametros.h = h; } } } temp = $i("contemImg"); if(temp){ temp.style.height=h + "px"; temp.style.width=w + "px"; } return [w,h]; }, /* Recalcula o tamanho do mapa com base nas configurações do navegador Return: {array} - [w,h] */ reCalculaTamanho: function(){ var diminuix,diminuiy,menos,novow,novoh,w,h,temp, antigoh = i3GEO.parametros.h; diminuix = (navm) ? i3GEO.configura.diminuixM : i3GEO.configura.diminuixN; diminuiy = (navm) ? i3GEO.configura.diminuiyM : i3GEO.configura.diminuiyN; menos = 0; temp = $i("contemFerramentas"); if (temp && temp.style && temp.style.width) {menos += parseInt($i("contemFerramentas").style.width,10);} temp = $i("ferramentas"); if (temp && temp.style && temp.style.width) {menos += parseInt($i("ferramentas").style.width,10);} document.body.style.width = "100%"; temp = i3GEO.util.tamanhoBrowser(); novow = temp[0]; novoh = temp[1]; temp = (antigoh - (novoh - diminuiy)); document.body.style.height = novoh + "px"; w = novow - menos - diminuix; h = novoh - diminuiy; temp = $i(i3GEO.Interface.IDMAPA); if(temp){ temp.style.height=h + "px"; temp.style.width=w + "px"; YAHOO.util.Event.addListener(temp, "click", YAHOO.util.Event.stopEvent); YAHOO.util.Event.addFocusListener(temp, YAHOO.util.Event.preventDefault); } temp = $i(i3GEO.Interface.IDCORPO); if(temp){ temp.style.height=h + "px"; temp.style.width=w + "px"; YAHOO.util.Event.addListener(temp, "click", YAHOO.util.Event.stopEvent); YAHOO.util.Event.addFocusListener(temp, YAHOO.util.Event.preventDefault); } temp = $i("mst"); if(temp){ temp.style.width="100%"; } i3GEO.parametros.w = w; i3GEO.parametros.h = h; i3GEO.php.mudatamanho(i3GEO.atualiza,h,w); switch(i3GEO.Interface.ATUAL) { case "googlemaps": i3GEO.Interface.googlemaps.zoom2extent(i3GEO.parametros.mapexten); break; case "googleearth": i3GEO.Interface.googleearth.zoom2extent(i3GEO.parametros.mapexten); break; case "openlayers": i3GEO.Interface.openlayers.zoom2ext(i3GEO.parametros.mapexten); i3geoOL.updateSize(); break; } if(i3GEO.guias.TIPO === "sanfona"){ i3GEO.guias.ALTURACORPOGUIAS = h - (antigoh - i3GEO.guias.ALTURACORPOGUIAS); } else {i3GEO.guias.ALTURACORPOGUIAS = h;} return [w,h]; }, /* Atualiza os valores da variável i3GEO.parametros Parametro: variaveis {obj} - objeto JSON com os valores. Tipicamente é obtido do servidor por meio de uma chamada AJAX */ atualizaParametros:function(variaveis){ i3GEO.parametros.mapscale = variaveis.mapscale*1; i3GEO.parametros.mapres = variaveis.mapres*1; i3GEO.parametros.pixelsize = variaveis.pixelsize*1; i3GEO.parametros.mapexten = variaveis.mapexten;//variaveis.mapexten; i3GEO.parametros.mapimagem = variaveis.mapimagem; i3GEO.parametros.w = variaveis.w*1; i3GEO.parametros.h = variaveis.h*1; i3GEO.parametros.mappath = variaveis.mappath; i3GEO.parametros.mapurl = variaveis.mapurl; if(i3GEO.login.verificaCookieLogin()){ i3GEO.parametros.editor = "sim"; } else{ i3GEO.parametros.editor = "nao"; } } };