/* Title: Inicialização do i3geo. Cria o objeto objmapa e inicializa o mapa. Define as operações das funcionalidades principais. Exemplo: g_janelaMen = "nao" objmapa = new Mapa() objmapa.inicializa() File: iniciamma.js About: Licença 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@mma.gov.br 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; tanto a versão 2 da Licença. 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 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. */ /* Section: variáveis de configuração */ /* Variable: g_autoRedesenho Ativa o auto redesenho após um determinado temp. Após decorrido o tempo definido, o mapa é redesenhado. Se for 0 o temporizador não é ativado. */ g_autoRedesenho = 0; /* Variable: g_sid Id da seção atual no servidor. */ if (window.location.href.split("?")[1]) {g_sid = window.location.href.split("?")[1];} else {g_sid = "";} /* Variable: imagemxi Inicialização da variável de cálculo de posicionamento. */ imagemxi = 0; /* Variable: imagemyi Inicialização da variável de cálculo de posicionamento. */ imagemyi = 0; /* Variable: atuaLeg Variável interna que define se a legenda docável deve ser atualizada. */ atuaLeg="nao"; /* Variable: g_mashuppar Parâmetros de inicialização que podem ser utilizados na interface mashup. Os parâmetros são os mesmos que podem ser utilizados quando o i3geo é inicializado pelo ms_criamapa.php. Exemplo: g_mashuppar = "&pontos=-54 -12&temasa=biomas&layers=biomas" */ g_mashuppar = ""; /* Variable: g_operacao Nome da última operação que foi executada. Dependendo do tipo de operação são aplicadas as atualizações necessárias aos componentes do mapa. Por exemplo, redesenha o corpo do mapa, atualiza a lista de temas, etc. Essas operações são controladas pela função ajaxiniciaparametros. */ g_operacao = ""; /* Variable: g_nomepin Nome do tema atual que irá receber dados pontuais ou toponimia. */ g_nomepin = ""; /* Variable: g_arvoreClick Item da árvore de temas que foi clicado por último. Guarda o identificador do nó da árvore de temas. */ g_arvoreClick = ""; /* Variable: g_arvoreClicks Guarda os nós da árvore de temas que já foram clicados. Evita que a função ajax que busca os filhos de um nó na árvore de temas seja executado novamente, recuperando o que já está na memória. */ g_arvoreClicks = ""; /* Variable: g_movedoca (depreciado) Indica o status (0 ou 1) atual da janela interna. Se a janela estiver sendo movimentada, o status é igual a 1. */ g_movedoca = 0; /* Variable: g_movedocac (depreciado) Indica o status (0 ou 1) atual da janela para seleção de cores. Se a janela estiver sendo movimentada, o status é igual a 1. */ g_movedocac = 0; /* Variable: g_movedocar (depreciado) Indica o status (0 ou 1) atual da janela do mapa de referência. Se a janela estiver sendo movimentada, o status é igual a 1. */ g_movedocar = 0; /* Variable: g_tipoacao Tipo de ação que está sendo executada. Quando o usuário clica no mapa, essa variável é pesquisada para definir o tipo de operação que deve ser executada. É definida quando o usuário seleciona uma determinada ferramenta do i3Geo. */ g_tipoacao = "zoomli"; /* Variable: g_realca Define se o realce do mapa deve ficar ativo. O realce é um box que segue o mouse, por ter uma coloração diferente, provoca um efeito de destaque. */ g_realca = "nao"; /* Variable: g_destaca Armazena o código do tema que está em destaque. Um tema em destaque é mostrado em um retângulo que segue o mouse. O tema destacado é selecionado nas opções de cada tema. */ g_destaca = ""; /* Variable: g_lenteaberta Indica se a lente de aumento está ou não aberta. É definida quando o usuário clica no ícone "lente". Quando o mapa é redesenhado, essa variável é checada para verificar se a lente deve ser refeita. */ g_lenteaberta = "nao"; /* Variable: g_hlpt Indica qual o nome do arquivo de ajuda que será aberto quando a letra "a" for digiada. É definida quando o usuário passa o mouse sobre um ícone ou outro objeto. */ g_hlpt = ""; /* Variable: g_panM Indica se o mapa deve ou não ser deslocado. É utilizada no controle da função "pan". */ g_panM = "nao"; /* Variable: quadrofilme Array que guarda os objetos do quadro de animação. Cada elemento guarda um objeto com parâmetros específicos da classe quadrofilme */ quadrosfilme = new Array(); /* Variable: g_quadrooriginal Guarda a URL da imagem do mapa atual. É utilizada para recuperar a imagem correta do corpo do mapa atual, uma vez que ao mover de um objeto quadofilme para outro, a imagem do corpo do mapa é alterada. */ g_quadrooriginal = ""; /* Variable: wd (depreciado) Indica se a janela interna foi clicada. Utilizada na movimentação interativa da janela interna. */ wd = 0; /* Variable: navm Verdadeiro (true) se o navegador for o Internet Explorer */ navm = false; /* Variable: navn Verdadeiro (true) se o navegador for o Firefox */ navn = false; /* Variable: g_r Indica se o software R esta instalado (sim ou nao). É preenchida na inicialização do mapa via AJAX. */ g_r = "nao"; /* Section: variáveis públicas que podem ser alteradas pelo usuário antes de inicializar o mapa */ /* Variable: g_embedLegenda Indica se a legenda deve ser incluida no corpo do mapa. Values: sim|nao */ g_embedLegenda = "nao"; /* Variable: oMenuData Array com a arvore do menu suspenso Se for igual a "" será utilizado o menu padrão. */ oMenuData = ""; /* Variable: g_3dmap Variável que define o nome do map_file que possuí o layer para uso na função 3d. Pode ser caminho completo. Se não, busca no aplicmap. */ g_3dmap = ""; /* Variable: g_opcoesTemas Variável que define se as opcoes adicionais de cada tema serao mostradas. As opções são aquelas apresentadas na lista de temas do mapa quando um tema é expandido. Values: sim|nao */ g_opcoesTemas = "sim"; /* Variable: g_mostraRosa Variável que define se a rosa dos ventos deve ser mostrada junto ao mouse. A rosa dos ventos permite a navegação pelo mapa sem a necessidade de alterar a opção atual. Por exemplo, pode-se navegar pelo mapa mesmo estando na opção de identificação. O aparecimento da rosa é temporizada. Values: sim|nao */ g_mostraRosa = "sim"; /* Variable: g_visual Indica qual o tipo de visual para abertura do mapa. Os visuais disponíveis são obtidos do diretório i3geo/imagens/visual na inicialização do i3geo. */ g_visual = "default"; /* Variable: g_janelaMen Define se a janela de mensagens começará aberta. Values: siim|nao */ g_janelaMen = "sim"; /* Variable: g_downloadbase Define se na guia 2 será mostrada a opção de download dos dados. Values: sim|nao */ g_downloadbase = "sim"; /* Variable: g_conectargeorss Define se na guia 2 será mostrada a opção de conexão com GeoRSS. Values: sim|nao */ g_conectargeorss = "sim"; /* Variable: g_uploadlocal Variável que define se na guia 2 será mostrada a opção de upload. Values: sim|nao */ g_uploadlocal = "sim"; /* Variable: g_conectarwms Variável que define se na guia 2 será mostrada a opção de conexão com WMS. Values: sim|nao */ g_conectarwms = "sim"; /* Variable: g_docaguias Variável que define se o mapa deve iniciar com as guias em janela ou não. As guias em janela causam o desenho de um mapa com tamanho extendido. Values: sim|nao */ g_docaguias = "nao"; /* Variable: g_barraFerramentas1 Define se a barra de ferramentas 1 será aberta ou não no mapa. Values: sim|nao */ g_barraFerramentas1 = "sim"; /* Variable: g_barraFerramentas2 Define se a barra de ferramentas 2 será aberta ou não no mapa. Values: sim|nao */ g_barraFerramentas2 = "sim"; /* Variable: g_fatordezoom Variável interna para a barra de zoom. */ g_fatordezoom = 0; /* Variable: g_diminuixM Diminui a largura do mapa em pixels no caso do navegador ser o IE. */ g_diminuixM = 20; /* Variable: g_diminuixN Diminui a largura do mapa em pixels no caso do navegador ser o FF. */ g_diminuixN = 25; /* Variable: g_diminuiyM Diminui a altura do mapa em pixels no caso do navegador ser o IE. */ g_diminuiyM = 106; /* Variable: g_diminuiyN Diminui a altura do mapa em pixels no caso do navegador ser o FF. */ g_diminuiyN = 103; /* Variable: g_mapaRefDisplay Indica a visibilidade do mapa de referência na inicialização Values: block|none */ g_mapaRefDisplay = "block"; /* Variable: g_funcaoTip Função ajax que será executada para mostrar informações do tipo TIP. A função é executada pelo CPAINT e avaliada com "eval". Por padrão a função é a verificaTipDefault */ g_funcaoTip = "verificaTipDefault()"; /* Variable: g_tempotip Tempo utilizado para verificar se o mouse está parado. Se o mouse estiver parado, a função de mostrar tip é ativada. */ g_tempotip = 4500; /* Variable: g_tipotip Define como o tip será mostrado. Values: simples|completo */ g_tipotip = "completo"; /* Variable: g_tipoimagem Indica o tipo de filtro de imagem que está ativo. O filtro ativo é aplicado sobre a imagem toda a vez que o mapa é refeito. */ g_tipoimagem = "nenhum"; /* Variable: g_sistemas Nome do arquivo xml com a lista de sistemas que serão mostrados na guia de adição de temas. O valor dessa variável é definido no arquivo "ms_configura.php" e é preenchida utilizando o ajax. */ g_sistemas = ""; /* Variable: destacaTamanho Valor em pixel do retângulo de destaque de temas. */ destacaTamanho = 75; /* Variable: g_mensagempadrao Mensagem padrão que será mostrada na janela de mensagens. */ g_mensagempadrao = "O I3Geo é software livre! Para download clique aqui"; /* Variable: g_entorno Indica se o preenchimento do entorno do mapa está ou não ativo. Utilizado para criar o efeito de auto-preenchimento do mapa quando é executada a função pan. É alterada em uma opção específica no menu suspenso. Values: sim|nao */ g_entorno = "nao"; /* Variable: g_guiaativa Indica qual guia do mapa iniciará ativa. */ g_guiaativa = "guia1"; //seta as variáveis navn e navm var app = navigator.appName.substring(0,1); if (app=='N') navn=true; else navm=true; if (navm) { g_postpx = ""; //utilizado para crossbrowser g_tipotop = "pixelTop"; //utilizado para crossbrowser g_tipoleft = "pixelLeft"; //utilizado para crossbrowser } else { g_postpx = "px"; g_tipotop = "top"; g_tipoleft = "left"; } //inclui uma mensagem no rodapé da janela quando a tela do navegador tem seu tamanho modificado pelo usuário window.onresize = function(){window.status = "Após alterar o tamanho da janela, clique no botão de refresh do navegador";} function cria() { var mashup = function (retorno) { g_sid = retorno.data; objmapa.inicializa(); } var cp = new cpaint(); cp.set_async(true); cp.set_response_type("JSON"); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=criaMapa"; cp.call(p,"",mashup); } /* Class: Mapa Objeto mapa (objmapa). Executa os programas ajax que geram o corpo do mapa, o mapa de referência, a barra de escala e a legenda. Preenche os elementos HTML necessários para visualização do mapa. Parameters: e - (opcional, se não existir, o valor será buscado na URL) extensão geográfica do mapa com valores separados por espaço m - (opcional, se não existir, o valor será buscado na URL) nome do mapfile criado para o mapa return: objmapa - objeto mapa do i3geo Constructor: objmapa = New Mapa() */ function Mapa(e,m) { objaguarde = new aguarde(); objposicaocursor = new posicaocursor(); objposicaomouse = new posicaomouse(); //faz o cache das imagens para desenhar mais rápido imgBranco = new Image(); imgBranco.src = g_locaplic+"/imagens/branco.gif"; var icache = new Array("foldermapa.gif","extent.gif","tic.png","maisvermelho.png","maisverde.png","maisamarelo.png","temas.png","x.gif","sobe.gif","desce.gif","quadro.png","quadro1.png","excluir.png"); for (i=0;icache.lenght;i++) { var temp = new Image(); temp.src = g_locaplic+"/imagens/"+icache[i]; } var temp = new Image(); temp.src = g_locaplic+"/classesjs/jsobjects/jsUI-Treeview/plus.gif"; temp.src = g_locaplic+"/classesjs/jsobjects/jsUI-Treeview/minus.gif"; //calcula o tamanho do mapa var diminuix = (navm) ? g_diminuixM : g_diminuixN; var diminuiy = (navm) ? g_diminuiyM : g_diminuiyN; /* Variable: objmapa.w Largura do mapa criado É calculado em função do tamanho da tela. No caso do corpo do mapa possuir a propridedade de largura em seu estilo, é utilizado esse tamanho. */ /* Variable: objmapa.h Altura do mapa criado É calculado em função do tamanho da tela. No caso do corpo do mapa possuir a propridedade de largura em seu estilo, é utilizado esse tamanho. */ if (e == undefined) { var menos = 0; if ($i("contemFerramentas")) {menos = menos + parseInt($i("contemFerramentas").style.width);} if ($i("encolheFerramentas")) {menos = menos + parseInt($i("encolheFerramentas").style.width);} if ($i("ferramentas")) {menos = menos + parseInt($i("ferramentas").style.width);} var novow = screen.availWidth - diminuix; var novoh = screen.availHeight - diminuiy; if (novow >= 1024) { novow = 1000; } if (novoh >= 700) { novoh = 700; } if (document.body.style.width < 400) { var novow = screen.availWidth - diminuix; var novoh = screen.availHeight - diminuiy; window.resizeTo(screen.availWidth,screen.availHeight); window.moveTo(0,0); } document.body.style.width = novow; document.body.style.height = novoh; this.w = parseInt(document.body.style.width) - menos - diminuix; this.h = parseInt(document.body.style.height) - diminuiy; if (document.getElementById("corpoMapa")) { if (document.getElementById("corpoMapa").style.width) { this.w = parseInt(document.getElementById("corpoMapa").style.width); this.h = parseInt(document.getElementById("corpoMapa").style.width); } if (document.getElementById("corpoMapa").style.height) {this.h = parseInt(document.getElementById("corpoMapa").style.height);} } } else { this.w = document.body.offsetWidth - parseInt($i("contemFerramentas").style.width) - diminuix; this.h = document.body.offsetHeight - diminuiy; } if ($i("openlayers")) { $i("openlayers").style.width = this.w; $i("openlayers").style.height = this.h; } /* Variable: objmapa.navegacaoDir Indica se deve ser incluida a opção de navegação nos diretórios do servidor. A indicação sim|nao é obtida na inicialização do i3geo, e é definido no ms_configura.php */ this.navegacaoDir = "nao"; /* Variable: objmapa.listavisual String com a lista de visuais disponíveis no i3geo. A lista é obtida na inicialização do i3geo, lendo-se os diretórios disponíveis em imagens/visual */ this.listavisual = ""; /* Variable: objmapa.visualatual Indica qual o visual atualmente em uso. */ this.visualatual = "default"; /* Variable: objmapa.funcoesClickMapa Array com a lista de funções que serão executadas quando o usuário clica no mapa É utilizado quando o i3geo é customizado, acrescentando outras funcionalidades alé do padrão. Na customização, deve ser definida após a inicialização do mapa. */ this.funcoesClickMapa = new Array(); /* Variable: objmapa.objtips Array que guarda os objetos tips fixos na tela. Os objetos são acrescentados à essa variável quando um tip é fixado na tela pelo usuário. Quando o mapa é redesenhado, essa variável é limpa. */ this.objtips = new Array(); // /* Variable: objmapa.tempo Inicia o temporizador para redesenhar o mapa. */ this.tempo = ""; // /* Variable: objmapa.autoRedesenho Inicia o temporizador para redesenhar o mapa automaticamente. */ this.tempoRedesenho = ""; // this.contaTempoRedesenho = ""; // /* Variable: objmapa.temaAtivo Tema que esta ativo. Utilizado em varias operacoes onde o tema e selecionado de um combo */ this.temaAtivo = ""; /* Variable: objmapa.pinmarca Simbolo utilizado para insercao de pontos. A inserção é utilizada em algumas ferramentas, como a digitalização de elementos. */ this.pinmarca = "marca"; // /* Variable: objmapa.pintamanho Tamanho da marca utilizada na inclusão de pontos */ this.pintamanho= "5"; /* Variable: objmapa.escala Escala do mapa atual. É sempre redefinida quando o mapa é redesenhado. */ this.scale = 50000; /* Variable: objmapa.temas Temas disponíveis no mapa atual. Guarda a lista de temas e suas características. É definida quando o mapa é inicializado ou redesenhado. */ this.temas = ""; /* Variable: objmapa.legenda Legenda HTML do mapa atual. Guarda o HTML que apresenta a legenda no mapa. */ this.legenda=""; /* Variable: objmapa.finaliza Função que será executada no final do processo de montagem do mapa. Pode ser utilizada quando se deseja customizar o I3Geo. */ this.finaliza=""; /* Variable: objmapa.guiaTemas Define qual a guia para listar os temas do mapa */ this.guiaTemas = "guia1"; /* Variable: objmapa.guiaMenu Define qual a guia que receberá o menu de seleção de temas */ this.guiaMenu = "guia2"; /* Variable: objmapa.guiaLegenda Define qual a guia receberá a legenda do mapa */ this.guiaLegenda = "guia4"; /* Variable: objmapa.guiaListaMapas Define a guia que receberá a lista de mapas */ this.guiaListaMapas = "guia5"; /* Function: inicializa Inicializa o mapa Paremeters: void */ this.inicializa= function() { if (!$i("i3geo")) {document.body.id = "i3geo";} $i("i3geo").onmouseover = function() { this.onmousemove=function(exy1) { //if ($i("img")){calcposf();} if (navn) { objposicaomouse.x = exy1.clientX; objposicaomouse.y = exy1.clientY; } if (navm) { objposicaomouse.x = window.event.clientX; objposicaomouse.y = window.event.clientY; } } } // //se g_sid="", o html foi aberto diretamente //então, é necessário criar o mapa // if (g_sid=="") { var mashup = function (retorno) { g_sid = retorno.data; objmapa.inicializa(); } var cp = new cpaint(); cp.set_async("true"); cp.set_response_type("JSON"); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=criaMapa"+g_mashuppar; cp.call(p,"",mashup); return; } //testa se os javascripts foram carregados if (!window.testafuncoes) {alert("funcoes.js com problemas");} if (!window.testamenususpenso) {alert("menususpenso.js com problemas");} if (!window.testaferramentas) {alert("ferramentas.js com problemas");} if (!window.testaajax) {alert("redesenho.js com problemas");} // //objeto que guarda os parametros de posicionamento do cursor objaguarde.abre("montaMapa","Aguarde...iniciando o mapa"); var cp = new cpaint(); cp.set_response_type("JSON"); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=inicia&embedLegenda="+g_embedLegenda+"&w="+this.w+"&h="+this.h+"&g_sid="+g_sid; cp.call(p,"iniciaMapa",this.montaMapa); } /* Function: montaMapa Processa os resultados da inicialização e monta o mapa Parameters: Resultado da função inicializa */ this.montaMapa = function (retorno) { if (retorno.data.search(" erro.") > -1) { alert(retorno.data); } if (retorno.data == "linkquebrado") { objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML = "
Para abrir o mapa utilize o link:
"+g_locaplic+"/ms_criamapa.php"; return("linkquebrado"); } else { if ((retorno.data != "erro") && (retorno.data != undefined)) { eval(retorno.data); /* menu suspenso */ if (oMenuData == "") { oMenuData = { "ajudas": [ { text: "Sobre o I3Geo", url: "javascript:g_hlpt = 'sobrei3geo';ajudaf('abre')" }, { text: "Sistema", url: "javascript:abreDoc()" }, { text: "WikiBook", url: "http://pt.wikibooks.org/wiki/I3geo" }, { text: "Tutoriais", url: "http://mapas.mma.gov.br/wikibooki3geo" }, { text: "Blog", url: "http://sistemas.mma.gov.br/blogs/index.php?blog=6" }, ], "analise": [ { text: "Geometrias", url: "javascript:analisaGeometrias()" }, { text: "Grade de poligonos", url: "javascript:gradePol()" }, { text: "Grade de pontos", url: "javascript:gradePontos()" }, { text: "Grade de hexágonos", url: "javascript:gradeHex()" }, { text: "Entorno (buffer)", url: "javascript:buffer()" }, { text: "Centróide", url: "javascript:centroide()" }, { text: "N pontos em poligono", url: "javascript:nptPol()" }, { text: "Ponto em poligono/raster", url: "javascript:pontoempoligono()" }, { text: "Distribuição de pontos", url: "javascript:pontosdistri()" } ] }; if (!$i("listaPropriedades")) { oMenuData.propriedades = [ { text: "Tipo de imagem", url: "javascript:tipoimagem()" }, { text: "Legenda", url: "javascript:opcoesLegenda()" }, { text: "Escala", url: "javascript:opcoesEscala()" }, { text: "Tamanho", url: "javascript:tamanho()" }, { text: "Ativa/desativa entorno", url: "javascript:ativaEntorno()" }, { text: "Ativa/desativa logo", url: "javascript:ativaLogo()" }, { text: "Cor da selecao", url: "javascript:queryMap()" }, { text: "Cor do fundo", url: "javascript:corFundo()" }, { text: "Grade de coordenadas", url: "javascript:gradeCoord()" } ]; } oMenuData.janelas = [ { text: "Barras de ferramentas", url: "javascript:initJanelaZoom('1');initJanelaZoom('2')" }, { text: "Janela de mensagens", url: "javascript:initJanelaMen()" } ]; oMenuData.arquivo = [ { text: "Salvar mapa", url: "javascript:salvaMapa()" }, { text: "Carregar mapa", url: "javascript:carregaMapa()" }, { text: "Pegar imagens", url: "javascript:pegaimagens()" }, { text: "Converter em WMS", url: "javascript:convertews()" }, { text: "Gerador de links", url: "../geradordelinks.htm" } ]; } if ($i("menus")) {YAHOO.example.onWindowLoadMenu();} //insere botao dinamico de aplicar if (!$i("aplicari")) { var novoel = document.createElement("input"); novoel.id = 'aplicari'; novoel.type = 'button'; novoel.value = 'Aplicar'; novoel.style.cursor="pointer"; novoel.style.fontSize="10px"; novoel.style.zIndex = 15000; novoel.style.position="absolute"; novoel.style.display="none"; novoel.onclick=function() { remapaf(); this.style.display="none" } novoel.onmouseover = function(){this.style.display="block";} novoel.onmouseout = function(){this.style.display="none";} document.body.appendChild(novoel); } gerafilmef(10); //inicia as barras de ferramentas if (g_barraFerramentas1 == "sim") {initJanelaZoom(1);} if (g_barraFerramentas2 == "sim") {initJanelaZoom(2);} objmapa.atualizaListaTemas(temas); objmapa.atualizaReferencia(mapexten); objmapa.scale = parseInt(mapscale); objmapa.temas = temas; objmapa.cellsize = g_celula; objmapa.extent = mapexten; objmapa.extentTotal = mapexten; objmapa.criaCorpoMapa(); ajaxCorpoMapa(retorno); objmapa.criaEscalaGrafica(); objmapa.atualizaEscalaGrafica(); objmapa.ativaLocallizarXY("localizarxy"); objmapa.ativaBuscaRapida("buscaRapida"); objmapa.ativaListaPropriedades("listaPropriedades"); objmapa.ativaRealce("realca"); objmapa.ativaGoogle("google"); objmapa.ativaScielo("scielo"); objmapa.ativaConfluence("confluence"); objmapa.ativaZoomtot("zoomtot"); objmapa.ativaZoomli("zoomli"); objmapa.ativaPan("pan"); objmapa.ativaZoomiauto("zoomiauto"); objmapa.ativaZoomoauto("zoomoauto"); objmapa.ativaIdentifica("identifica"); objmapa.ativaLente("lentei"); objmapa.ativaExten("exten"); objmapa.ativaReferencia("referencia"); objmapa.ativaEscalanum("escala"); objmapa.ativaWiki("wiki"); objmapa.ativaReinicia("reinicia"); objmapa.ativaMede("mede"); objmapa.ativaInserexy("inserexy"); objmapa.ativaInsereGrafico("inseregrafico"); objmapa.ativaSelecao("selecao"); objmapa.ativaTextofid("textofid"); objmapa.ativa3D("v3d"); objmapa.ativaImpressao("imprimir"); objmapa.ativaVisual("visual"); objmapa.ativaOndeEstou("ondeestou"); ativaGuias(); //esconde guias if(($i("encolheFerramentas")) && ($i("contemFerramentas"))) { $i("encolheFerramentas").onclick = function() {docaguias();} } calcposf(); //calcula a posicao do mapa no browser g_leftinicial = imagemxi; if ($i("corpoMapa")) { $i("img").style.width=objmapa.w +"px"; $i("img").style.height=objmapa.h +"px"; $i("corpoMapa").style.width=objmapa.w +"px"; $i("corpoMapa").style.height=objmapa.h +"px"; $i("corpoMapa").style.clip = 'rect('+0+" "+(objmapa.w)+" "+(objmapa.h)+" "+0+')'; } var temp = 0; if ($i("contemFerramentas")){temp = temp + parseInt($i("contemFerramentas").style.width);} if ($i("encolheFerramentas")){temp = temp + parseInt($i("encolheFerramentas").style.width);} if ($i("ferramentas")){temp = temp + parseInt($i("ferramentas").style.width);} $i("mst").style.width=objmapa.w + temp + "px"; $i("contemImg").style.height=objmapa.h + "px"; $i("contemImg").style.width=objmapa.w + "px"; calcposf(); //reposiciona a janela de botoes if ($i("maisBotoes1")){YAHOO.janelaBotoes1.xp.panel.moveTo(imagemxi+40,imagemyi+10);} if ($i("maisBotoes2")){YAHOO.janelaBotoes2.xp.panel.moveTo(imagemxi,imagemyi+10);} mudaiconf("pan"); //inicia no icone de zoom por box if (g_entorno == "sim") { geraURLentorno(); var letras=["L","O","N","S"]; for (l=0;l "; } $i(visual).innerHTML = visuais; } } } /* Function: ativaLocallizarXY Insere a opção de busca rápida. Parameters: id - id do elemento que ativa a operação */ this.ativaLocallizarXY = function(id) { if ($i(id)) { $i(id).innerHTML = "localiza X:    Y:  "; $i(id).onmouseover = function(){mostradicasf(this,'Digite as coordenadas de um ponto (X=longitude e Y=latitude) para localizá-lo no mapa. O centro do mapa será deslocado para o ponto digitado.','');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaBuscaRapida Insere a opção de busca rápida. Parameters: id - id do elemento que ativa a operação */ this.ativaBuscaRapida = function (id) { if($i(id)) { var ins = ""; ins += ""; $i(id).innerHTML = ins; } } /* Function: ativaListaPropriedades Mostra a lista de propriedades do mapa. Parameters: id - id do elemento que ativa a operação */ this.ativaListaPropriedades = function(id) { if ($i(id)) { var lista = { "propriedades": [ { text: "Tipo de imagem", url: "javascript:tipoimagem()" }, { text: "Legenda", url: "javascript:opcoesLegenda()" }, { text: "Escala", url: "javascript:opcoesEscala()" }, { text: "Tamanho", url: "javascript:tamanho()" }, { text: "Ativa/desativa entorno", url: "javascript:ativaEntorno()" }, { text: "Ativa/desativa logo", url: "javascript:ativaLogo()" }, { text: "Cor da selecao", url: "javascript:queryMap()" }, { text: "Cor do fundo", url: "javascript:corFundo()" }, { text: "Grade de coordenadas", url: "javascript:gradeCoord()" }, { text: "Template", url: "javascript:template()" }, { text: "Temporizador", url: "javascript:autoredesenha()" } ]}; listaPr = new Object(); listaPr = treeviewNew("listaPr", "default", id, null); listaPr.createItem("propriedadesRaiz", "Propriedades do mapa", g_locaplic+"/imagens/visual/"+g_visual+"/foldermapa1.gif", true, false, true, null); var im = ""; if (navn) {var im = "";} for (l=0;l"+im+" "+lista.propriedades[l].text+" "; listaPr.createItem("propriedadesMapa"+l, tnome, imgBranco, false, true, false, "propriedadesRaiz"); } listaPr.createItem("","", imgBranco, false, true, false, "propriedadesRaiz"); } } /* Function: ativaRealce Ativa o botão que realiza o realce de um tema. Parameters: id - id do elemento que ativa a operação */ this.ativaRealce = function(id) { if ($i(id)) { $i(id).onclick = function realcaAtiva() { if (!$i("areaRealce")) { var novoel = document.createElement("div"); novoel.id = 'areaRealce'; novoel.style.display="none"; document.body.appendChild(novoel); if (navm) { $i("areaRealce").style.filter = "alpha(opacity=20)"; } } if (g_realca == "sim") { g_realca = "nao"; $i("areaRealce").style.display = "none"; $i(id).style.borderWidth=0; $i(id).style.borderColor='red'; } else { g_realca = "sim"; $i("areaRealce").style.display = "block"; $i(id).style.borderWidth=1; $i(id).style.borderColor='red'; } } $i(id).onmouseover = function(){mostradicasf(this,'Ativa/desativa área de destaque no mapa','');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaGoogle Ativa o botão que realiza a operação de de busca no Google. Parameters: id - id do elemento que ativa a operação */ this.ativaGoogle = function(id) { if ($i(id)) { $i(id).onclick= function google() { //div para google if (!$i("boxg")) { var novoel = document.createElement("div"); novoel.id = "boxg"; novoel.style.zIndex=1; novoel.innerHTML = ''; novoel.onmouseover = function(){$i("boxg").style.display="none";} document.body.appendChild(novoel); } g_operacao = "navega"; wdocaf("340px","340px",g_locaplic+"/ferramentas/googlemaps/index.htm","","","Google maps"); } $i(id).onmouseover=function(){mostradicasf(this,'Abre o Google Maps, mostrando uma imagem de satélite da região vista no mapa principal.','google');} $i(id).onmouseout=function(){mostradicasf(this,'');} } } /* Function: ativaScielo Ativa o botão que realiza a operação de de busca no site Scielo. Parameters: id - id do elemento que ativa a operação */ this.ativaScielo = function(id) { if ($i(id)) { $i(id).onclick= function scielo() { g_operacao = "navega"; wdocaf("450px","190px",g_locaplic+"/ferramentas/scielo/index.htm","","","Scielo"); } $i(id).onmouseover=function(){mostradicasf(this,'Pesquisa documentos na base de dados Scielo (dados preliminares)','scielo');} $i(id).onmouseout=function(){mostradicasf(this,'');} } } /* Function: ativaConfluence Ativa o botão que realiza a operação de de busca no site confluence. Parameters: id - id do elemento que ativa a operação */ this.ativaConfluence = function(id) { if ($i(id)) { $i(id).onclick= function confluence() { g_operacao = "navega"; wdocaf("250px","190px",g_locaplic+"/ferramentas/confluence/index.htm","","","confluence"); if (!$i("boxg")) { var novoel = document.createElement("div"); novoel.id = "boxg"; novoel.style.zIndex=5000; novoel.innerHTML = ''; document.body.appendChild(novoel); } } $i(id).onmouseover=function(){mostradicasf(this,'Projeto Confluence. Pontos de intersecção de coordenadas observadas em campo.','confluence');} $i(id).onmouseout=function(){mostradicasf(this,'');} } } /* Function: ativaZoomtot Ativa o botão que realiza a operação de zoom para a extensão total do mapa. Parameters: id - id do elemento que ativa a operação */ this.ativaZoomtot = function(id) { if ($i(id)) { $i(id).onclick = function (){zoomtot();} $i(id).onmouseover = function(){mostradicasf(this,'Altera a escala do mapa ajustando-a para mostrar a mesma abrangência geográfica da inicialização.','geral');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaZoomli Ativa o botão que realiza a operação de zoom interativo. Parameters: id - id do elemento que ativa a operação */ this.ativaZoomli = function (id) { if ($i(id)) { $i(id).onclick =function(){mudaiconf("zoomli");g_operacao="navega";} $i(id).onmouseover = function(){mostradicasf(this,'Amplia o mapa - coloca o ponto clicado no centro da tela ou amplia a região indicada por um retângulo.Após ativada, clique e arraste o mouse sobre o mapa na área de zoom desejada.','zoomli');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaPan Ativa o botão que realiza a operação de deslocamento (pan). Parameters: id - id do elemento que ativa a operação */ this.ativaPan = function(id) { if ($i(id)) { $i(id).onclick =function(){mudaiconf("pan");g_tipoacao = "pan";g_operacao="navega";} $i(id).onmouseover = function(){mostradicasf(this,'Desloca a região visível no mapa. Após ativada, clique e arraste o mouse sobre o mapa para deslocar a região visível.','pan');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaZoomiauto Ativa o botão que realiza a operação de zoom in. Parameters: id - id do elemento que ativa a operação */ this.ativaZoomiauto = function(id) { if ($i(id)) { $i(id).onclick = function() {zoomiauto();}; $i(id).onmouseover = function(){mostradicasf(this,'Amplia o mapa tendo como referêcia o centro atual.','zoomiauto');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaZoomoauto Ativa o botão que realiza a operação de zoom out. Parameters: id - id do elemento que ativa a operação */ this.ativaZoomoauto = function(id) { if ($i(id)) { $i(id).onclick = function(){zoomoauto();}; $i(id).onmouseover = function(){mostradicasf(this,'Reduz o mapa tendo como referêcia o centro atual.','zoomoauto');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaIdentifica Ativa o botão que abre a função de identificação. Parameters: id - id do elemento que ativa a operação */ this.ativaIdentifica = function(id) { if ($i(id)) { $i(id).onclick = function() { mudaiconf("identifica"); g_operacao="identifica"; } $i(id).onmouseover = function(){mostradicasf(this,'Mostra informações sobre um ponto no mapa. Após ativada, pare o mouse por alguns instantes no ponto desejado ou clique sobre o mesmo.','identifica');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaLente Ativa o botão que abre a lente de aumento. Parameters: id - id do elemento que ativa a operação */ this.ativaLente = function(id) { if ($i(id)) { $i(id).onclick = function lentei() { //insere lente de aumento if (!$i("lente")) { var novoel = document.createElement("div"); novoel.id = 'lente'; novoel.style.clip='rect(0px,0px,0px,0px)'; var novoimg = document.createElement("img"); novoimg.src=""; novoimg.id='lenteimg'; novoel.appendChild(novoimg); document.body.appendChild(novoel); var novoel = document.createElement("div"); novoel.id = 'boxlente'; document.body.appendChild(novoel); } with($i(id).style){borderWidth='1' + g_postpx;borderColor="red";} if (g_lenteaberta == "sim") { $i("lente").style.display = "none"; $i("boxlente").style.display = "none"; $i(id).style.borderWidth = 0; g_lenteaberta = "nao"; } else { g_lenteaberta = "sim"; objaguarde.abre("ajaxabrelente","Aguarde..."); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"lente",ajaxabrelente); } } $i(id).onmouseover = function(){mostradicasf(this,'Abre lente de ampliação','lente');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaExten Ativa o botão que abre a janela com o mapa de referência. Parameters: id - id do elemento que ativa a operação */ this.ativaExten = function (id) { if ($i(id)) { $i(id).onclick = function(){mensagemf(objmapa.extent);} $i(id).onmouseover = function(){mostradicasf(this,'Mostra a extensão geográfica atual em coordenadas geográficas.','extensao');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaReferencia Ativa o botão que abre a janela com o mapa de referência. Parameters: id - id do elemento que ativa a operação */ this.ativaReferencia = function(id) { if ($i(id)) { $i(id).onclick = function(){initJanelaRef();} $i(id).onmouseover = function(){mostradicasf(this,'Abre/fecha o mapa de referência','');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaEscalanum Ativa a apresentação da escala numérica. Parameters: id - id do elemento que ativa a operação */ this.ativaEscalanum = function(id) { if($i(id)) { $i(id).innerHTML = "1:"; $i("escalanum").onmouseover = function(){mostradicasf(this,'Digite o novo valor de escala e clique no botão aplicar para alterar a escala do mapa.','escala');} $i("escalanum").onmouseout = function(){mostradicasf(this,'');} if ($i("escalanum")){$i("escalanum").value = this.scale;} } } /* Function: ativaWiki Ativa o botão de busca na wikipedia. Parameters: id - id do elemento que ativa a operação */ this.ativaWiki = function(id) { if ($i(id)) { $i(id).onclick= function wiki() { g_operacao = "navega"; wdocaf("450px","190px",g_locaplic+"/ferramentas/wiki/index.htm","","","Wiki"); } $i(id).onmouseover = function(){mostradicasf(this,'Busca dados na Wikipedia na abrangência atual do mapa. Faça um zoom no mapa antes de abrir essa opção. Regiões muito extensas podem tornar a busca muito demorada.','');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaReinicia Ativa o botão de reinicialização do mapa que restaura as condições iniciais do mapa. Parameters: id - id do elemento que ativa a operação */ this.ativaReinicia = function(id) { if ($i(id)) { $i(id).onclick =function() { objaguarde.abre("ajaxredesenha","Aguarde..."); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=reiniciaMapa&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2); cp.set_response_type("JSON"); cp.call(p,"reiniciaMapa",ajaxredesenha); } $i(id).onmouseover = function(){mostradicasf(this,'Redesenha o mapa com as configurações iniciais.','redesenha');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaMede Ativa o botão de medição de distâncias. A medida é feita quando o usuário clica no mapa com esta opção ativa Quando o botão é acionado, abre-se a janela que mostra o resultado da medida, o ícone que segue o mouse é alterado. Para mostrar o resultado do cálculo, é incluído um div específico. Parameters: id - id do elemento que ativa a operação */ this.ativaMede = function(id) { if ($i(id)) { $i(id).onclick = function mede() { //insere div para medida de distancias if (!$i("mostradistancia")) { var novoel = document.createElement("div"); novoel.id = "mostradistancia"; novoel.style.display="none"; novoel.style.position="absolute"; document.body.appendChild(novoel); } if (g_tipoacao != "mede") { mudaiconf("mede"); pontosdistobj = new pontosdist(); $i("mostradistancia").style.display="block"; } else { mudaiconf("pan"); limpacontainerf(); //tira os pontos da tela $i("mostradistancia").style.display="none"; } } $i(id).onmouseover = function(){mostradicasf(this,'Mede a distância entre dois ou mais pontos clicados no mapa (menor distância). O cálculo de distância é aproximado e sua precisão depende da escala do mapa.','mede');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaInserexy Ativa o botão de inserção de pontos (digitalização). A inserção é feita quando o usuário clica no mapa com esta opção ativa Quando o botão é acionado, abre-se a janela de opções, o ícone que segue o mouse é alterado e a variável g_tipoacao é definida. Parameters: id - id do elemento que ativa a operação */ this.ativaInserexy = function(id) { if ($i(id)) { $i(id).onclick = function inserexy() { if (g_tipoacao != "inserexy") { var temp = Math.random() + "a"; temp = temp.split("."); g_nomepin = "pin"+temp[1]; mudaiconf("inserexy"); pontosdistobj = new pontosdist(); wdocaf("400px","300px",g_locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); } else {mudaiconf("pan");} } $i(id).onmouseover = function(){mostradicasf(this,'Insere pontos no mapa em coordenadas geográficas. Os pontos incluídos podem ser transformados em linhas ou polígonos. Os pontos são armazenados em um tema temporário, podendo-se fazer o download do arquivo shapefile.','inserexy');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaInsereGrafico Ativa o botão de inserção de gráficos. A inserção é feita quando o usuário clica no mapa com esta opção ativa Quando o botão é acionado, abre-se a janela de opções, o ícone que segue o mouse é alterado e a variável g_tipoacao é definida. Parameters: id - id do elemento que ativa a operação */ this.ativaInsereGrafico = function(id) { //insere grafico if ($i(id)) { $i(id).onclick = function inseregrafico() { if (g_tipoacao != "inseregrafico") { var temp = Math.random() + "gr"; temp = temp.split("."); g_nomepin = "pin"+temp[1]; mudaiconf("inseregrafico"); wdocaf("400px","300px",g_locaplic+'/ferramentas/inseregrafico/index.htm',"","","Insere"); } else {mudaiconf("pan");} } $i(id).onmouseover = function(){mostradicasf(this,'Insere um gráfico no ponto clicado conforme os atributos existentes no tema escolhido. O tema deve possuir itens com valores numéricos na tabela de atributos.','inseregrafico');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaSelecao Ativa o botão de seleção. A seleção é feita quando o usuário clica no mapa com esta opção ativa Quando o botão é acionado, abre-se a janela de opções, o ícone que segue o mouse é alterado e a variável g_tipoacao é definida. Parameters: id - id do elemento que ativa a operação */ this.ativaSelecao = function(id) { if ($i(id)) { $i(id).onclick = function selecao() { if (g_tipoacao != "selecao") { g_tipoacao = "selecao"; mudaiconf("selecao"); pontosdistobj = new pontosdist(); objmapa.temaAtivo = ""; wdocaf("360px","320px",g_locaplic+'/ferramentas/selecao/index.htm',"","","Seleção"); } else {mudaiconf("pan");} } $i(id).onmouseover = function(){mostradicasf(this,'Abre as ferramentas para seleção de elementos de um tema. Os elementos selecionados podem ser utilizados em outras operações, como buffer e seleção por tema.','selecao');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaTextoFid Ativa o botão de inserção de toponímia. A inserção é feita quando o usuário clica no mapa com esta opção ativa Quando o botão é acionado, abre-se a janela de opções, o ícone que segue o mouse é alterado e a variável g_tipoacao é definida. Parameters: id - id do elemento que ativa a operação */ this.ativaTextofid = function(id) { if ($i("textofid")) { $i("textofid").onclick = function textofid() { if (g_tipoacao != "textofid") { var temp = Math.random() + "b"; temp = temp.split("."); g_nomepin = "pin"+temp[1]; mudaiconf("textofid"); pontosdistobj = new pontosdist(); g_tipoacao = "textofid"; wdocaf("350px","200px",g_locaplic+"/ferramentas/inseretxt/index.htm","","","Texto"); } else {mudaiconf("pan");} } $i("textofid").onmouseover = function(){mostradicasf(this,'Insere um texto no mapa clicando no ponto desejado no mapa. Utilize essa opção para adicionar informações ao mapa.','inseretxt');} $i("textofid").onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativa3d Ativa a funcionalidade do botão 3d. O botão 3d abre a opção de geração de um modelo virtual de elevação. Parameters: id - id do elemento que ativa a operação */ this.ativa3D = function(id) { if ($i(id)) { $i(id).onclick = function v3d() {wdocaf("400px","200px",g_locaplic+"/ferramentas/3d/index.htm","","","3d");} $i(id).onmouseover = function(){mostradicasf(this,'Gera arquivo para 3d','3d');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaImpressão Ativa o botão de impressão do mapa. O botão de impressão abre as opções para impressão do mapa atual. Parameters: id - id do elemento que ativa a operação */ this.ativaImpressao = function(id) { if ($i(id)) { $i(id).onclick = function imprimir() {wdocaf("320px","180px",g_locaplic+"/ferramentas/imprimir/index.htm","","","Imprimir");} $i(id).onmouseover = function(){mostradicasf(this,'Imprime o mapa','imprimir');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } /* Function: ativaOndeEstou Ativa o botão de localização do usuário pelo IP. Essa opção só é ativada se a variável objmapa.geoip for igual a "sim" e se existir o div com id=ondeestou. O valor dessa variável é obtida na inicialização. Parameters: id - id do elemento que ativa a operação */ this.ativaOndeEstou = function(id) { if ($i(id)) { if (objmapa.geoip == "nao") {$i(id).style.display="none";} else { $i(id).onclick = function(){zoomIP();} $i(id).onmouseover = function(){mostradicasf(this,'Localiza o IP do usuario no mapa','');} $i(id).onmouseout = function(){mostradicasf(this,'');} } } } /* Function: criaEscalaGrafica Cria a escala gráfica como um lemento HTML se existir o id escalaGrafica */ this.criaEscalaGrafica = function() { if ( ($i("escalaGrafica")) && (!$i("imagemEscalaGrafica")) ) {$i("escalaGrafica").innerHTML = "";} } /* Function: atualizaEscalaGrafica Atualilza a escala gráfica */ this.atualizaEscalaGrafica = function() { if ($i("escalaGrafica")) { //objaguarde.abre("ajaxEscalaGrafica","Aguarde...criando escala gráfica"); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=escalagrafica&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"retornaBarraEscala",ajaxEscalaGrafica); } } /* Function: atualizaReferencia Atualiza o mapa de referência Parameters: mapexten - extensão geográfica */ this.atualizaReferencia = function(mapexten) { // //se houve alteração na extensão, é preciso refazer o mapa de referência //se não, a imagem atual é armazenada no quado de animação // if ($i("mapaReferencia") && objmapa.extent != mapexten) { var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=referencia&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2); cp.set_response_type("JSON"); cp.call(p,"retornaReferencia",ajaxReferencia); } else { if($i("imagemReferencia")) gravaQuadro("referencia",$i("imagemReferencia").src); } } /* Function: atualizaLegendaHTML Atualiza a legenda, em HTML, nos ids legenda e moveLegi */ this.atualizaLegendaHTML = function() { if (($i("moveLegi")) || ($i("legenda") && $i(objmapa.guiaLegenda+"obj") && $i(objmapa.guiaLegenda+"obj").style.display == "block")) { var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=criaLegendaHTML&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"criaLegenda",ajaxLegendaHTML); } } /* Function: atualizaLegendaImagem Atualiza a legenda no formato de uma imagem */ this.atualizaLegendaImagem = function() { if ($i("legenda")) { //objaguarde.abre("ajaxLegenda","Aguarde...atualizando a legenda"); var p =g_locaplic+"/classesphp/mapa_controle.php?funcao=criaLegendaImagem&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"legendaGrafica",ajaxLegendaImagem); } } /* Function: atualizaListaTemas Atualiza a lista de temas disponíveis no mapa (guia com a lista de temas) Parameters: temas - lista de temas. Se vazio, utiliza o objeto objmapa.temas */ this.atualizaListaTemas = function(temas) { if (($i("listaTemas")) && (objmapa.temas != temas)) { $i("listaTemas").innerHTML = ""; var lista = temas.split(";"); mytreeview1 = new Object(); mytreeview1 = treeviewNew("mytreeview1", "default", "listaTemas", null); mytreeview1.createItem("g1", "Camadas", g_locaplic+"/imagens/foldermapa.gif", true, true, true, null); mytreeview1.itemExpand = expandeTema; var cor = "rgb(250,250,250)"; //codigo,status,nome,transparencia,tipo,selecao,escala,download,tem features,conexao,tem wfs for (l=0;l"; if (ltema[5] == "sim") //o tema tem selecao {tnome += " ";} //verifica se e um wms que tem wfs if ((ltema[10] == "sim") || (ltema[10] == "SIM")) {tnome += " ";} if ((ltema[7] == "sim") || (ltema[7] == "SIM")) {tnome += " ";} if (navm) {tnome += " " + ltema[2]+"";} else {tnome += " " +"" +ltema[2]+"";} mytreeview1.createItem(ltema[0], tnome, null, true, true, true, "g1"); tnome = ""; mytreeview1.createItem("", tnome, imgBranco, false, true, false, ltema[0]); if (cor == "rgb(250,250,250)"){var cor = "rgb(255,255,255)";} else {var cor = "rgb(250,250,250)";} } } } /* Function: atualizaFarol Atualiza o farol de cada tema. O farol identifica a compatibilidade da escala do mapa com a escala de cada tema Parameters: mapscale - escala de comparação com a escala de cada tema */ this.atualizaFarol = function(mapscale) { //mapscale é o valor da escala do novo mapa if (objmapa.scale != mapscale) { var lista = (objmapa.temas).split(";"); var farol = "maisamarelo.png"; for (l=0;l mapscale*1) {var farol = "maisvermelho.png";} if (ltema[6]*1 == 0) {var farol = "maisamarelo.png";} if ($i("farol"+ltema[0])) { $i("farol"+ltema[0]).src = g_locaplic+"/imagens/"+farol; } } } } /* Function: criaCorpoMapa Cria os objetos para preenchimento com a imagem do corpo do mapa. */ this.criaCorpoMapa = function() { if ($i("corpoMapa")) { var ins = ""; ins += ""; ins += ""; ins += ""; ins += "
"; $i("corpoMapa").innerHTML = ins; } //insere a figura que segue o mouse var novoel = document.createElement("div"); novoel.style.zIndex=1000; novoel.id="obj"; var novoimg = document.createElement("img"); novoimg.src= g_locaplic+"/imagens/pan.gif"; novoimg.name="imgh"; novoimg.id='imgh'; novoimg.style.width = "15px"; novoimg.style.height = "15px"; novoel.appendChild(novoimg); novoel.onmouseover = function() {this.style.display = "none";} novoel.onmouseout = function() {this.style.display = "block";} document.body.appendChild(novoel); var docMapa = ""; if (document.getElementById("openlayers_OpenLayers_Container")) { var docMapa = $i("openlayers_OpenLayers_Container"); } if (document.getElementById("img")) { var docMapa = $i("img"); //insere box de zoom var novoel = document.createElement("div"); novoel.style.width = "0px"; novoel.style.height = "0px"; novoel.id = "box1"; document.body.appendChild(novoel); if (navm) { $i("box1").style.filter = "alpha(opacity=25)"; } $i("box1").onmousemove = function() { var wb = parseInt($i("box1").style.width); var hb = parseInt($i("box1").style.height); if (navn) { with(this.style){width = wb - 10 + "px";} with(this.style){height = hb - 10 + "px";} } if (navm) { $i("box1").style.width = wb - 2; $i("box1").style.height = hb - 2; } }; $i("box1").onmouseup = function(){zoomboxf("termina")}; //funcoes que operam sobre o mapa this.parado = "nao"; //utilizado para verificar se o mouse esta parado } if (docMapa != "") { ativaClicks(docMapa); } this.atualizaCorpoMapa = function() { objaguarde.abre("ajaxCorpoMapa","Aguarde..."); var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=corpo&g_sid="+g_sid; var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"redesenhaCorpo",ajaxCorpoMapa); } if (objmapa.finaliza) {eval(objmapa.finaliza);} // //altera o tamanho das guias // if ($i(objmapa.guiaTemas+"obj")) { $i(objmapa.guiaTemas+"obj").style.overflow="auto"; $i(objmapa.guiaTemas+"obj").style.height = objmapa.h-13; } if ($i(objmapa.guiaMenu+"obj")) { $i(objmapa.guiaMenu+"obj").style.overflow="auto"; $i(objmapa.guiaMenu+"obj").style.height = objmapa.h-13; $i(objmapa.guiaMenu+"obj").style.width = "100%"; } if ($i(objmapa.guiaLegenda+"obj")) { $i(objmapa.guiaLegenda+"obj").style.overflow="auto"; $i(objmapa.guiaLegenda+"obj").style.height = objmapa.h-13; $i(objmapa.guiaLegenda+"obj").style.width = "100%"; } } /* Function: verificaClickMapa Verifica se existem funções adicionais que devem ser executadas quando o usuário clica no mapa. */ this.verificaClickMapa = function() { if (this.funcoesClickMapa.length > 0) { for (f=0;f