Commit c473211a4a3ad84a2afb9c9ebdb017c1e0f02c51
1 parent
01688964
Exists in
master
and in
7 other branches
--no commit message
Showing
3 changed files
with
68 additions
and
57 deletions
Show diff stats
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["telaR"])){//no caso de projecoes remotas, o mapfile nao e alter | @@ -251,7 +260,6 @@ if(!isset($_GET["telaR"])){//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('imagepng')){ | @@ -259,7 +267,6 @@ if (!function_exists('imagepng')){ | ||
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["mapext"])){ | @@ -282,7 +289,7 @@ if(isset($_GET["mapext"])){ | ||
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")) { |