Commit 05af80d923065913ff1e30cb05c83fb16138c98c

Authored by Edmar Moretti
1 parent 6ba7779e

Adição de novos parâmetros no mashup OpenLayers para permitir escolher o tema de…

… fundo. Correção na camada de fundo Landsat e adição de novas
mashups/index.html
... ... @@ -28,6 +28,8 @@ conter um grande número de funcionalidades.</p>
28 28 <p>Exemplo: todas as opções e um tema adicionado <a href='openlayers.php?temas=biomashp&largura=600'>openlayers.php?temas=biomashp&largura=600</a></p>
29 29 <p>Exemplo: Botões principais e barra de zoom maior <a href='openlayers.php?temas=biomashp&largura=600&botoes=pan,zoombox,zoomtot,distancia,area,identifica&numzoomlevels=10'>openlayers.php?temas=biomashp&largura=600&botoes=pan,zoombox,zoomtot,distancia,area,identifica&numzoomlevels=10</a>
30 30 <p>Exemplo: Inclusão de pontos <a href='openlayers.php?temas=biomashp&largura=600&pontos=-54 -12 -56 -15'>openlayers.php?temas=biomashp&largura=600&pontos=-54 -12 -56 -15
  31 +<p>Exemplo: Camada adicional como fundo <a href='openlayers.php?temas=biomashp&largura=600&fundo=biomashp'>openlayers.php?temas=biomashp&largura=600&fundo=biomashp
  32 +
31 33 </body>
32 34 <script>
33 35 /*
... ...
mashups/openlayers.js.php
... ... @@ -20,11 +20,23 @@ i3GEOOL = {
20 20 "http://labs.metacarta.com/wms/vmap0",
21 21 {layers: 'basic'}
22 22 ),
23   - jpl_wms: new OpenLayers.Layer.WMS(
24   - "NASA Global Mosaic",
25   - "http://t1.hypercube.telascience.org/cgi-bin/landsat7",
26   - {layers: "landsat7"}
  23 + jpl_wms: new OpenLayers.Layer.WMS( "NASA Global Mosaic", "http://wms.jpl.nasa.gov/wms.cgi", {layers: "modis,global_mosaic"},{singleTile:true}),
  24 +
  25 + osm_wms: new OpenLayers.Layer.WMS(
  26 + "Open Street Map",
  27 + "http://full.wms.geofabrik.de/std/demo_key?",
  28 + {layers: ""}
  29 + ),
  30 + top_wms: new OpenLayers.Layer.WMS(
  31 + "Toponímia MMA",
  32 + "http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/baseref.map&",
  33 + {layers: "base",FORMAT:'image/png'}
27 34 ),
  35 + est_wms: new OpenLayers.Layer.WMS(
  36 + "Estados do Brasil",
  37 + "http://mapas.mma.gov.br/i3geo/ogc.php?tema=estadosl&",
  38 + {layers: "estadosl",FORMAT:'image/png'}
  39 + ),
28 40 layergrafico: new OpenLayers.Layer.Vector("Edição",{displayInLayerSwitcher:true,visibility:true}),
29 41 layersIniciais: [<?php
30 42 if(isset($objOpenLayers) && $objOpenLayers != "")
... ... @@ -53,20 +65,16 @@ i3GEOOL = {
53 65 }),
54 66 inicia: function(){
55 67 var alayers = [];
56   - if(i3GEOOL.ol_mma != ""){
57   - i3GEOOL.ol_mma.transitionEffect = "resize";
58   - alayers.push(i3GEOOL.ol_mma);
59   - }
60   - if(i3GEOOL.ol_wms != ""){
61   - i3GEOOL.ol_wms.transitionEffect = "resize";
62   - i3GEOOL.ol_wms.setVisibility(false);
63   - alayers.push(i3GEOOL.ol_wms);
64   - }
65   - if(i3GEOOL.jpl_wms != ""){
66   - i3GEOOL.jpl_wms.transitionEffect = "resize";
67   - alayers.push(i3GEOOL.jpl_wms);
68   - i3GEOOL.jpl_wms.setVisibility(false);
  68 + <?php
  69 + foreach($fundo as $f){
  70 + echo "try{";
  71 + echo "i3GEOOL.".$f.".transitionEffect = 'resize';";
  72 + echo "i3GEOOL.".$f.".setVisibility(false);";
  73 + echo "alayers.push(i3GEOOL.".$f.");";
  74 + echo "}catch(e){}";
69 75 }
  76 + echo "try{alayers[0].setVisibility(true);}catch(e){}";
  77 + ?>
70 78 i3GEOOL.mapa.addLayers(alayers);
71 79  
72 80 if(i3GEOOL.layersIniciais != ""){
... ...
mashups/openlayers.php
1 1 <?php error_reporting(0);if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/html"); ?>
2 2 <?php
3   -/*
4   -Parametros:
5   -
6   -temas - lista com os temas (mapfiles) do i3Geo que serão incluídos no mapa
7   -
8   -numzoomlevels - número de níveis de zoom, default=6
9   -
10   -maxextent - extensão geográfica do mapa
11   -
12   -controles - lista separada por "," com os nomes dos controles que serão adicionados ao mapa. Se não for definido, todos os controles serão adicionados.
13   -
14   -botoes - lista com os nomes dos botoes que serão adicionados ao mapa. Se não for definido, todos os botões serão adicionados
15   -
16   -servidor - endereco do servidor OGC utilizado. Por default é "../ogc.php" o que força o uso do i3geo local
17   -
18   -largura - lagura do mapa em pixels
19   -
20   -altura - altura do mapa em pixels
21   -
22   -pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa
23   -
24   -marca - nome do arquivo que contém a imagem que será utilizada para mostrar as coordenadas
25   -*/
26 3 include_once("../classesphp/pega_variaveis.php");
27 4 include_once("../classesphp/carrega_ext.php");
28 5 error_reporting(0);
... ... @@ -133,6 +110,18 @@ else{
133 110 }
134 111 $botoes = "{".implode(",",$objBotoes)."}";
135 112 //
  113 +//define a lista de layers do tipo baselayers
  114 +//$fundo é um array com a lista dos nomes possíveis ou passados pela url
  115 +//cada um deve ser definido em openlayers.js.php
  116 +//
  117 +if(isset($fundo) && $fundo != ""){
  118 + $fundo = str_replace(","," ",$fundo);
  119 + $fundo = explode(" ",$fundo);
  120 +}
  121 +else{
  122 + $fundo = array("est_wms","ol_mma","ol_wms","jpl_wms","osm_wms","top_wms");
  123 +}
  124 +//
136 125 //define quais os layers que comporão o mapa
137 126 //
138 127 if($temas != "")
... ... @@ -157,7 +146,12 @@ if($temas != &quot;&quot;)
157 146 $layern = $maptemp->getLayer($i);
158 147 $layers[] = $layern->name;
159 148 }
160   - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.($layern->getmetadata("tema")).'", "../ogc.php?tema='.$tema.'&",{layers:"'.implode(",",$layers).'",transparent: "true", format: "image/png"},{isBaseLayer:false})';
  149 + $ebase = "false";
  150 + if(in_array($tema,$fundo))
  151 + {
  152 + $ebase = "true";
  153 + }
  154 + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.($layern->getmetadata("tema")).'", "../ogc.php?tema='.$tema.'&",{layers:"'.implode(",",$layers).'",transparent: "true", format: "image/png"},{isBaseLayer:'.$ebase.'})';
161 155 }
162 156 else
163 157 {echo $tema." não foi encontrado.<br>";}
... ... @@ -178,7 +172,19 @@ Parâmetros:
178 172 altura - altura do mapa em pixels
179 173 pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa
180 174 marca - nome do arquivo que contém a imagem que será utilizada para mostrar as coordenadas
181   -
  175 +
  176 + fundo - lista com os nomes, separados por ',' dos layers que serão usados como fundo para o mapa. Se não for definido,
  177 + será usado o default. O primeiro da lista será o fundo ativo. Se na lista de temas de fundo estiver algum
  178 + tema incluido com o parametro 'temas', esses serão incluídos como temas de fundo.
  179 + Os seguintes fundos podem usados nessa lista:
  180 +
  181 + ol_mma - base cartográfica do Brasil
  182 + ol_wms - base mundial da Meta Carta
  183 + jpl_wms - mosaico de imagens de satélite
  184 + osm_wms - base do open Street Map
  185 + top_wms - toponímia do servidor do MMA usado no mapa de referência
  186 + est_wms - estados do Brasil
  187 +
182 188 controles - lista com os nomes dos controles que serão adicionados ao mapa. Se não for definido, todos os controles serão adicionados
183 189 navigation
184 190 panzoombar
... ...
wscliente.htm
... ... @@ -100,7 +100,8 @@ verificar os serviços disponíveis.
100 100 <p><b>Lista de serviços cadastrados (clique para selecionar)</b><br>
101 101 <div class=listaServico id=resultadoRSSws ></div>
102 102 </div>
103   -<script src="ferramentas/i3geo_tudo_compacto45.js.php" type="text/javascript"></script>
  103 +<script src="ferramentas/i3geo_tudo_compacto.js.php" type="text/javascript"></script>
  104 +<script src="classesjs/i3geo_tudo_compacto45.js.php" type="text/javascript"></script>
104 105 </body>
105 106 <script>
106 107 /*
... ... @@ -143,7 +144,7 @@ Por exemplo
143 144 i3geo/wscliente.htm?wms,endereco_servico
144 145  
145 146 */
146   -var g_locaplic = protocolo()+"://"+window.location.host+"/i3geo";
  147 +var g_locaplic = i3GEO.util.protocolo()+"://"+window.location.host+"/i3geo";
147 148 var i3geo_wscliente_configura = new i3geo_wscliente_configura
148 149 (
149 150 g_locaplic,
... ...