From ca32beaf00735a792fd01f3011971928a2913fbc Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 29 Jan 2009 12:02:25 +0000 Subject: [PATCH] --- aplicmap/geral.htm | 1 - aplicmap/googlemaps.phtml | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ aplicmap/openlayers.htm | 4 ++-- classesjs/classe_gadgets.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- classesjs/classe_idioma.js | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ classesjs/classe_interface.js | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- classesjs/classe_php.js | 12 ++++++++++++ classesjs/compactajs.php | 2 -- classesjs/configura.js | 6 ------ classesjs/depreciados.js | 9 ++++++++- classesjs/i3geonaocompacto.js | 1 - classesjs/menususpenso.js | 103 ------------------------------------------------------------------------------------------------------- classesphp/mapa_controle.php | 11 +++++++++++ menutemas/admin.db | Bin 53248 -> 0 bytes ms_criamapa.php | 5 ++++- 15 files changed, 353 insertions(+), 121 deletions(-) create mode 100644 aplicmap/googlemaps.phtml delete mode 100644 classesjs/menususpenso.js diff --git a/aplicmap/geral.htm b/aplicmap/geral.htm index ba54d68..151ede4 100644 --- a/aplicmap/geral.htm +++ b/aplicmap/geral.htm @@ -232,7 +232,6 @@ vc pode optar por colocar mensagens de ajuda em algum lugar

 

- + + + + +
+ + + + + + + +
+ + +
+ +
+
 Temas 
+
 Adiciona 
+
 Legenda 
+
 Mapas 
+
+
+
+ + + +
+ + + + +
+
+
+Críticas e sugestões +
+
+
+ + + + + \ No newline at end of file diff --git a/aplicmap/openlayers.htm b/aplicmap/openlayers.htm index 267ed4f..8b02e5e 100644 --- a/aplicmap/openlayers.htm +++ b/aplicmap/openlayers.htm @@ -89,8 +89,8 @@ g_opcoesTemas = "sim"; g_3dmap = "3dmap.map"; i3GEO.interface.ATUAL = "openlayers"; i3GEO.interface.IDCORPO = "contemImg"; -objmapa = new Mapa(); -objmapa.inicializa(); +i3GEO.cria(); +i3GEO.inicia(); diff --git a/classesjs/classe_gadgets.js b/classesjs/classe_gadgets.js index e510b3c..8784c50 100644 --- a/classesjs/classe_gadgets.js +++ b/classesjs/classe_gadgets.js @@ -37,7 +37,7 @@ i3GEO.gadgets = { /* Variable: PARAMETROS - Parametros de inicialização dos gadgets + Parametros de inicialização dos gadgets. Type: {JSON} @@ -58,7 +58,9 @@ i3GEO.gadgets = { "mostraQuadros": {idhtml:"lugarquadros"}, "mostraHistoricoZoom": - {idhtml:"historicozoom"} + {idhtml:"historicozoom"}, + "mostraMenuSuspenso": + {idhtml:"menus"} }, /* Function: mostraCoordenadasUTM @@ -669,5 +671,65 @@ i3GEO.gadgets = { wi.document.write("
Fim"); } } + }, + /* + Function: mostraMenuSuspenso + + Mostra o menu suspenso com opções extras de análise, ajuda, etc + + O objeto YAHOO.widget.MenuBar resultante pode ser obtido na variável i3GEOoMenuBar + + O conteúdo do menu é baseado na variável oMenuData + + Parameters: + + id {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de + i3GEO.gadgets.PARAMETROS + */ + mostraMenuSuspenso: function(id){ + if(arguments.length == 0) + {var id = i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.idhtml;} + else + {i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.idhtml = id;} + var objid = $i(id); + if(objid){ + objid.className="yuimenubar"; + if(oMenuData.ajudas){ + var ins = ""; + ins += '
'; + ins += ''; + ins += '
'; + objid.innerHTML=ins; + } + var onMenuBarBeforeRender = function (p_sType, p_sArgs){ + if(i3GEO.parametros.w >= 500) + {var conta = 0;} + else + {var conta = 0;} + for(var nomeMenu in oMenuData){ + i3GEOoMenuBar.getItem(conta).cfg.setProperty('submenu',{id:nomeMenu,itemdata: oMenuData[nomeMenu]}); + var conta=conta+1; + } + } + i3GEOoMenuBar=new YAHOO.widget.MenuBar(id,{autosubmenudisplay: true, showdelay: 150, hidedelay: 250, lazyload: false}); + i3GEOoMenuBar.beforeRenderEvent.subscribe(onMenuBarBeforeRender); + i3GEOoMenuBar.render(); + // + //corrige problemas de estilo + // + var temp = objid.style; + temp.backgroundPosition = "0px -5px"; + temp.border = "0px solid white"; + if($i("contemMenu")){ + $i("contemMenu").className="yui-navset"; + } + } } }; \ No newline at end of file diff --git a/classesjs/classe_idioma.js b/classesjs/classe_idioma.js index 4ff03d5..18d6378 100644 --- a/classesjs/classe_idioma.js +++ b/classesjs/classe_idioma.js @@ -51,6 +51,43 @@ alert($trad("d22")) */ i3GEO.idioma = { /* + Property: MOSTRASELETOR + + Define se o i3Geo irá incluir no mapa as bandeiras de seleção de idiomas + + Type: + {Boolean} + + Default: + true + */ + MOSTRASELETOR: true, + /* + Property: IDSELETOR + + Define o id do elemento HTML que receberá o seletor. Se não for definido, o seletor será + posicionado automaticamente pelo i3Geo + + Type: + {String} + + Default: + "" + */ + IDSELETOR: "", + /* + Property: SELETORES + + Lista os seletores (bandeiras) que serão incluídas no seletor + + Type: + {Array} + + Default: + "pt","en","es","it" + */ + SELETORES: new Array("pt","en","es","it"), + /* Property: DICIONARIO Define o objeto com o dicionário utilizado @@ -202,6 +239,45 @@ i3GEO.idioma = { for (k in i3GEO.idioma.DICIONARIO){ return (i3GEO.util.listaChaves(i3GEO.idioma.DICIONARIO[k][0])); } + }, + /* + Function: mostraSeletor + + Inclui as bandeiras no mapa permitindo a seleção do idioma + + As imagens das bandeiras devem estar definidas no CSS do i3geo, recebendo como identificadores + os ids uk,brasil,italiano,espanhol + */ + mostraSeletor: function(){ + if(!i3GEO.idioma.MOSTRASELETOR){return;} + // + //monta o elemento HTML com as bandeiras + // + var ins = ""; + var n = i3GEO.idioma.SELETORES.length; + for(i=0;i'; + i.innerHTML = ins; + } + var f = $i("googlemaps"); + f.style.width = w; + f.style.height = h; + } + map = ""; + i3GEO.interface.IDMAPA = "googlemaps"; + }, + inicia: function(){ + var pol = i3GEO.parametros.mapexten; + var ret = pol.split(" "); + var pt1 = (( (ret[0] * -1) - (ret[2] * -1) ) / 2) + ret[0] *1; + var pt2 = (((ret[1] - ret[3]) / 2)* -1) + ret[1] *1; + map = new GMap2($i("googlemaps")); + map.setMapType(G_SATELLITE_MAP); + map.addControl(new GLargeMapControl()); + map.addControl(new GMapTypeControl()); + map.addControl(new GScaleControl()); + map.setCenter(new GLatLng(pt2,pt1), 8); + wmsmap = new GGroundOverlay(i3GEO.interface.googlemaps.criaWMS(), map.getBounds()); + map.addOverlay(wmsmap); + GEvent.addListener(map, "zoomend", function() { + map.removeOverlay(wmsmap); + wmsmap = new GGroundOverlay(i3GEO.interface.googlemaps.criaWMS(), map.getBounds()); + map.addOverlay(wmsmap); + }); + GEvent.addListener(map, "dragend", function() { + map.removeOverlay(wmsmap); + wmsmap = new GGroundOverlay(i3GEO.interface.googlemaps.criaWMS(), map.getBounds()); + map.addOverlay(wmsmap); + }); + }, + bbox: function(){ + var bd = map.getBounds(); + var so = bd.getSouthWest(); + var ne = bd.getNorthEast(); + var bbox = so.lng()+" "+so.lat()+" "+ne.lng()+" "+ne.lat(); + return (bbox); + }, + criaWMS: function(){ + var cgi = i3GEO.configura.locaplic+"/classesphp/parse_cgi.php?g_sid="+i3GEO.configura.sid; + var parametros = "&map_size="+parseInt($i("googlemaps").style.width); + parametros += ","+parseInt($i("googlemaps").style.height); + parametros += "&mapext="+i3GEO.interface.googlemaps.bbox(); + parametros += "&map_imagecolor=-1 -1 -1&map_transparent=on"; + return(cgi+parametros); + } } - } \ No newline at end of file diff --git a/classesjs/classe_php.js b/classesjs/classe_php.js index b7e220d..f806c8c 100644 --- a/classesjs/classe_php.js +++ b/classesjs/classe_php.js @@ -734,5 +734,17 @@ i3GEO.php = { inicia: function(funcao,embedLegenda,w,h){ var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=inicia&embedLegenda="+embedLegenda+"&w="+w+"&h="+h+"&g_sid="+i3GEO.configura.sid; cpJSON.call(p,"iniciaMapa",funcao); + }, + /* + Function: chaveGoogle + + PHP: + classesphp/mapa_controle.php + + + */ + chaveGoogle: function(funcao){ + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=chavegoogle&g_sid="+i3GEO.configura.sid; + cpJSON.call(p,"chavegoogle",funcao); } }; \ No newline at end of file diff --git a/classesjs/compactajs.php b/classesjs/compactajs.php index 7443955..dfb7de7 100644 --- a/classesjs/compactajs.php +++ b/classesjs/compactajs.php @@ -65,7 +65,6 @@ packer("classe_ajuda.js","compactados/classe_ajuda_compacto.js","Normal"); packer("configura.js","compactados/configura_compacto.js","Normal"); packer("classe_configura.js","compactados/classe_configura_compacto.js","Normal"); packer("classe_navega.js","compactados/classe_navega_compacto.js","Normal"); -packer("menususpenso.js","compactados/menususpenso_compacto.js","Normal"); packer("classe_gadgets.js","compactados/classe_gadgets_compacto.js","Normal"); packer("classe_eventos.js","compactados/classe_eventos_compacto.js","Normal"); packer("classe_barradebotoes.js","compactados/classe_barradebotoes_compacto.js","Normal"); @@ -125,7 +124,6 @@ $jsfiles = array( "classe_arvoredetemas.js", "configura.js", "classe_barradebotoes.js", -"menususpenso.js", "classe_gadgets.js" ); diff --git a/classesjs/configura.js b/classesjs/configura.js index 27cc047..8e70ca3 100644 --- a/classesjs/configura.js +++ b/classesjs/configura.js @@ -786,11 +786,5 @@ g_listaFuncoesBotoes = { $i("img").style.cursor="pointer"; } } - }, - { - //monta o menu suspenso - iddiv:"menus", - tipo:"", - constroiconteudo:'montaMenuSuspenso("menus")' } ]}; diff --git a/classesjs/depreciados.js b/classesjs/depreciados.js index 6ecb545..ff69f6c 100644 --- a/classesjs/depreciados.js +++ b/classesjs/depreciados.js @@ -1455,4 +1455,11 @@ function ajaxredesenha(retorno) Function: ajaxIniciaParametros (depreciado) */ function ajaxIniciaParametros(retorno) -{i3GEO.atualiza(retorno);} \ No newline at end of file +{i3GEO.atualiza(retorno);} +/* +Function montaMenuSuspenso (depreciado) +*/ +function montaMenuSuspenso(iddiv){ + i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.idhtml = iddiv; + i3GEO.gadgets.mostraMenuSuspenso(); +} \ No newline at end of file diff --git a/classesjs/i3geonaocompacto.js b/classesjs/i3geonaocompacto.js index dbe543f..ee2a04f 100644 --- a/classesjs/i3geonaocompacto.js +++ b/classesjs/i3geonaocompacto.js @@ -55,7 +55,6 @@ var jsfiles = new Array( "classe_arvoredetemas.js", "configura.js", "classe_barradebotoes.js", -"menususpenso.js", "../pacotes/richdraw/richdraw_tudo_compacto.js", "classe_gadgets.js" ); diff --git a/classesjs/menususpenso.js b/classesjs/menususpenso.js deleted file mode 100644 index 321bc8b..0000000 --- a/classesjs/menususpenso.js +++ /dev/null @@ -1,103 +0,0 @@ -/** -Title: menususpenso.js - -Monta o menu suspenso com as opções adicionais do i3geo. - -O menu suspenso é criado utilizando-se a biblioteca YUI. - -O conteúdo do menu é definido na variável oMenuData, veja configura.js - -File: i3geo/classesjs/menususpenso.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. - -*/ -/* -Function: montaMenuSuspenso - -Monta o menu baseado na variável oMenuData - -Parameters: - -iddiv - id do DIV que receberá o menu -*/ -function montaMenuSuspenso(iddiv) -{ - if($i(iddiv)) - { - $i(iddiv).className="yuimenubar"; - if(oMenuData.ajudas) - { - var ins = ""; - ins += '
'; - ins += ''; - ins += '
'; - $i("menus").innerHTML=ins; - } - function onMenuBarBeforeRender(p_sType, p_sArgs) - { - if(i3GEO.parametros.w >= 500) - {var conta = 4;} - else - {var conta = 0;} - for(var nomeMenu in oMenuData) - { - var v="this.getItem("+conta+").cfg.setProperty('submenu',{id:'"+nomeMenu+"',itemdata: oMenuData['"+nomeMenu+"']})"; - eval(v); - var conta=conta+1; - } - } - var oMenuBar=new YAHOO.widget.MenuBar(iddiv,{autosubmenudisplay: true, showdelay: 150, hidedelay: 250, lazyload: false}); - oMenuBar.beforeRenderEvent.subscribe(onMenuBarBeforeRender); - oMenuBar.render(); - // - //corrige problemas de estilo - // - var temp = $i("menus").style; - temp.backgroundPosition = "0px -5px"; - temp.border = "0px solid white"; - var temp = $i(iddiv).style; - temp.backgroundPosition = "0px -5px"; - temp.border = "0px solid white"; - if($i("contemMenu")) - { - $i("contemMenu").className="yui-navset"; - } - } -} -function testamenususpenso(){} diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index f109332..2388869 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -232,6 +232,17 @@ Include: $cp->set_data($resultado); break; /* +Property: chavegoogle + +Retorna o valor da chave registrada para a API do Google maps + +Essa chave deve ser registrada em i3geo/ms_configura.php +*/ + case "chavegoogle": + $cp->set_data($googleApiKey); + break; + +/* Property: funcoesGeometrias Processa geometrias, armazenadas no formato I3Geo, gerando uma nova geometria. diff --git a/menutemas/admin.db b/menutemas/admin.db index 2296117..6b6b72b 100644 Binary files a/menutemas/admin.db and b/menutemas/admin.db differ diff --git a/ms_criamapa.php b/ms_criamapa.php index f0aefc1..8e63a79 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -141,6 +141,7 @@ $postgis_mapa_ = $postgis_mapa; $tituloInstituicao_ = $tituloInstituicao; $atlasxml_ = $atlasxml; $expoeMapfile_ = $expoeMapfile; +$googleApiKey_ = $googleApiKey; // //se houver string de conexão para substituição //o modo cgi não irá funcionar @@ -198,6 +199,7 @@ $_SESSION["utilizacgi"] = $utilizacgi_; $_SESSION["tituloInstituicao"] = $tituloInstituicao_; $_SESSION["atlasxml"] = $atlasxml; $_SESSION["expoeMapfile"] = $expoeMapfile; +$_SESSION["googleApiKey"] = $googleApiKey_; //rotina de segurança, ver http://shiflett.org/articles/the-truth-about-sessions $fingerprint = 'I3GEOSEC' . $_SERVER['HTTP_USER_AGENT']; $_SESSION['fingerprint'] = md5($fingerprint . session_id()); @@ -468,7 +470,6 @@ interface = arquivo html que será aberto */ if ($interface != "mashup") { - echo "

Tempo de processamento no servidor em segundos: ".((microtime(1) - $tempo)).""; if (count(explode(".php",$interface)) > 1) { if (file_exists($caminho."aplicmap/".$interface)) @@ -479,6 +480,8 @@ if ($interface != "mashup") } else { + echo "

Tempo de processamento no servidor em segundos: ".((microtime(1) - $tempo)).""; + if (file_exists($caminho."aplicmap/".$interface)) {$urln = $caminho."aplicmap/".$interface."?".session_id();} else -- libgit2 0.21.2