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,6 +28,8 @@ conter um grande número de funcionalidades.</p> | ||
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> | 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 | <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> | 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 | <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 | 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 | </body> | 33 | </body> |
32 | <script> | 34 | <script> |
33 | /* | 35 | /* |
mashups/openlayers.js.php
@@ -20,11 +20,23 @@ i3GEOOL = { | @@ -20,11 +20,23 @@ i3GEOOL = { | ||
20 | "http://labs.metacarta.com/wms/vmap0", | 20 | "http://labs.metacarta.com/wms/vmap0", |
21 | {layers: 'basic'} | 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 | layergrafico: new OpenLayers.Layer.Vector("Edição",{displayInLayerSwitcher:true,visibility:true}), | 40 | layergrafico: new OpenLayers.Layer.Vector("Edição",{displayInLayerSwitcher:true,visibility:true}), |
29 | layersIniciais: [<?php | 41 | layersIniciais: [<?php |
30 | if(isset($objOpenLayers) && $objOpenLayers != "") | 42 | if(isset($objOpenLayers) && $objOpenLayers != "") |
@@ -53,20 +65,16 @@ i3GEOOL = { | @@ -53,20 +65,16 @@ i3GEOOL = { | ||
53 | }), | 65 | }), |
54 | inicia: function(){ | 66 | inicia: function(){ |
55 | var alayers = []; | 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 | i3GEOOL.mapa.addLayers(alayers); | 78 | i3GEOOL.mapa.addLayers(alayers); |
71 | 79 | ||
72 | if(i3GEOOL.layersIniciais != ""){ | 80 | if(i3GEOOL.layersIniciais != ""){ |
mashups/openlayers.php
1 | <?php error_reporting(0);if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/html"); ?> | 1 | <?php error_reporting(0);if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/html"); ?> |
2 | <?php | 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 | include_once("../classesphp/pega_variaveis.php"); | 3 | include_once("../classesphp/pega_variaveis.php"); |
27 | include_once("../classesphp/carrega_ext.php"); | 4 | include_once("../classesphp/carrega_ext.php"); |
28 | error_reporting(0); | 5 | error_reporting(0); |
@@ -133,6 +110,18 @@ else{ | @@ -133,6 +110,18 @@ else{ | ||
133 | } | 110 | } |
134 | $botoes = "{".implode(",",$objBotoes)."}"; | 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 | //define quais os layers que comporão o mapa | 125 | //define quais os layers que comporão o mapa |
137 | // | 126 | // |
138 | if($temas != "") | 127 | if($temas != "") |
@@ -157,7 +146,12 @@ if($temas != "") | @@ -157,7 +146,12 @@ if($temas != "") | ||
157 | $layern = $maptemp->getLayer($i); | 146 | $layern = $maptemp->getLayer($i); |
158 | $layers[] = $layern->name; | 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 | else | 156 | else |
163 | {echo $tema." não foi encontrado.<br>";} | 157 | {echo $tema." não foi encontrado.<br>";} |
@@ -178,7 +172,19 @@ Parâmetros: | @@ -178,7 +172,19 @@ Parâmetros: | ||
178 | altura - altura do mapa em pixels | 172 | altura - altura do mapa em pixels |
179 | pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa | 173 | pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa |
180 | marca - nome do arquivo que contém a imagem que será utilizada para mostrar as coordenadas | 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 | controles - lista com os nomes dos controles que serão adicionados ao mapa. Se não for definido, todos os controles serão adicionados | 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 | navigation | 189 | navigation |
184 | panzoombar | 190 | panzoombar |
wscliente.htm
@@ -100,7 +100,8 @@ verificar os serviços disponíveis. | @@ -100,7 +100,8 @@ verificar os serviços disponíveis. | ||
100 | <p><b>Lista de serviços cadastrados (clique para selecionar)</b><br> | 100 | <p><b>Lista de serviços cadastrados (clique para selecionar)</b><br> |
101 | <div class=listaServico id=resultadoRSSws ></div> | 101 | <div class=listaServico id=resultadoRSSws ></div> |
102 | </div> | 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 | </body> | 105 | </body> |
105 | <script> | 106 | <script> |
106 | /* | 107 | /* |
@@ -143,7 +144,7 @@ Por exemplo | @@ -143,7 +144,7 @@ Por exemplo | ||
143 | i3geo/wscliente.htm?wms,endereco_servico | 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 | var i3geo_wscliente_configura = new i3geo_wscliente_configura | 148 | var i3geo_wscliente_configura = new i3geo_wscliente_configura |
148 | ( | 149 | ( |
149 | g_locaplic, | 150 | g_locaplic, |