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, |