From 4b02f7e396a1c71d1636ef48f8ad59e69bdefed2 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sat, 16 Jul 2011 17:13:01 +0000 Subject: [PATCH] Inclusão de opção opção para testar camada no editor de atlas do sistema de administração --- admin/js/atlas.js | 5 +++++ admin/php/editormapfile.php | 8 ++++---- classesjs/classe_interface.js | 15 +++++++++++++++ classesphp/mapa_googlemaps.php | 30 ++++++++++++++++-------------- classesphp/mapa_openlayers.php | 7 ++++--- interface/googlemaps.phtml | 2 +- ms_criamapa.php | 4 +++- 7 files changed, 48 insertions(+), 23 deletions(-) diff --git a/admin/js/atlas.js b/admin/js/atlas.js index 811dc82..7ec64bc 100644 --- a/admin/js/atlas.js +++ b/admin/js/atlas.js @@ -136,6 +136,10 @@ function montaArvore(dados) adicionaNosAtlas(dados) tree.draw(); } +function testarMapfile(codigoMap) +{ + window.open("../../testamapfile.php?map="+codigoMap+".map") +} function adicionaNosTemas(no,dados,redesenha) { if(!redesenha) @@ -150,6 +154,7 @@ function adicionaNosTemas(no,dados,redesenha) var conteudo = " " conteudo += " " conteudo += " " + conteudo += " " conteudo += "  "+dados[i].codigo_tema+"" var d = {html:conteudo,id_tema:dados[i].id_tema,tipo:"tema"} var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php index bb0b9b6..37377cb 100644 --- a/admin/php/editormapfile.php +++ b/admin/php/editormapfile.php @@ -1198,7 +1198,7 @@ function listaClasses() for($i=0;$i<$nclasses;++$i) { $classe = $layer->getclass($i); - $dados[] = array("indice"=>$i,"nome"=>($classe->name)); + $dados[] = array("indice"=>$i,"nome"=>(mb_convert_encoding($classe->name,"UTF-8","ISO-8859-1"))); } return $dados; } @@ -1314,10 +1314,10 @@ function pegaMetadados() $dados["type"] = $layer->type; $dados["connectiontype"] = $layer->connectiontype; $dados["itens"] = $layer->getmetadata("itens"); - $dados["itensdesc"] = $layer->getmetadata("itensdesc"); + $dados["itensdesc"] = mb_convert_encoding($layer->getmetadata("itensdesc"),"UTF-8","ISO-8859-1"); //$layer->getmetadata("itensdesc"); $dados["itenslink"] = $layer->getmetadata("itenslink"); $dados["tip"] = $layer->getmetadata("tip"); - $dados["tema"] = $layer->getmetadata("tema"); + $dados["tema"] = mb_convert_encoding($layer->getmetadata("tema"),"UTF-8","ISO-8859-1");//$layer->getmetadata("tema"); $dados["classe"] = $layer->getmetadata("classe"); $dados["escala"] = $layer->getmetadata("escala"); $dados["download"] = $layer->getmetadata("download"); @@ -1325,7 +1325,7 @@ function pegaMetadados() $dados["extensao"] = $layer->getmetadata("extensao"); $dados["identifica"] = $layer->getmetadata("identifica"); $dados["transitioneffect"] = $layer->getmetadata("transitioneffect"); - $dados["mensagem"] = $layer->getmetadata("mensagem"); + $dados["mensagem"] = mb_convert_encoding($layer->getmetadata("mensagem"),"UTF-8","ISO-8859-1");//$layer->getmetadata("mensagem"); $dados["classesitem"] = $layer->getmetadata("classesitem"); $dados["classesnome"] = $layer->getmetadata("classesnome"); $dados["classescor"] = $layer->getmetadata("classescor"); diff --git a/classesjs/classe_interface.js b/classesjs/classe_interface.js index d47115f..d6e6f8a 100644 --- a/classesjs/classe_interface.js +++ b/classesjs/classe_interface.js @@ -1534,6 +1534,7 @@ i3GEO.Interface = { }, criaImageMap: function(nomeLayer){ var i3GEOTileO,s; + s = "i3GEOTileO = new google.maps.ImageMapType({ "+ "getTileUrl: function(coord, zoom) {" + " var url = '" + i3GEO.configura.locaplic +"/classesphp/mapa_googlemaps.php?g_sid=" + i3GEO.configura.sid + @@ -1544,6 +1545,20 @@ i3GEO.Interface = { "isPng: true," + "name: '" + nomeLayer + "'" + "});"; + +/* + s = "i3GEOTileO = new google.maps.ImageMapType({ "+ + "getTileUrl: function(coord, zoom) {" + + " var url = '" + i3GEO.configura.locaplic +"/classesphp/mapa_googlemaps.php?g_sid=" + i3GEO.configura.sid + + "&WIDTH=512&HEIGHT=512&BBOX=' + i3GEO.Interface.googlemaps.bbox() + '"+ + "&Z=' + zoom + '&X=' + (coord.x) + '&Y=' + (coord.y) + '&layer=" + nomeLayer + i3GEO.Interface.googlemaps.PARAMETROSLAYER + '&r='+Math.random()+"';" + + " return url+'&nd='+i3GEO.Interface.googlemaps.posfixo; " + + "}, "+ + "tileSize: new google.maps.Size(512,512)," + + "isPng: true," + + "name: '" + nomeLayer + "'" + + "});"; +*/ eval(s); return i3GEOTileO; }, diff --git a/classesphp/mapa_googlemaps.php b/classesphp/mapa_googlemaps.php index a4bac90..340f800 100644 --- a/classesphp/mapa_googlemaps.php +++ b/classesphp/mapa_googlemaps.php @@ -88,31 +88,33 @@ $postgis_mapa = $_SESSION["postgis_mapa"]; //converte a requisição do tile em coordenadas geo //http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#tile_numbers_to_lon.2Flat_2 // -$x = $_GET["X"]; -$y = $_GET["Y"]; -$n = pow(2, $_GET["Z"]); -$lon1 = $x / $n * 360.0 - 180.0; -$lat2 = rad2deg(atan(sinh(pi() * (1 - 2 * $y / $n)))); -$x++; -$y++; -$lon2 = $x / $n * 360.0 - 180.0; -$lat1 = rad2deg(atan(sinh(pi() * (1 - 2 * $y / $n)))); + $x = $_GET["X"]; + $y = $_GET["Y"]; + $n = pow(2, $_GET["Z"]); + $lon1 = $x / $n * 360.0 - 180.0; + $lat2 = rad2deg(atan(sinh(pi() * (1 - 2 * $y / $n)))); + $x++; + $y++; + $lon2 = $x / $n * 360.0 - 180.0; + $lat1 = rad2deg(atan(sinh(pi() * (1 - 2 * $y / $n)))); $projInObj = ms_newprojectionobj("proj=latlong"); $projOutObj = ms_newprojectionobj("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m"); + $poPoint1 = ms_newpointobj(); $poPoint1->setXY($lon1, $lat1); $poPoint1->project($projInObj, $projOutObj); $poPoint2 = ms_newpointobj(); $poPoint2->setXY($lon2, $lat2); $poPoint2->project($projInObj, $projOutObj); - $_GET["BBOX"] = $poPoint1->x." ".$poPoint1->y." ".$poPoint2->x." ".$poPoint2->y; - $_GET["mapext"] = str_replace(","," ",$_GET["BBOX"]); -$_GET["map_size"] = "256 256"; -$_GET["WIDTH"] = "256"; -$_GET["HEIGHT"] = "256"; + +if(!isset($_GET["WIDTH"])) +{$_GET["WIDTH"] = "256";} +if(!isset($_GET["HEIGHT"])) +{$_GET["HEIGHT"] = "256";} +$_GET["map_size"] = $_GET["WIDTH"]." ".$_GET["HEIGHT"]; $mapa = ms_newMapObj($map_file); /* diff --git a/classesphp/mapa_openlayers.php b/classesphp/mapa_openlayers.php index 2ee82f7..d803ee7 100644 --- a/classesphp/mapa_openlayers.php +++ b/classesphp/mapa_openlayers.php @@ -58,7 +58,6 @@ Arquivo: i3geo/classesphp/mapa_openlayers.php */ -//error_reporting(E_ALL); if (!function_exists('ms_GetVersion')) { $s = PHP_SHLIB_SUFFIX; @@ -72,6 +71,7 @@ if(@$_GET["g_sid"]) else {ilegal();} session_start(); + if(@$_SESSION["fingerprint"]) { $f = explode(",",$_SESSION["fingerprint"]); @@ -83,7 +83,7 @@ else // $map_file = $_SESSION["map_file"]; $postgis_mapa = $_SESSION["postgis_mapa"]; -if($_GET["tipolayer"] == "fundo") +if(isset($_GET["tipolayer"]) && $_GET["tipolayer"] == "fundo") {$map_file = str_replace(".map","fundo.map",$map_file);} if(isset($_GET["BBOX"])) { @@ -233,7 +233,6 @@ if (!function_exists('imagepng')) if (!function_exists('imagepng')) {$_GET["TIPOIMAGEM"] = "";} } - if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum") { $nomer = ($img->imagepath)."filtroimgtemp".nomeRandomico(); @@ -256,8 +255,10 @@ else{ imagealphablending($img, false); imagesavealpha($img, true); ob_clean(); + echo header("Content-type: image/png \n\n"); imagepng($img); + } function salvaCacheImagem($bbox,$layer,$map,$w,$h){ global $img,$map_size; diff --git a/interface/googlemaps.phtml b/interface/googlemaps.phtml index 15207d4..e319c4c 100644 --- a/interface/googlemaps.phtml +++ b/interface/googlemaps.phtml @@ -105,7 +105,7 @@ include_once("../ms_configura.php"); - +