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