Commit cf4334c5eb51d23a005b6c86c1d2a9b5f62b7700
1 parent
a6d21752
Exists in
master
and in
7 other branches
Resolvido o problema de desenho do drawquery em layers postgis na versão 5.x do Mapserver
Showing
2 changed files
with
35 additions
and
7 deletions
Show diff stats
classesphp/mapa_googlemaps.php
| @@ -225,12 +225,41 @@ else | @@ -225,12 +225,41 @@ else | ||
| 225 | $shp = unserialize($conteudo); | 225 | $shp = unserialize($conteudo); |
| 226 | $l = $mapa->getLayerByname($_GET["layer"]); | 226 | $l = $mapa->getLayerByname($_GET["layer"]); |
| 227 | $indxlayer = $l->index; | 227 | $indxlayer = $l->index; |
| 228 | - foreach ($shp as $indx) | ||
| 229 | - {$mapa->querybyindex($indxlayer,-1,$indx,MS_TRUE);} | ||
| 230 | - $qm = $mapa->querymap; | ||
| 231 | - $qm->set("width",$map_size[0]); | ||
| 232 | - $qm->set("height",$map_size[1]); | ||
| 233 | - $img = $mapa->drawQuery(); | 228 | + if ($l->connectiontype != MS_POSTGIS){ |
| 229 | + foreach ($shp as $indx) | ||
| 230 | + {$mapa->querybyindex($indxlayer,-1,$indx,MS_TRUE);} | ||
| 231 | + $qm = $mapa->querymap; | ||
| 232 | + $qm->set("width",$map_size[0]); | ||
| 233 | + $qm->set("height",$map_size[1]); | ||
| 234 | + $img = $mapa->drawQuery(); | ||
| 235 | + } | ||
| 236 | + else{ | ||
| 237 | + $img = $mapa->draw(); | ||
| 238 | + $c = $mapa->querymap->color; | ||
| 239 | + $numclasses = $l->numclasses; | ||
| 240 | + if ($numclasses > 0) | ||
| 241 | + { | ||
| 242 | + $classe0 = $l->getClass(0); | ||
| 243 | + $classe0->setexpression(""); | ||
| 244 | + $classe0->set("name"," "); | ||
| 245 | + for ($i=1; $i < $numclasses; ++$i) | ||
| 246 | + { | ||
| 247 | + $classe = $l->getClass($i); | ||
| 248 | + $classe->set("status",MS_DELETE); | ||
| 249 | + } | ||
| 250 | + } | ||
| 251 | + $cor = $classe0->getstyle(0)->color; | ||
| 252 | + $cor->setrgb($c->red,$c->green,$c->blue); | ||
| 253 | + $cor = $classe0->getstyle(0)->outlinecolor; | ||
| 254 | + $cor->setrgb($c->red,$c->green,$c->blue); | ||
| 255 | + $l->open(); | ||
| 256 | + foreach ($shp as $indx){ | ||
| 257 | + $shape = $l->getfeature($indx,-1); | ||
| 258 | + $shape->draw($mapa,$l,$img); | ||
| 259 | + } | ||
| 260 | + $l->close(); | ||
| 261 | + } | ||
| 262 | + | ||
| 234 | } | 263 | } |
| 235 | if (!function_exists('imagepng')) | 264 | if (!function_exists('imagepng')) |
| 236 | { | 265 | { |
classesphp/mapa_openlayers.php
| @@ -105,7 +105,6 @@ $mapa = ms_newMapObj($map_fileX); //map_file vem de section | @@ -105,7 +105,6 @@ $mapa = ms_newMapObj($map_fileX); //map_file vem de section | ||
| 105 | // | 105 | // |
| 106 | $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php"; | 106 | $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php"; |
| 107 | $qy = file_exists($qyfile); | 107 | $qy = file_exists($qyfile); |
| 108 | - | ||
| 109 | if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao e alterado | 108 | if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao e alterado |
| 110 | $numlayers = $mapa->numlayers; | 109 | $numlayers = $mapa->numlayers; |
| 111 | $cache = false; | 110 | $cache = false; |