Commit c473211a4a3ad84a2afb9c9ebdb017c1e0f02c51

Authored by Edmar Moretti
1 parent 01688964

--no commit message

admin/admin.db
No preview for this file type
classesphp/mapa_openlayers.php
@@ -147,7 +147,7 @@ if(!empty($_GET["request"])){ @@ -147,7 +147,7 @@ if(!empty($_GET["request"])){
147 $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php"; 147 $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php";
148 $qy = file_exists($qyfile); 148 $qy = file_exists($qyfile);
149 149
150 -if($_GET["REQUEST"] == "getfeatureinfo" || $_GET["REQUEST"] == "GetFeatureInfo" || strtolower($_GET["REQUEST"]) == "getfeature"){ 150 +if($_GET["REQUEST"] == "getlegendgraphic" || $_GET["REQUEST"] == "getfeatureinfo" || $_GET["REQUEST"] == "GetFeatureInfo" || strtolower($_GET["REQUEST"]) == "getfeature"){
151 $_GET["DESLIGACACHE"] = "sim"; 151 $_GET["DESLIGACACHE"] = "sim";
152 } 152 }
153 else{ 153 else{
@@ -228,6 +228,15 @@ if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao e alter @@ -228,6 +228,15 @@ if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao e alter
228 } 228 }
229 } 229 }
230 } 230 }
  231 + if($_GET["REQUEST"] == "getlegendgraphic"){
  232 + $nclass = $l->numclasses;
  233 + for($ic=0;$ic<$nclass;$ic++){
  234 + $classe = $l->getclass($ic);
  235 + if($classe->title === ""){
  236 + $classe->title = $classe->name;
  237 + }
  238 + }
  239 + }
231 if($layerName == $_GET["layer"]){ 240 if($layerName == $_GET["layer"]){
232 if(strtolower($l->getmetadata("cache")) == "sim"){ 241 if(strtolower($l->getmetadata("cache")) == "sim"){
233 $cache = true; 242 $cache = true;
@@ -251,7 +260,6 @@ if(!isset($_GET[&quot;telaR&quot;])){//no caso de projecoes remotas, o mapfile nao e alter @@ -251,7 +260,6 @@ if(!isset($_GET[&quot;telaR&quot;])){//no caso de projecoes remotas, o mapfile nao e alter
251 } 260 }
252 } 261 }
253 } 262 }
254 -  
255 if (!function_exists('imagepng')){ 263 if (!function_exists('imagepng')){
256 $_GET["TIPOIMAGEM"] = ""; 264 $_GET["TIPOIMAGEM"] = "";
257 } 265 }
@@ -259,7 +267,6 @@ if (!function_exists(&#39;imagepng&#39;)){ @@ -259,7 +267,6 @@ if (!function_exists(&#39;imagepng&#39;)){
259 if($_GET["layer"] == ""){ 267 if($_GET["layer"] == ""){
260 $cache = true; 268 $cache = true;
261 } 269 }
262 -  
263 if(($_GET == false) || ($qy) || (strtolower($_GET["DESLIGACACHE"]) == "sim")){ 270 if(($_GET == false) || ($qy) || (strtolower($_GET["DESLIGACACHE"]) == "sim")){
264 $cache = false; 271 $cache = false;
265 } 272 }
@@ -282,7 +289,7 @@ if(isset($_GET[&quot;mapext&quot;])){ @@ -282,7 +289,7 @@ if(isset($_GET[&quot;mapext&quot;])){
282 // 289 //
283 //qd a cahamda e para um WMS, redireciona para ogc.php 290 //qd a cahamda e para um WMS, redireciona para ogc.php
284 // 291 //
285 -if($_GET["REQUEST"] == "getfeatureinfo" || $_GET["REQUEST"] == "GetFeatureInfo" || $_GET["REQUEST"] == "getfeature"){ 292 +if($_GET["REQUEST"] == "getlegendgraphic" || $_GET["REQUEST"] == "getfeatureinfo" || $_GET["REQUEST"] == "GetFeatureInfo" || $_GET["REQUEST"] == "getfeature"){
286 $req = ms_newowsrequestobj(); 293 $req = ms_newowsrequestobj();
287 if($_GET["BBOX"]){ 294 if($_GET["BBOX"]){
288 $_GET["BBOX"] = str_replace(" ",",",$_GET["BBOX"]); 295 $_GET["BBOX"] = str_replace(" ",",",$_GET["BBOX"]);
ferramentas/editorol/editorol.js
@@ -152,11 +152,6 @@ i3GEO.editorOL = @@ -152,11 +152,6 @@ i3GEO.editorOL =
152 var alayers = [], fundo = (i3GEO.editorOL.fundo).split(","), nfundo = fundo.length, ncontroles = 152 var alayers = [], fundo = (i3GEO.editorOL.fundo).split(","), nfundo = fundo.length, ncontroles =
153 i3GEO.editorOL.controles.length, i, n, temp; 153 i3GEO.editorOL.controles.length, i, n, temp;
154 154
155 - // TODO layerswitcher no OL3  
156 - /*  
157 - * if (i3GEO.editorOL.ativalayerswitcher === "false") { i3GEO.editorOL.ativalayerswitcher = false; } if  
158 - * (i3GEO.editorOL.ativalayerswitcher === "true") { i3GEO.editorOL.ativalayerswitcher = true; }  
159 - */  
160 if (i3GEO.editorOL.ativarodadomouse === "false") { 155 if (i3GEO.editorOL.ativarodadomouse === "false") {
161 i3GEO.editorOL.ativarodadomouse = false; 156 i3GEO.editorOL.ativarodadomouse = false;
162 } 157 }
@@ -577,59 +572,68 @@ i3GEO.editorOL = @@ -577,59 +572,68 @@ i3GEO.editorOL =
577 i3GEO.editorOL.mapa.zoomToExtent(b); 572 i3GEO.editorOL.mapa.zoomToExtent(b);
578 }, 573 },
579 mostraLegenda : function() { 574 mostraLegenda : function() {
580 - var layers = i3GEO.editorOL.layersLigados(), nlayers = layers.length, ins = "", i, icone = "", url, fers, f = "", fer = ""; 575 + var prop, layer, layers = i3GEO.editorOL.mapa.getLayers(), nlayers = layers.getLength(), ins = "", i, icone = "", url, f = "";
581 for (i = 0; i < nlayers; i++) { 576 for (i = 0; i < nlayers; i++) {
582 - try {  
583 - if (layers[i].get("isBaseLayer") === false) {  
584 - url = layers[i].getFullRequestString({  
585 - "request" : "getlegendgraphic"  
586 - });  
587 - //i3GEO.editorOL.mapa.getLayers().item(0).getSource().getUrls()[0]  
588 - icone = "";  
589 - if (i3GEO.editorOL.legendahtml === true) {  
590 - // os parametros FORMAT e SERVICE sao inseridos de forma redundante para grantir  
591 - // caso seja um TMS  
592 - url = url.replace("image%2Fpng", "text/html") + "&FORMAT=text/html&SERVICE=WMS";  
593 - // verifica se a camada veio de um plugin de classe_plugini3geo  
594 - // e insere o icone se for necessario  
595 - if (layers[i].options.plugini3geo) {  
596 - if (layers[i].params.LAYERS) {  
597 - // wms  
598 - icone = i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].params.LAYERS);  
599 - } else {  
600 - // tms  
601 - icone = i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].layers);  
602 - } 577 + layer = layers.item(i);
  578 + prop = layer.getProperties();
  579 + //monta a url para fazer a requisicao da legenda
  580 + //para os temas que nao sao baselayers
  581 + if(prop.source.getUrls){
  582 + url = prop.source.getUrls()[0];
  583 + url = url.replace("&cache=sim", "&DESLIGACACHE=sim");
  584 + url = url.replace("&Z=${z}&X=${x}&Y=${y}", "");
  585 + url = url.replace("Z=${z}&X=${x}&Y=${y}", "");
  586 + url += "&REQUEST=getlegendgraphic&service=wms&version=1.0.0";
  587 + if (i3GEO.Interface.openlayers.googleLike === true) {
  588 + url += "&SRS=EPSG:3857";
  589 + }
  590 + icone = "";
  591 + //TODO criar a legenda para uso no mashup
  592 + //caso do mashup
  593 + if (i3GEO.editorOL.legendahtml === true) {
  594 + // os parametros FORMAT e SERVICE sao inseridos de forma redundante para grantir
  595 + // caso seja um TMS
  596 + url = url.replace("image%2Fpng", "text/html") + "&FORMAT=text/html&SERVICE=WMS";
  597 + // verifica se a camada veio de um plugin de classe_plugini3geo
  598 + // e insere o icone se for necessario
  599 + /*
  600 + if (layers[i].options.plugini3geo) {
  601 + if (layers[i].params.LAYERS) {
  602 + // wms
  603 + icone = i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].params.LAYERS);
  604 + } else {
  605 + // tms
  606 + icone = i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].layers);
603 } 607 }
604 - //  
605 - // verifica se a camada tem ferramentas parametrizadas  
606 - // insere o icone  
607 - //  
608 - fers = layers[i].options.ferramentas;  
609 - for (fer in fers) {  
610 - if (i3GEO.configura.ferramentasLayers[fer]) {  
611 - icone = i3GEO.configura.ferramentasLayers[fer].icone(layers[i]);  
612 - } 608 + }
  609 + //
  610 + // verifica se a camada tem ferramentas parametrizadas
  611 + // insere o icone
  612 + //
  613 + fers = layers[i].options.ferramentas;
  614 + for (fer in fers) {
  615 + if (i3GEO.configura.ferramentasLayers[fer]) {
  616 + icone = i3GEO.configura.ferramentasLayers[fer].icone(layers[i]);
613 } 617 }
614 - ins += icone + layers[i].name + "<br><div id=legendaL_" + i + " ></div><br>";  
615 - // necessario pq nao e sincrono  
616 - eval("var f = function(retorno){document.getElementById('legendaL_" + i  
617 - + "').innerHTML = retorno.responseText;};");  
618 - url = url.replace("LAYERS", "LAYER");  
619 - var config = {  
620 - method : "GET",  
621 - url : url,  
622 - callback : f  
623 - };  
624 - OpenLayers.Request.issue(config);  
625 - } else {  
626 - url = url.replace("LAYERS", "LAYER");  
627 - url = url.replace("&Z=${z}&X=${x}&Y=${y}", "");  
628 - url = url.replace("Z=${z}&X=${x}&Y=${y}", "");  
629 - ins += layers[i].name + "<br><img src='" + url + "&SERVICE=wms' /><br>";  
630 } 618 }
  619 + */
  620 + ins += icone + prop.name + "<br><div id=legendaL_" + i + " ></div><br>";
  621 + // necessario pq nao e sincrono
  622 + eval("var f = function(retorno){document.getElementById('legendaL_" + i
  623 + + "').innerHTML = retorno.responseText;};");
  624 + url = url.replace("LAYERS", "LAYER");
  625 + var config = {
  626 + method : "GET",
  627 + url : url,
  628 + callback : f
  629 + };
  630 + OpenLayers.Request.issue(config);
  631 + } else if (prop.isBaseLayer === false && prop.visible === true) {
  632 + //caso a legenda seja aberta dentro do i3Geo
  633 + url = url.replace("LAYERS", "LAYER");
  634 + url += "&FORMAT=image/png";
  635 + ins += prop.title + "<br><img src='" + url + "' /><br>";
631 } 636 }
632 - } catch (e) {  
633 } 637 }
634 } 638 }
635 if (!document.getElementById("panellegendaeditorOL")) { 639 if (!document.getElementById("panellegendaeditorOL")) {