/* Title: Wikipédia Busca na Wikipédia artigos relacionados a extensão geográfica do mapa atual. A busca utiliza um Web Service do site Geonames. Para utilizar esse serviço é necessário cadastrar um usuário. Por padrão, o i3Geo utiliza o usuário "i3geo", que pode ter sua cota de acesso diário ultrapassada. Para criar um usuário novo, utilize o site http://www.geonames.org/login e edite o programa i3geo/ferramentas/wiki/funcoes.php para alterar a variável $usuarioGeonames Veja: Arquivo: i3geo/ferramentas/wiki/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 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(i3GEOF) === 'undefined'){ var i3GEOF = {}; } /* Classe: i3GEOF.wiki */ i3GEOF.wiki = { /* Variavel: aguarde Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. */ aguarde: "", /** * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php */ MUSTACHE : "", /** * Susbtitutos para o template */ mustacheHash : function() { var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.wiki.dicionario); return dicionario; }, /* Function: inicia Inicia a ferramenta. É chamado por criaJanelaFlutuante Parametro: iddiv {String} - id do div que receberá o conteudo HTML da ferramenta */ inicia: function(iddiv){ try{ $i(iddiv).innerHTML += i3GEOF.wiki.html(); i3GEOF.wiki.ativaFoco(); if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){ i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.wiki.lista()"); } if(i3GEO.Interface.ATUAL === "googlemaps"){ wikiDragend = google.maps.event.addListener(i3GeoMap, "dragend", function() {i3GEOF.wiki.lista();}); wikiZoomend = google.maps.event.addListener(i3GeoMap, "zoomend", function() {i3GEOF.wiki.lista();}); } if(i3GEO.Interface.ATUAL === "googleearth"){ wikiDragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {i3GEOF.wiki.lista();}); } i3GEOF.wiki.lista(); } catch(erro){if(typeof(console) !== 'undefined'){console.error(erro);}} }, /* Function: html Gera o código html para apresentação das opções da ferramenta Retorno: String com o código html */ html:function() { var ins = Mustache.render(i3GEOF.wiki.MUSTACHE, i3GEOF.wiki.mustacheHash()); return ins; }, /* Function: iniciaJanelaFlutuante Cria a janela flutuante para controle da ferramenta. */ iniciaJanelaFlutuante: function(){ var minimiza,cabecalho,janela,divid,temp,titulo; //funcao que sera executada ao ser clicado no cabeçalho da janela if ($i("i3GEOF.wiki")) { return; } cabecalho = function(){ i3GEOF.wiki.ativaFoco(); }; minimiza = function(){ i3GEO.janela.minimiza("i3GEOF.wiki"); }; //cria a janela flutuante titulo = "
Wikipédia
"; janela = i3GEO.janela.cria( "250px", "190px", "", "", "", titulo, "i3GEOF.wiki", false, "hd", cabecalho, minimiza ); divid = janela[2].id; i3GEOF.wiki.aguarde = $i("i3GEOF.wiki_imagemCabecalho").style; i3GEOF.wiki.inicia(divid); temp = function(){ if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){ i3GEO.eventos.removeEventos("NAVEGAMAPA",["i3GEOF.wiki.lista()"]); } if(i3GEO.Interface.ATUAL === "googlemaps"){ google.maps.event.removeListener(wikiDragend); google.maps.event.removeListener(wikiZoomend); } if(i3GEO.Interface.ATUAL === "googleearth"){ google.earth.removeEventListener(wikiDragend); } }; YAHOO.util.Event.addListener(janela[0].close, "click", temp); }, /* Function: ativaFoco Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado */ ativaFoco: function(){ var i = $i("i3GEOF.wiki_c").style; i3GEO.janela.ULTIMOZINDEX++; i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX; }, /* Function: lista Lista os artigos Veja: */ lista: function(){ if(i3GEOF.wiki.aguarde.visibility === "visible") {return;} i3GEOF.wiki.aguarde.visibility = "visible"; var mostrar,p,cp; mostrar = function(retorno){ i3GEOF.wiki.aguarde.visibility = "hidden"; if (retorno.data === 'undefined' ){ $i("i3GEOwikiLista").innerHTML = "Erro."; return; } $i("i3GEOwikiLista").innerHTML = retorno.data+$trad('atualizaNavegacao',i3GEOF.wiki.dicionario); }; cp = new cpaint(); cp.set_response_type("JSON"); if(i3GEO.parametros.mapexten) {ext = i3GEO.parametros.mapexten;} else {ext = "-49.1774741355 -16.379556709 -47.2737662565 -14.9806872512";} //apenas para exemplo p = i3GEO.configura.locaplic+"/ferramentas/wiki/funcoes.php?funcao=listaartigos&ret="+ext; cp.call(p,"listaartigos",mostrar); } };