From d0550acb0d4985ee113020d933856afeaef3a927 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Fri, 29 Jul 2011 21:23:15 +0000 Subject: [PATCH] --- classesjs/classe_arvoredecamadas.js | 17 +++++++++++------ classesphp/classe_mapa.php | 13 +++++++++++-- classesphp/classe_selecao.php | 9 +++++++++ ferramentas/selecao/index.js.php | 46 +++++++++++++++++++++++++++++++++++++++++----- ms_criamapa.php | 12 ++++++------ 5 files changed, 78 insertions(+), 19 deletions(-) diff --git a/classesjs/classe_arvoredecamadas.js b/classesjs/classe_arvoredecamadas.js index a648dae..caf441e 100644 --- a/classesjs/classe_arvoredecamadas.js +++ b/classesjs/classe_arvoredecamadas.js @@ -477,6 +477,7 @@ i3GEO.arvoreDeCamadas = { if(temp.innerHTML !== ""){ if(i3GEO.arvoreDeCamadas.comparaTemas(temas,i3GEO.arvoreDeCamadas.CAMADAS)){ if(typeof(console) !== 'undefined'){console.info("Nao é necessario atualizar arvoreDeCamadas - return");} + i3GEO.arvoreDeCamadas.CAMADAS = temas; return; } } @@ -1435,19 +1436,23 @@ i3GEO.arvoreDeCamadas = { Parametro: idtema - {String} ID do tema que será procurado + + camadas - {Objeto} - objeto com a lista de temas Return: {JSON} */ - pegaTema: function(idtema){ + pegaTema: function(idtema,camadas){ if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeCamadas.pegaTema()");} - var i, - v = "", - c = i3GEO.arvoreDeCamadas.CAMADAS.length; + var i,c + v = ""; + if(!camadas) + {camadas = i3GEO.arvoreDeCamadas.CAMADAS;} + c = camadas.length; for (i=0; ilayers as $oLayer) { $sel = "nao"; - if(file_exists($dir."/".$oLayer->name.".php")) - {$sel = "sim";$existesel = true;} + $nSel = 0; + $arqS = $dir."/".$oLayer->name.".php"; + if(file_exists($arqS)){ + $sel = "sim"; + $existesel = true; + $handle = fopen ($arqS, "r"); + $conteudo = fread ($handle, filesize ($arqS)); + fclose ($handle); + $nSel = count(unserialize($conteudo)); + } $escondido = $oLayer->getmetadata("escondido"); if($escondido == "") {$escondido = "nao";} @@ -288,6 +296,7 @@ string - javascript com os parametros "transparency"=>($oLayer->opacity), "type"=>($oLayer->type), "sel"=>$sel, + "nsel"=>$nSel, "escala"=>$escala, "download"=>$down, "features"=>$f, diff --git a/classesphp/classe_selecao.php b/classesphp/classe_selecao.php index 83443dd..0d664c4 100644 --- a/classesphp/classe_selecao.php +++ b/classesphp/classe_selecao.php @@ -131,6 +131,14 @@ Salva o mapfile atual $this->mapa->save($this->arquivo); } /* +function: nSel + +Retorna o número de elementos selecionados +*/ + function nSel(){ + return $this->layer->getNumresults(); + } +/* function: selecaoPorPoligono Seleciona os elementos de um tema baseado em um conjunto de pontos que formarão um polígono. @@ -193,6 +201,7 @@ $ys - lista de coordenadas y separadas por virgula $result = $this->layer->getResult($i); $shpi[] = $result->shapeindex; } + $this->layer->set("status",MS_DEFAULT); if (($tipo == "adiciona") && (count($shpi) > 0)) {return($this->selecaoAdiciona($shpi,$shp_atual));} if (($tipo == "retira") && (count ($shp_atual) > 0)) diff --git a/ferramentas/selecao/index.js.php b/ferramentas/selecao/index.js.php index 842ed67..83050e7 100644 --- a/ferramentas/selecao/index.js.php +++ b/ferramentas/selecao/index.js.php @@ -125,6 +125,7 @@ i3GEOF.selecao = { ' ' + '
' + '