Commit c30565e25e1610ca22e5cdd043f0f19db17b974c
1 parent
76627213
Exists in
master
and in
7 other branches
Ajustes para funcionar no preview do editor de mapfiles
Showing
1 changed file
with
102 additions
and
99 deletions
Show diff stats
mashups/openlayers.php
@@ -211,6 +211,10 @@ if($temas != ""){ | @@ -211,6 +211,10 @@ if($temas != ""){ | ||
211 | $visiveis = explode(",",$visiveis); | 211 | $visiveis = explode(",",$visiveis); |
212 | } | 212 | } |
213 | $objOpenLayers = array(); | 213 | $objOpenLayers = array(); |
214 | + if(!isset($servidor)){ | ||
215 | + $servidor = "../ogc.php"; | ||
216 | + } | ||
217 | + /* | ||
214 | if(isset($servidor) && $servidor != "../ogc.php"){ | 218 | if(isset($servidor) && $servidor != "../ogc.php"){ |
215 | $layers = $temas; | 219 | $layers = $temas; |
216 | foreach($temas as $tema){ | 220 | foreach($temas as $tema){ |
@@ -219,128 +223,127 @@ if($temas != ""){ | @@ -219,128 +223,127 @@ if($temas != ""){ | ||
219 | $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tema.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{isBaseLayer:false})'; | 223 | $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tema.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{isBaseLayer:false})'; |
220 | } | 224 | } |
221 | } | 225 | } |
222 | - else{ | ||
223 | - foreach($temas as $tema){ | ||
224 | - if(file_exists($locaplic."/temas/".$tema.".gvp")){ | ||
225 | - include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); | ||
226 | - $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp"); | ||
227 | - $gvsigview = $gm->getViewsNames(); | ||
228 | - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$gvsigview[0].'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$tema.'",transparent: "true", format: "image/png"},{singleTile:false,visibility:true,isBaseLayer:false})'; | 226 | + */ |
227 | + foreach($temas as $tema){ | ||
228 | + if(file_exists($locaplic."/temas/".$tema.".gvp")){ | ||
229 | + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); | ||
230 | + $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp"); | ||
231 | + $gvsigview = $gm->getViewsNames(); | ||
232 | + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$gvsigview[0].'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$tema.'",transparent: "true", format: "image/png"},{singleTile:false,visibility:true,isBaseLayer:false})'; | ||
233 | + } | ||
234 | + else{ | ||
235 | + $nomeMap = ""; | ||
236 | + if(file_exists($locaplic."/temas/".$tema.".map")){ | ||
237 | + $nomeMap = $locaplic."/temas/".$tema.".map"; | ||
229 | } | 238 | } |
230 | else{ | 239 | else{ |
231 | - $nomeMap = ""; | ||
232 | - if(file_exists($locaplic."/temas/".$tema.".map")){ | ||
233 | - $nomeMap = $locaplic."/temas/".$tema.".map"; | 240 | + if(file_exists($tema)){ |
241 | + $nomeMap = $tema; | ||
234 | } | 242 | } |
235 | else{ | 243 | else{ |
236 | - if(file_exists($tema)){ | ||
237 | - $nomeMap = $tema; | 244 | + // acontece caso o mapfile tenha sido gerado na pasta |
245 | + // temporaria por algum sistema | ||
246 | + if(file_exists($dir_tmp."/".$tema.".map")){ | ||
247 | + $nomeMap = $dir_tmp."/".$tema.".map"; | ||
238 | } | 248 | } |
239 | - else{ | ||
240 | - // acontece caso o mapfile tenha sido gerado na pasta | ||
241 | - // temporaria por algum sistema | ||
242 | - if(file_exists($dir_tmp."/".$tema.".map")){ | ||
243 | - $nomeMap = $dir_tmp."/".$tema.".map"; | 249 | + } |
250 | + } | ||
251 | + if($nomeMap != ""){ | ||
252 | + $layersNomes = array(); | ||
253 | + $layers = array(); | ||
254 | + $maptemp = @ms_newMapObj($nomeMap); | ||
255 | + if($maptemp){ | ||
256 | + $nlayers = $maptemp->numlayers; | ||
257 | + for($i=0;$i<($nlayers);++$i) { | ||
258 | + $layern = $maptemp->getLayer($i); | ||
259 | + if($layern->getmetadata("PLUGINI3GEO") != ""){ | ||
260 | + //obtem os dados necessarios para iniciar o plugin | ||
261 | + $temasPluginI3Geo[] = array( | ||
262 | + "name"=>$layern->name, | ||
263 | + "tema"=>$layern->getmetadata("tema"), | ||
264 | + "plugin"=>$layern->getmetadata("PLUGINI3GEO"), | ||
265 | + "cache"=>strtoupper($layern->getmetadata("cache")), | ||
266 | + "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")) | ||
267 | + ); | ||
268 | + } | ||
269 | + else{ | ||
270 | + $layersNomes[] = $layern->name; | ||
271 | + $layers[] = $layern; | ||
244 | } | 272 | } |
245 | } | 273 | } |
246 | - } | ||
247 | - if($nomeMap != ""){ | ||
248 | - $layersNomes = array(); | ||
249 | - $layers = array(); | ||
250 | - $maptemp = @ms_newMapObj($nomeMap); | ||
251 | - if($maptemp){ | ||
252 | - $nlayers = $maptemp->numlayers; | ||
253 | - for($i=0;$i<($nlayers);++$i) { | ||
254 | - $layern = $maptemp->getLayer($i); | ||
255 | - if($layern->getmetadata("PLUGINI3GEO") != ""){ | ||
256 | - //obtem os dados necessarios para iniciar o plugin | ||
257 | - $temasPluginI3Geo[] = array( | ||
258 | - "name"=>$layern->name, | ||
259 | - "tema"=>$layern->getmetadata("tema"), | ||
260 | - "plugin"=>$layern->getmetadata("PLUGINI3GEO"), | ||
261 | - "cache"=>strtoupper($layern->getmetadata("cache")), | ||
262 | - "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")) | ||
263 | - ); | ||
264 | - } | ||
265 | - else{ | ||
266 | - $layersNomes[] = $layern->name; | ||
267 | - $layers[] = $layern; | ||
268 | - } | 274 | + $nomeLayer = implode(",",$layersNomes); |
275 | + $tituloLayer = $layern->getmetadata("tema"); | ||
276 | + $ebase = "false"; | ||
277 | + if(isset($fundo) && $fundo != ""){ | ||
278 | + if(in_array($tema,$fundo)){ | ||
279 | + $ebase = "true"; | ||
269 | } | 280 | } |
270 | - $nomeLayer = implode(",",$layersNomes); | ||
271 | - $tituloLayer = $layern->getmetadata("tema"); | ||
272 | - $ebase = "false"; | ||
273 | - if(isset($fundo) && $fundo != ""){ | ||
274 | - if(in_array($tema,$fundo)){ | ||
275 | - $ebase = "true"; | ||
276 | - } | 281 | + } |
282 | + $visivel = "false"; | ||
283 | + if(in_array($tema,$visiveis)){ | ||
284 | + $visivel = "true"; | ||
285 | + } | ||
286 | + if($nlayers == 1 && strtoupper($layern->getmetadata("cache")) == "SIM" && $layern->getmetadata("PLUGINI3GEO") == ""){ | ||
287 | + if($layern->type != 2 && $layern->type != 3){ | ||
288 | + $opacidade = 1; | ||
289 | + } | ||
290 | + // | ||
291 | + //verifica se deve aplicar filtro | ||
292 | + // | ||
293 | + $filtro = $_GET["map_layer_".$layern->name."_filter"]; | ||
294 | + if(!empty($filtro)){ | ||
295 | + $DESLIGACACHE = "sim"; | ||
296 | + $nocache = "map_layer_".$layern->name."_filter=".$filtro."&".$nocache; | ||
277 | } | 297 | } |
278 | - $visivel = "false"; | ||
279 | - if(in_array($tema,$visiveis)){ | ||
280 | - $visivel = "true"; | 298 | + $teffect = 'transitionEffect: "resize",'; |
299 | + if(strtoupper($layern->getmetadata("transitioneffect")) == "NAO"){ | ||
300 | + $teffect = 'transitionEffect: null,'; | ||
281 | } | 301 | } |
282 | - if($nlayers == 1 && strtoupper($layern->getmetadata("cache")) == "SIM" && $layern->getmetadata("PLUGINI3GEO") == ""){ | ||
283 | - if($layern->type != 2 && $layern->type != 3){ | 302 | + // nesse caso o layer e adicionado como TMS |
303 | + // tms leva os parametros do TMS | ||
304 | + $objOpenLayers[] = 'new OpenLayers.Layer.TMS("'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'",{'.$teffect.' tileOrigin: new OpenLayers.LonLat(-180, -90),opacity:'.$opacidade.',serviceVersion:"&tms=",visibility:'.$visivel.',isBaseLayer:'.$ebase.',layername:"'.$nomeLayer.'",type:"png"})'; | ||
305 | + // cria um clone WMS para efeitos de getfeatureinfo | ||
306 | + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{cloneTMS:"'.$nomeLayer.'",layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{displayInLayerSwitcher:false,transitionEffect : null,singleTile:true,visibility:false,isBaseLayer:false})'; | ||
307 | + } | ||
308 | + else{ | ||
309 | + foreach($layers as $l){ | ||
310 | + $singleTile = "false"; | ||
311 | + if(strtoupper($l->getmetadata("TILES")) == "NAO"){ | ||
312 | + $singleTile = "true"; | ||
313 | + } | ||
314 | + $tituloLayer = $l->getmetadata("tema"); | ||
315 | + $nomeLayer = $l->name; | ||
316 | + $visivel = "false"; | ||
317 | + if($l->status == MS_DEFAULT || in_array($tema,$visiveis)){ | ||
318 | + $visivel = "true"; | ||
319 | + } | ||
320 | + if($l->type != 2 && $l->type != 3){ | ||
284 | $opacidade = 1; | 321 | $opacidade = 1; |
285 | } | 322 | } |
286 | // | 323 | // |
287 | //verifica se deve aplicar filtro | 324 | //verifica se deve aplicar filtro |
288 | // | 325 | // |
289 | - $filtro = $_GET["map_layer_".$layern->name."_filter"]; | 326 | + $filtro = $_GET["map_layer_".$l->name."_filter"]; |
290 | if(!empty($filtro)){ | 327 | if(!empty($filtro)){ |
291 | $DESLIGACACHE = "sim"; | 328 | $DESLIGACACHE = "sim"; |
292 | - $nocache = "map_layer_".$layern->name."_filter=".$filtro."&".$nocache; | 329 | + $nocache = "map_layer_".$l->name."_filter=".$filtro."&".$nocache; |
293 | } | 330 | } |
294 | - $teffect = 'transitionEffect: "resize",'; | ||
295 | - if(strtoupper($layern->getmetadata("transitioneffect")) == "NAO"){ | ||
296 | - $teffect = 'transitionEffect: null,'; | 331 | + $teffect = 'transitionEffect: "resize",'; |
332 | + if(strtoupper($l->getmetadata("transitioneffect")) == "NAO"){ | ||
333 | + $teffect = 'transitionEffect: null,'; | ||
297 | } | 334 | } |
298 | - // nesse caso o layer e adicionado como TMS | ||
299 | - // tms leva os parametros do TMS | ||
300 | - $objOpenLayers[] = 'new OpenLayers.Layer.TMS("'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'",{'.$teffect.' tileOrigin: new OpenLayers.LonLat(-180, -90),opacity:'.$opacidade.',serviceVersion:"&tms=",visibility:'.$visivel.',isBaseLayer:'.$ebase.',layername:"'.$nomeLayer.'",type:"png"})'; | ||
301 | - // cria um clone WMS para efeitos de getfeatureinfo | ||
302 | - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{cloneTMS:"'.$nomeLayer.'",layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{displayInLayerSwitcher:false,transitionEffect : null,singleTile:true,visibility:false,isBaseLayer:false})'; | ||
303 | - } | ||
304 | - else{ | ||
305 | - foreach($layers as $l){ | ||
306 | - $singleTile = "false"; | ||
307 | - if(strtoupper($l->getmetadata("TILES")) == "NAO"){ | ||
308 | - $singleTile = "true"; | ||
309 | - } | ||
310 | - $tituloLayer = $l->getmetadata("tema"); | ||
311 | - $nomeLayer = $l->name; | ||
312 | - $visivel = "false"; | ||
313 | - if($l->status == MS_DEFAULT || in_array($tema,$visiveis)){ | ||
314 | - $visivel = "true"; | ||
315 | - } | ||
316 | - if($l->type != 2 && $l->type != 3){ | ||
317 | - $opacidade = 1; | ||
318 | - } | ||
319 | - // | ||
320 | - //verifica se deve aplicar filtro | ||
321 | - // | ||
322 | - $filtro = $_GET["map_layer_".$l->name."_filter"]; | ||
323 | - if(!empty($filtro)){ | ||
324 | - $DESLIGACACHE = "sim"; | ||
325 | - $nocache = "map_layer_".$l->name."_filter=".$filtro."&".$nocache; | ||
326 | - } | ||
327 | - $teffect = 'transitionEffect: "resize",'; | ||
328 | - if(strtoupper($l->getmetadata("transitioneffect")) == "NAO"){ | ||
329 | - $teffect = 'transitionEffect: null,'; | ||
330 | - } | ||
331 | - if($tituloLayer != ""){ | ||
332 | - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; | ||
333 | - } | ||
334 | - else{ | ||
335 | - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' displayInLayerSwitcher:false,singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; | ||
336 | - } | 335 | + if($tituloLayer != ""){ |
336 | + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; | ||
337 | + } | ||
338 | + else{ | ||
339 | + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' displayInLayerSwitcher:false,singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; | ||
337 | } | 340 | } |
338 | } | 341 | } |
339 | } | 342 | } |
340 | } | 343 | } |
341 | - else{ | ||
342 | - echo $tema." não foi encontrado.<br>"; | ||
343 | - } | 344 | + } |
345 | + else{ | ||
346 | + echo $tema." não foi encontrado.<br>"; | ||
344 | } | 347 | } |
345 | } | 348 | } |
346 | } | 349 | } |