diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index cf903fe..9a31835 100755 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -3107,4 +3107,22 @@ function checaLoginIp($lista){ exit (); } } +// +//corrige layers do tipo GRID +//bug do mapserver nao permite renderizar grids +//essa funcao corrige esse problema +// +function corrigeLayerGrid($layerOrigem,$layerDestino){ + if($layerOrigem->connectiontype == MS_GRATICULE){ + ms_newgridobj($layerDestino); + $layerDestino->grid->set("labelformat", $layerOrigem->grid->labelformat); + $layerDestino->grid->set("mininterval", $layerOrigem->grid->mininterval); + $layerDestino->grid->set("maxinterval", $layerOrigem->grid->maxinterval); + $layerDestino->grid->set("minsubdivide", $layerOrigem->grid->minsubdivide); + $layerDestino->grid->set("maxsubdivide", $layerOrigem->grid->maxsubdivide); + $layerDestino->grid->set("minarcs", $layerOrigem->grid->minarcs); + $layerDestino->grid->set("maxarcs", $layerOrigem->grid->maxarcs); + //$layerDestino->updatefromstring("LAYER GRID LABELFORMAT '" . $layerOrigem->grid->labelformat . "' END END"); + } +} ?> diff --git a/ms_criamapa.php b/ms_criamapa.php index 3021ea1..f53402b 100755 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -908,7 +908,8 @@ function incluiTemasIniciais(){ $layern->set("status",$statustemp); } cloneInlineSymbol($layern,$maptemp,$mapn); - ms_newLayerObj($mapn, $layern); + $layerAdicionado = ms_newLayerObj($mapn, $layern); + corrigeLayerGrid($layern,$layerAdicionado); } } diff --git a/temas/gridg.map b/temas/gridg.map new file mode 100755 index 0000000..4db73be --- /dev/null +++ b/temas/gridg.map @@ -0,0 +1,55 @@ +MAP + FONTSET "../symbols/fontes.txt" + SYMBOLSET "../symbols/simbolos.sym" + LAYER + METADATA + "METAESTAT_ID_MEDIDA_VARIAVEL" "" + "CACHE" "nao" + "DESCRIPTION" "Grid" + "permitekmz" "nao" + "TILES" "nao" + "METAESTAT_CODIGO_TIPO_REGIAO" "" + "permitedownload" "sim" + "metaestat" "" + "download" "sim" + "permitekml" "sim" + "permiteogc" "sim" + "TEMA" "Grade DMS" + END # METADATA + NAME "gridg" + PROJECTION + "proj=longlat" + "ellps=WGS84" + "datum=WGS84" + "no_defs" + END # PROJECTION + STATUS DEFAULT + TILEITEM "location" + TYPE LINE + UNITS METERS + CLASS + NAME "Graticule" + LABEL + FONT "arial" + SIZE 8 + BUFFER 2 + OFFSET 0 0 + OUTLINECOLOR 255 255 255 + PARTIALS FALSE + POSITION CC + SHADOWSIZE 1 1 + TYPE TRUETYPE + END # LABEL + STYLE + COLOR 200 200 200 + END # STYLE + END # CLASS + GRID + LABELFORMAT "DDMMSS" + MAXINTERVAL 10 + MININTERVAL 10 + END # GRID + END # LAYER + +END # MAP + diff --git a/testamapfile.php b/testamapfile.php index d1bb1bb..a3f199b 100755 --- a/testamapfile.php +++ b/testamapfile.php @@ -349,7 +349,10 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ } //pega simbolos locais e aplica no novo mapa cloneInlineSymbol($layern,$nmapa,$mapa); - ms_newLayerObj($mapa, $layern); + + $layerAdicionado = ms_newLayerObj($mapa, $layern); + + corrigeLayerGrid($layern,$layerAdicionado); /* if ($layern->data == ""){ $dados = $layern->connection; @@ -447,7 +450,7 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ } else{ $mapa = ms_newMapObj($destino); - restauraCon($destino,$postgis_mapa); + restauraConObj($mapa,$postgis_mapa); $objImagem = @$mapa->draw(); //corrige o titulo da legenda $numlayers = $mapa->numlayers; -- libgit2 0.21.2