Commit 05af80d923065913ff1e30cb05c83fb16138c98c
1 parent
6ba7779e
Exists in
master
and in
7 other branches
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
Showing
4 changed files
with
61 additions
and
44 deletions
Show diff stats
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 != "") |
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, | ... | ... |