Commit 6a432abe0ad549c83c2223d740fe3495a206bda0

Authored by Edmar Moretti
1 parent 2f8ff09e

Conclusão da revisão das funções de modificação das propriedades do mapa na interface GoogleMaps

classesjs/classe_calculo.js
@@ -100,11 +100,11 @@ i3GEO.calculo = { @@ -100,11 +100,11 @@ i3GEO.calculo = {
100 */ 100 */
101 dd2tela: function (vx,vy,docmapa,ext,cellsize){ 101 dd2tela: function (vx,vy,docmapa,ext,cellsize){
102 try{ 102 try{
103 - var pos,latlng,xyn,dc,imgext,c,xy; 103 + var pos,latlng,xyn,dc,imgext,c,xy,mapType;
104 if(i3GEO.Interface.ATUAL == "googlemaps"){ 104 if(i3GEO.Interface.ATUAL == "googlemaps"){
105 pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); 105 pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));
106 - latlng = new GLatLng(vy,vx);  
107 - xyn = i3GeoMap.fromLatLngToContainerPixel(latlng); 106 + mapType = i3GeoMap.mapTypes[i3GeoMap.getMapTypeId()];
  107 + xyn = mapType.projection.fromLatLngToPoint(new google.maps.LatLng(vy,vx));
108 xy = []; 108 xy = [];
109 return [(xyn.x)+pos[0],(xyn.y)+pos[1]]; 109 return [(xyn.x)+pos[0],(xyn.y)+pos[1]];
110 } 110 }
classesjs/classe_gadgets.js
@@ -438,7 +438,7 @@ i3GEO.gadgets = { @@ -438,7 +438,7 @@ i3GEO.gadgets = {
438 {alert ("Digite uma palavra para busca!");return;} 438 {alert ("Digite uma palavra para busca!");return;}
439 wdocaf("300px","280px",i3GEO.configura.locaplic+"/ferramentas/buscarapida/index.htm","","","Busca rapida"); 439 wdocaf("300px","280px",i3GEO.configura.locaplic+"/ferramentas/buscarapida/index.htm","","","Busca rapida");
440 }; 440 };
441 - i = $inputText(id,"200","valorBuscaRapida","digite o texto para busca","30",$trad("o2")); 441 + i = $inputText(id,"210","valorBuscaRapida","digite o texto para busca","30",$trad("o2"));
442 ins = "<table><tr><td><a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=8&idajuda=71' >&nbsp;&nbsp;&nbsp;</a></td><td>"+i; 442 ins = "<table><tr><td><a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=8&idajuda=71' >&nbsp;&nbsp;&nbsp;</a></td><td>"+i;
443 ins += "</td><td><img src='"+i3GEO.util.$im("branco.gif")+"' class='tic' onclick='i3geo_buscaRapida()' /></td></tr></table>"; 443 ins += "</td><td><img src='"+i3GEO.util.$im("branco.gif")+"' class='tic' onclick='i3geo_buscaRapida()' /></td></tr></table>";
444 temp = $i(id); 444 temp = $i(id);
classesjs/classe_interface.js
@@ -148,7 +148,9 @@ i3GEO.Interface = { @@ -148,7 +148,9 @@ i3GEO.Interface = {
148 /* 148 /*
149 Function: redesenha 149 Function: redesenha
150 150
151 - Aplica o método redesenha da interface atual 151 + Aplica o método redesenha da interface atual. Em alguns casos, a função de redesenho aplica os mesmos
  152 + processos da função de atualizar o mapa. Isso ocorre pq em alguns casos as funções são otimizadas para cada
  153 + situação
152 */ 154 */
153 redesenha: function(){ 155 redesenha: function(){
154 if(typeof(console) !== 'undefined'){console.info("i3GEO.Interface.redesenha()");} 156 if(typeof(console) !== 'undefined'){console.info("i3GEO.Interface.redesenha()");}
@@ -164,6 +166,26 @@ i3GEO.Interface = { @@ -164,6 +166,26 @@ i3GEO.Interface = {
164 {i3GEO.Interface.flamingo.redesenha();} 166 {i3GEO.Interface.flamingo.redesenha();}
165 }, 167 },
166 /* 168 /*
  169 + Function: atualizaMapa
  170 +
  171 + Aplica o método atualizaMapa da interface atual. Em alguns casos, a função de redesenho aplica os mesmos
  172 + processos da função de atualizar o mapa. Isso ocorre pq em alguns casos as funções são otimizadas para cada
  173 + situação
  174 + */
  175 + atualizaMapa: function(){
  176 + if(typeof(console) !== 'undefined'){console.info("i3GEO.Interface.atualizaMapa()");}
  177 + if(i3GEO.Interface.ATUAL === "padrao")
  178 + {i3GEO.atualiza();}
  179 + if(i3GEO.Interface.ATUAL === "openlayers")
  180 + {i3GEO.Interface.openlayers.atualizaMapa();}
  181 + if(i3GEO.Interface.ATUAL === "googlemaps")
  182 + {i3GEO.Interface.googlemaps.redesenha();}
  183 + if(i3GEO.Interface.ATUAL === "googleearth")
  184 + {i3GEO.Interface.googleearth.redesenha();}
  185 + if(i3GEO.Interface.ATUAL === "flamingo")
  186 + {i3GEO.Interface.flamingo.redesenha();}
  187 + },
  188 + /*
167 Function: atualizaTema 189 Function: atualizaTema
168 190
169 Aplica o método atualizaTema da interface atual 191 Aplica o método atualizaTema da interface atual
@@ -255,7 +277,7 @@ i3GEO.Interface = { @@ -255,7 +277,7 @@ i3GEO.Interface = {
255 if(i3GEO.Interface.ATUAL === "openlayers") 277 if(i3GEO.Interface.ATUAL === "openlayers")
256 {i3GEO.Interface.openlayers.alteraParametroLayers(parametro,valor);} 278 {i3GEO.Interface.openlayers.alteraParametroLayers(parametro,valor);}
257 if(i3GEO.Interface.ATUAL === "googlemaps") 279 if(i3GEO.Interface.ATUAL === "googlemaps")
258 - {i3GEO.atualiza();} 280 + {i3GEO.Interface.googlemaps.alteraParametroLayers(parametro,valor);}
259 if(i3GEO.Interface.ATUAL === "googleearth") 281 if(i3GEO.Interface.ATUAL === "googleearth")
260 {i3GEO.atualiza();} 282 {i3GEO.atualiza();}
261 if(i3GEO.Interface.ATUAL === "flamingo") 283 if(i3GEO.Interface.ATUAL === "flamingo")
@@ -736,8 +758,8 @@ i3GEO.Interface = { @@ -736,8 +758,8 @@ i3GEO.Interface = {
736 i3GEO.arvoreDeCamadas.cria("",i3GEO.arvoreDeCamadas.CAMADAS,i3GEO.configura.sid,i3GEO.configura.locaplic); 758 i3GEO.arvoreDeCamadas.cria("",i3GEO.arvoreDeCamadas.CAMADAS,i3GEO.configura.sid,i3GEO.configura.locaplic);
737 }, 759 },
738 criaLayers: function(){ 760 criaLayers: function(){
739 - var url = i3GEO.configura.locaplic+"/classesphp/mapa_openlayers.php?map="+i3GEO.parametros.mapfile+"&tipoimagem="+i3GEO.configura.tipoimagem,  
740 - urlfundo = i3GEO.configura.locaplic+"/classesphp/mapa_openlayers.php?layer=&tipolayer=fundo&map="+i3GEO.parametros.mapfile.replace(".map","fundo.map")+"&tipoimagem="+i3GEO.configura.tipoimagem, 761 + var url = i3GEO.configura.locaplic+"/classesphp/mapa_openlayers.php?map="+i3GEO.parametros.mapfile+"&TIPOIMAGEM="+i3GEO.configura.tipoimagem,
  762 + urlfundo = i3GEO.configura.locaplic+"/classesphp/mapa_openlayers.php?layer=&tipolayer=fundo&map="+i3GEO.parametros.mapfile.replace(".map","fundo.map")+"&TIPOIMAGEM="+i3GEO.configura.tipoimagem,
741 nlayers = i3GEO.arvoreDeCamadas.CAMADAS.length, 763 nlayers = i3GEO.arvoreDeCamadas.CAMADAS.length,
742 layer, 764 layer,
743 camada, 765 camada,
@@ -1047,7 +1069,7 @@ i3GEO.Interface = { @@ -1047,7 +1069,7 @@ i3GEO.Interface = {
1047 */ 1069 */
1048 TIPOMAPA: "terrain", 1070 TIPOMAPA: "terrain",
1049 /* 1071 /*
1050 - Variable 1072 + Variable: ZOOMSCALE
1051 1073
1052 Array com a lista de escalas em cada nivel de zoom utilizado pelo Google 1074 Array com a lista de escalas em cada nivel de zoom utilizado pelo Google
1053 1075
@@ -1056,7 +1078,25 @@ i3GEO.Interface = { @@ -1056,7 +1078,25 @@ i3GEO.Interface = {
1056 1078
1057 */ 1079 */
1058 ZOOMSCALE: [591657550,295828775,147914387,73957193,36978596,18489298,9244649,4622324,2311162,1155581,577790,288895,144447,72223,36111,18055,9027,4513,2256,1128], 1080 ZOOMSCALE: [591657550,295828775,147914387,73957193,36978596,18489298,9244649,4622324,2311162,1155581,577790,288895,144447,72223,36111,18055,9027,4513,2256,1128],
1059 - 1081 + /*
  1082 + Variable: PARAMETROSLAYER
  1083 +
  1084 + Parâmetros adicionais que são inseridos na URL que define cada layer
  1085 +
  1086 + Tipo:
  1087 + {string}
  1088 + */
  1089 + PARAMETROSLAYER: "&TIPOIMAGEM="+i3GEO.configura.tipoimagem,
  1090 + /*
  1091 + Variable: posfixo
  1092 +
  1093 + String acrescentada à url de cada tile para garantir a remoção do cache local
  1094 +
  1095 + Type:
  1096 + {string}
  1097 + */
  1098 + posfixo: "",
  1099 +
1060 atualizaTema:function(retorno,tema){ 1100 atualizaTema:function(retorno,tema){
1061 // 1101 //
1062 //não se atualiza um tema único, mas o mapa todo 1102 //não se atualiza um tema único, mas o mapa todo
@@ -1067,13 +1107,23 @@ i3GEO.Interface = { @@ -1067,13 +1107,23 @@ i3GEO.Interface = {
1067 // 1107 //
1068 //remove todos os layers 1108 //remove todos os layers
1069 // 1109 //
  1110 + i3GEO.Interface.googlemaps.posfixo += "&";
1070 var nlayers = i3GEO.arvoreDeCamadas.CAMADAS.length, 1111 var nlayers = i3GEO.arvoreDeCamadas.CAMADAS.length,
1071 i, 1112 i,
1072 - camada; 1113 + camada,
  1114 + indice;
1073 for (i=0;i<nlayers;i++){ 1115 for (i=0;i<nlayers;i++){
1074 camada = i3GEO.arvoreDeCamadas.CAMADAS[i]; 1116 camada = i3GEO.arvoreDeCamadas.CAMADAS[i];
1075 - if(i3GEO.Interface.googlemaps.retornaIndiceLayer(camada.name)){  
1076 - i3GeoMap.overlayMapTypes.removeAt(i); 1117 + indice = i3GEO.Interface.googlemaps.retornaIndiceLayer(camada.name);
  1118 + //console.error(indice+" "+camada.name);
  1119 + if(indice !== false){
  1120 + try{
  1121 + //console.error(indice+" "+camada.name);
  1122 + i3GeoMap.overlayMapTypes.removeAt(indice);
  1123 + }
  1124 + catch(e){
  1125 + if(typeof(console) !== 'undefined'){console.error(e+" "+camada.name);}
  1126 + }
1077 } 1127 }
1078 } 1128 }
1079 i3GEO.Interface.googlemaps.criaLayers(); 1129 i3GEO.Interface.googlemaps.criaLayers();
@@ -1138,12 +1188,14 @@ i3GEO.Interface = { @@ -1138,12 +1188,14 @@ i3GEO.Interface = {
1138 criaLayers: function(){ 1188 criaLayers: function(){
1139 var nlayers = i3GEO.arvoreDeCamadas.CAMADAS.length, 1189 var nlayers = i3GEO.arvoreDeCamadas.CAMADAS.length,
1140 i, 1190 i,
1141 - camada; 1191 + camada,
  1192 + indice;
1142 for (i=0;i<nlayers;i++){ 1193 for (i=0;i<nlayers;i++){
1143 camada = i3GEO.arvoreDeCamadas.CAMADAS[i]; 1194 camada = i3GEO.arvoreDeCamadas.CAMADAS[i];
1144 - if(!i3GEO.Interface.googlemaps.retornaIndiceLayer(camada.name)){ 1195 + indice = i3GEO.Interface.googlemaps.retornaIndiceLayer(camada.name);
  1196 + if(!indice){
1145 if(camada.status !== 0){ 1197 if(camada.status !== 0){
1146 - i3GEO.Interface.googlemaps.insereLayer(camada.name,i); 1198 + i3GEO.Interface.googlemaps.insereLayer(camada.name,0);
1147 } 1199 }
1148 } 1200 }
1149 } 1201 }
@@ -1153,8 +1205,8 @@ i3GEO.Interface = { @@ -1153,8 +1205,8 @@ i3GEO.Interface = {
1153 s = "i3GEOTileO = new google.maps.ImageMapType({ "+ 1205 s = "i3GEOTileO = new google.maps.ImageMapType({ "+
1154 "getTileUrl: function(coord, zoom) {" + 1206 "getTileUrl: function(coord, zoom) {" +
1155 " var url = '" + i3GEO.configura.locaplic +"/classesphp/mapa_googlemaps.php?map=" + i3GEO.parametros.mapfile + 1207 " var url = '" + i3GEO.configura.locaplic +"/classesphp/mapa_googlemaps.php?map=" + i3GEO.parametros.mapfile +
1156 - " &Z=' + zoom + '&X=' + coord.x + '&Y=' + coord.y + '&layer=" + nomeLayer + "';" +  
1157 - " return url; " + 1208 + "&Z=' + zoom + '&X=' + coord.x + '&Y=' + coord.y + '&layer=" + nomeLayer + i3GEO.Interface.googlemaps.PARAMETROSLAYER +"';" +
  1209 + " return url+i3GEO.Interface.googlemaps.posfixo; " +
1158 "}, "+ 1210 "}, "+
1159 "tileSize: new google.maps.Size(256, 256)," + 1211 "tileSize: new google.maps.Size(256, 256)," +
1160 "isPng: true," + 1212 "isPng: true," +
@@ -1199,14 +1251,21 @@ i3GEO.Interface = { @@ -1199,14 +1251,21 @@ i3GEO.Interface = {
1199 }); 1251 });
1200 }, 1252 },
1201 retornaIndiceLayer: function(nomeLayer){ 1253 retornaIndiceLayer: function(nomeLayer){
1202 - var i = null;  
1203 - i3GeoMap.overlayMapTypes.forEach(  
1204 - function(elemento, number){  
1205 - if(elemento.name == nomeLayer)  
1206 - {i = number;}  
1207 - }  
1208 - );  
1209 - return i; 1254 + var i = false;
  1255 + try{
  1256 + i3GeoMap.overlayMapTypes.forEach(
  1257 + function(elemento, number){
  1258 + if(elemento.name == nomeLayer)
  1259 + {i = number;}
  1260 + //console.error(i+" "+elemento.name+" "+nomeLayer);
  1261 + }
  1262 + );
  1263 + return i;
  1264 + }
  1265 + catch(e){
  1266 + if(typeof(console) !== 'undefined'){console.error(e);}
  1267 + return false;
  1268 + }
1210 }, 1269 },
1211 ligaDesliga:function(obj){ 1270 ligaDesliga:function(obj){
1212 var indice = i3GEO.Interface.googlemaps.retornaIndiceLayer(obj.value), 1271 var indice = i3GEO.Interface.googlemaps.retornaIndiceLayer(obj.value),
@@ -1280,8 +1339,8 @@ i3GEO.Interface = { @@ -1280,8 +1339,8 @@ i3GEO.Interface = {
1280 ret = pol.split(" "); 1339 ret = pol.split(" ");
1281 pt1 = (( (ret[0] * -1) - (ret[2] * -1) ) / 2) + ret[0] *1; 1340 pt1 = (( (ret[0] * -1) - (ret[2] * -1) ) / 2) + ret[0] *1;
1282 pt2 = (((ret[1] - ret[3]) / 2)* -1) + ret[1] *1; 1341 pt2 = (((ret[1] - ret[3]) / 2)* -1) + ret[1] *1;
1283 - sw = new google.maps.Latlng(ret[1],ret[0]);  
1284 - ne = new google.maps.Latlng(ret[3],ret[2]); 1342 + sw = new google.maps.LatLng(ret[1],ret[0]);
  1343 + ne = new google.maps.LatLng(ret[3],ret[2]);
1285 i3GeoMap.fitBounds(new google.maps.LatLngBounds(sw,ne)); 1344 i3GeoMap.fitBounds(new google.maps.LatLngBounds(sw,ne));
1286 }, 1345 },
1287 pan2ponto: function(x,y){ 1346 pan2ponto: function(x,y){
@@ -1429,6 +1488,13 @@ i3GEO.Interface = { @@ -1429,6 +1488,13 @@ i3GEO.Interface = {
1429 else{ 1488 else{
1430 eval(obj.value+" = new google.maps.KmlLayer(url,{map:i3GeoMap,preserveViewport:true});"); 1489 eval(obj.value+" = new google.maps.KmlLayer(url,{map:i3GeoMap,preserveViewport:true});");
1431 } 1490 }
  1491 + },
  1492 + alteraParametroLayers: function(parametro,valor){
  1493 + parametro = parametro.toUpperCase();
  1494 + var reg = new RegExp(parametro+"([=])+([a-zA-Z0-9_]*)");
  1495 + i3GEO.Interface.googlemaps.PARAMETROSLAYER = i3GEO.Interface.googlemaps.PARAMETROSLAYER.replace(reg,"");
  1496 + i3GEO.Interface.googlemaps.PARAMETROSLAYER += "&"+parametro+"="+valor;
  1497 + i3GEO.Interface.googlemaps.redesenha();
1432 } 1498 }
1433 }, 1499 },
1434 /* 1500 /*
classesjs/classe_mapa.js
@@ -114,6 +114,8 @@ i3GEO.mapa = { @@ -114,6 +114,8 @@ i3GEO.mapa = {
114 */ 114 */
115 ativaLogo: function(){ 115 ativaLogo: function(){
116 if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.ativaLogo()");} 116 if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.ativaLogo()");}
  117 + if(i3GEO.Interface.ATUAL === "googlemaps")
  118 + {alert("Essa operação não funciona nessa interface");return;}
117 i3GEO.contadorAtualiza++; 119 i3GEO.contadorAtualiza++;
118 i3GEO.php.ativalogo(i3GEO.atualiza); 120 i3GEO.php.ativalogo(i3GEO.atualiza);
119 }, 121 },
classesjs/classe_maparef.js
@@ -334,6 +334,8 @@ i3GEO.maparef = { @@ -334,6 +334,8 @@ i3GEO.maparef = {
334 334
335 Atualiza o tamanho e a posição do box que indica a extensão geográfica do mapa atual 335 Atualiza o tamanho e a posição do box que indica a extensão geográfica do mapa atual
336 336
  337 + O box é um div com id = "boxref".
  338 +
337 */ 339 */
338 atualizaBox: function(){ 340 atualizaBox: function(){
339 var box = $i("boxref"), 341 var box = $i("boxref"),
@@ -345,10 +347,14 @@ i3GEO.maparef = { @@ -345,10 +347,14 @@ i3GEO.maparef = {
345 novoel.style.position = 'absolute'; 347 novoel.style.position = 'absolute';
346 novoel.style.cursor = "move"; 348 novoel.style.cursor = "move";
347 novoel.style.backgroundColor = "RGB(120,220,220)"; 349 novoel.style.backgroundColor = "RGB(120,220,220)";
  350 + novoel.style.borderWidth = "3px";
348 if (navm){novoel.style.filter='alpha(opacity=40)';} 351 if (navm){novoel.style.filter='alpha(opacity=40)';}
349 else{novoel.style.opacity= 0.4;} 352 else{novoel.style.opacity= 0.4;}
350 $i("mapaReferencia").appendChild(novoel); 353 $i("mapaReferencia").appendChild(novoel);
351 boxrefdd = new YAHOO.util.DD("boxref"); 354 boxrefdd = new YAHOO.util.DD("boxref");
  355 + //
  356 + //atualiza o mapa principal quando o box é modificado manualmente
  357 + //
352 novoel.onmouseup = function(){ 358 novoel.onmouseup = function(){
353 var rect,telaminx,telaminxy,telamaxx,telaminy,m,x,ext; 359 var rect,telaminx,telaminxy,telamaxx,telaminy,m,x,ext;
354 rect = $i("boxref"); 360 rect = $i("boxref");
@@ -363,20 +369,25 @@ i3GEO.maparef = { @@ -363,20 +369,25 @@ i3GEO.maparef = {
363 }; 369 };
364 box = $i("boxref"); 370 box = $i("boxref");
365 } 371 }
  372 + //
  373 + //aplica ao box um novo tamanho
  374 + //
366 i3GEO.calculo.ext2rect("boxref",i3GEO.parametros.extentref,i3GEO.parametros.mapexten,i3GEO.parametros.celularef,$i("mapaReferencia")); 375 i3GEO.calculo.ext2rect("boxref",i3GEO.parametros.extentref,i3GEO.parametros.mapexten,i3GEO.parametros.celularef,$i("mapaReferencia"));
367 w = parseInt(box.style.width,10); 376 w = parseInt(box.style.width,10);
368 - if(w > 120 || w < 10)  
369 - {box.style.display = "none";}  
370 - else{  
371 - box.style.display = "block";  
372 - box.style.top = parseInt(box.style.top,10)+4;  
373 - box.style.left = parseInt(box.style.left,10)+4; 377 + if(w > 120)
  378 + {box.style.display = "none";return;}
  379 + box.style.display = "block";
  380 + box.style.top = parseInt(box.style.top,10)+4;
  381 + box.style.left = parseInt(box.style.left,10)+4;
  382 + if(w < 10){
  383 + box.style.width = "10px";
  384 + box.style.height = "10px";
374 } 385 }
375 }, 386 },
376 /* 387 /*
377 Function: click 388 Function: click
378 389
379 - Ocorre quando o usuário clica sobre o mapa de referência, alterando a extensão geográfica do mapa principal 390 + Ocorre quando o usuário clica sobre o mapa de referência, deslocando o mapa principal
380 */ 391 */
381 click: function(){ 392 click: function(){
382 if(typeof(console) !== 'undefined'){console.info("i3GEO.maparef.click()");} 393 if(typeof(console) !== 'undefined'){console.info("i3GEO.maparef.click()");}
classesphp/classe_mapa.php
@@ -114,7 +114,8 @@ tipo {string} - OUTPUTFORMAT que será aplicado. deve existir no mapfile básico q @@ -114,7 +114,8 @@ tipo {string} - OUTPUTFORMAT que será aplicado. deve existir no mapfile básico q
114 */ 114 */
115 function mudaoutputformat($tipo) 115 function mudaoutputformat($tipo)
116 { 116 {
117 - //error_reporting(E_ALL); 117 + foreach($this->layers as $l)
  118 + {$l->setMetaData("cache","");}
118 return $this->mapa->selectOutputFormat($tipo); 119 return $this->mapa->selectOutputFormat($tipo);
119 } 120 }
120 /* 121 /*
classesphp/mapa_googlemaps.php
@@ -46,6 +46,8 @@ include_once(&quot;../ms_configura.php&quot;); @@ -46,6 +46,8 @@ include_once(&quot;../ms_configura.php&quot;);
46 //converte a requisição do tile em coordenadas geo 46 //converte a requisição do tile em coordenadas geo
47 //http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#tile_numbers_to_lon.2Flat_2 47 //http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#tile_numbers_to_lon.2Flat_2
48 // 48 //
  49 +
  50 +
49 $x = $_GET["X"]; 51 $x = $_GET["X"];
50 $y = $_GET["Y"]; 52 $y = $_GET["Y"];
51 $n = pow(2, $_GET["Z"]); 53 $n = pow(2, $_GET["Z"]);
@@ -129,8 +131,13 @@ if($_GET == false) @@ -129,8 +131,13 @@ if($_GET == false)
129 {$cache = false;} 131 {$cache = false;}
130 if($_GET["DESLIGACACHE"] == "sim") 132 if($_GET["DESLIGACACHE"] == "sim")
131 {$cache = false;} 133 {$cache = false;}
  134 +
  135 +if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
  136 +{$cache = false;}
  137 +
132 if($cache == true) 138 if($cache == true)
133 {carregaCacheImagem($_GET["BBOX"],$nomecache,$_GET["map"],$_GET["WIDTH"],$_GET["HEIGHT"]);} 139 {carregaCacheImagem($_GET["BBOX"],$nomecache,$_GET["map"],$_GET["WIDTH"],$_GET["HEIGHT"]);}
  140 +
134 $map_size = explode(" ",$_GET["map_size"]); 141 $map_size = explode(" ",$_GET["map_size"]);
135 $mapa->setsize($map_size[0],$map_size[1]); 142 $mapa->setsize($map_size[0],$map_size[1]);
136 $mapext = explode(" ",$_GET["mapext"]); 143 $mapext = explode(" ",$_GET["mapext"]);
@@ -138,6 +145,7 @@ $mapa-&gt;setExtent($mapext[0],$mapext[1],$mapext[2],$mapext[3]); @@ -138,6 +145,7 @@ $mapa-&gt;setExtent($mapext[0],$mapext[1],$mapext[2],$mapext[3]);
138 145
139 $o = $mapa->outputformat; 146 $o = $mapa->outputformat;
140 $o->set("imagemode",MS_IMAGEMODE_RGBA); 147 $o->set("imagemode",MS_IMAGEMODE_RGBA);
  148 +
141 $legenda = $mapa->legend; 149 $legenda = $mapa->legend;
142 $legenda->set("status",MS_OFF); 150 $legenda->set("status",MS_OFF);
143 $escala = $mapa->scalebar; 151 $escala = $mapa->scalebar;
@@ -148,7 +156,8 @@ $escala-&gt;set(&quot;status&quot;,MS_OFF); @@ -148,7 +156,8 @@ $escala-&gt;set(&quot;status&quot;,MS_OFF);
148 // 156 //
149 if($_GET["tipolayer"] != "fundo") 157 if($_GET["tipolayer"] != "fundo")
150 {$o->set("transparent",MS_TRUE);} 158 {$o->set("transparent",MS_TRUE);}
151 - 159 +if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
  160 +{$o->setOption("QUANTIZE_FORCE","OFF");}
152 if(!$qy) 161 if(!$qy)
153 {$img = $mapa->draw();} 162 {$img = $mapa->draw();}
154 else 163 else
@@ -168,12 +177,11 @@ if (!function_exists(&#39;imagepng&#39;)) @@ -168,12 +177,11 @@ if (!function_exists(&#39;imagepng&#39;))
168 if (!function_exists('imagepng')) 177 if (!function_exists('imagepng'))
169 {$_GET["TIPOIMAGEM"] = "";} 178 {$_GET["TIPOIMAGEM"] = "";}
170 } 179 }
171 -  
172 -if($_GET["TIPOIMAGEM"] != "" && $_GET["TIPOIMAGEM"] != "nenhum") 180 +if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
173 { 181 {
174 $nomer = ($img->imagepath)."filtroimgtemp".nomeRandomico(); 182 $nomer = ($img->imagepath)."filtroimgtemp".nomeRandomico();
175 $img->saveImage($nomer); 183 $img->saveImage($nomer);
176 - filtraImagem($nomer,$_GET["TIPOIMAGEM"]); 184 + filtraImagem($nomer,trim($_GET["TIPOIMAGEM"]));
177 $img = imagecreatefrompng($nomer); 185 $img = imagecreatefrompng($nomer);
178 imagealphablending($img, false); 186 imagealphablending($img, false);
179 imagesavealpha($img, true); 187 imagesavealpha($img, true);
@@ -264,4 +272,31 @@ function nomeRandomico($n=10) @@ -264,4 +272,31 @@ function nomeRandomico($n=10)
264 {$nomes .= $a{mt_rand(0, $max)};} 272 {$nomes .= $a{mt_rand(0, $max)};}
265 return $nomes; 273 return $nomes;
266 } 274 }
  275 +function filtraImagem($nomer,$tipoimagem){
  276 + include_once("classe_imagem.php");
  277 + $tiposImagem = explode(" ",$tipoimagem);
  278 + foreach ($tiposImagem as $tipoimagem){
  279 + $m = new Imagem($nomer);
  280 + if ($tipoimagem == "cinza")
  281 + {imagepng($m->cinzaNormal(),str_replace("\\","/",$nomer));}
  282 + if ($tipoimagem == "sepiaclara")
  283 + {imagepng($m->sepiaClara(),str_replace("\\","/",$nomer));}
  284 + if ($tipoimagem == "sepianormal")
  285 + {imagepng($m->sepiaNormal(),str_replace("\\","/",$nomer));}
  286 + if ($tipoimagem == "negativo")
  287 + {imagepng($m->negativo(),str_replace("\\","/",$nomer));}
  288 + if ($tipoimagem == "detectaBordas")
  289 + {imagepng($m->detectaBordas(),str_replace("\\","/",$nomer));}
  290 + if ($tipoimagem == "embassa")
  291 + {imagepng($m->embassa(),str_replace("\\","/",$nomer));}
  292 + if ($tipoimagem == "gaussian_blur")
  293 + {imagepng($m->gaussian_blur(),str_replace("\\","/",$nomer));}
  294 + if ($tipoimagem == "selective_blur")
  295 + {imagepng($m->selective_blur(),str_replace("\\","/",$nomer));}
  296 + if ($tipoimagem == "mean_removal")
  297 + {imagepng($m->mean_removal(),str_replace("\\","/",$nomer));}
  298 + if ($tipoimagem == "pixelate")
  299 + {imagepng($m->pixelate(),str_replace("\\","/",$nomer));}
  300 + }
  301 +}
267 ?> 302 ?>
268 \ No newline at end of file 303 \ No newline at end of file
classesphp/mapa_openlayers.php
@@ -107,6 +107,9 @@ if($_GET == false) @@ -107,6 +107,9 @@ if($_GET == false)
107 {$cache = false;} 107 {$cache = false;}
108 if($_GET["DESLIGACACHE"] == "sim") 108 if($_GET["DESLIGACACHE"] == "sim")
109 {$cache = false;} 109 {$cache = false;}
  110 +if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
  111 +{$cache = false;}
  112 +
110 if($cache == true) 113 if($cache == true)
111 {carregaCacheImagem($_GET["BBOX"],$nomecache,$_GET["map"],$_GET["WIDTH"],$_GET["HEIGHT"]);} 114 {carregaCacheImagem($_GET["BBOX"],$nomecache,$_GET["map"],$_GET["WIDTH"],$_GET["HEIGHT"]);}
112 115
@@ -149,7 +152,7 @@ if (!function_exists(&#39;imagepng&#39;)) @@ -149,7 +152,7 @@ if (!function_exists(&#39;imagepng&#39;))
149 {$_GET["TIPOIMAGEM"] = "";} 152 {$_GET["TIPOIMAGEM"] = "";}
150 } 153 }
151 154
152 -if($_GET["TIPOIMAGEM"] != "" && $_GET["TIPOIMAGEM"] != "nenhum") 155 +if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
153 { 156 {
154 $nomer = ($img->imagepath)."filtroimgtemp".nomeRandomico(); 157 $nomer = ($img->imagepath)."filtroimgtemp".nomeRandomico();
155 $img->saveImage($nomer); 158 $img->saveImage($nomer);
@@ -243,4 +246,31 @@ function nomeRandomico($n=10) @@ -243,4 +246,31 @@ function nomeRandomico($n=10)
243 {$nomes .= $a{mt_rand(0, $max)};} 246 {$nomes .= $a{mt_rand(0, $max)};}
244 return $nomes; 247 return $nomes;
245 } 248 }
  249 +function filtraImagem($nomer,$tipoimagem){
  250 + include_once("classe_imagem.php");
  251 + $tiposImagem = explode(" ",$tipoimagem);
  252 + foreach ($tiposImagem as $tipoimagem){
  253 + $m = new Imagem($nomer);
  254 + if ($tipoimagem == "cinza")
  255 + {imagepng($m->cinzaNormal(),str_replace("\\","/",$nomer));}
  256 + if ($tipoimagem == "sepiaclara")
  257 + {imagepng($m->sepiaClara(),str_replace("\\","/",$nomer));}
  258 + if ($tipoimagem == "sepianormal")
  259 + {imagepng($m->sepiaNormal(),str_replace("\\","/",$nomer));}
  260 + if ($tipoimagem == "negativo")
  261 + {imagepng($m->negativo(),str_replace("\\","/",$nomer));}
  262 + if ($tipoimagem == "detectaBordas")
  263 + {imagepng($m->detectaBordas(),str_replace("\\","/",$nomer));}
  264 + if ($tipoimagem == "embassa")
  265 + {imagepng($m->embassa(),str_replace("\\","/",$nomer));}
  266 + if ($tipoimagem == "gaussian_blur")
  267 + {imagepng($m->gaussian_blur(),str_replace("\\","/",$nomer));}
  268 + if ($tipoimagem == "selective_blur")
  269 + {imagepng($m->selective_blur(),str_replace("\\","/",$nomer));}
  270 + if ($tipoimagem == "mean_removal")
  271 + {imagepng($m->mean_removal(),str_replace("\\","/",$nomer));}
  272 + if ($tipoimagem == "pixelate")
  273 + {imagepng($m->pixelate(),str_replace("\\","/",$nomer));}
  274 + }
  275 +}
246 ?> 276 ?>
247 \ No newline at end of file 277 \ No newline at end of file
ferramentas/buscarapida/index.js
@@ -317,9 +317,9 @@ i3GEObuscaRapida = { @@ -317,9 +317,9 @@ i3GEObuscaRapida = {
317 var xMax = ext[2]; 317 var xMax = ext[2];
318 var yMin = ext[1]; 318 var yMin = ext[1];
319 var yMax = ext[3]; 319 var yMax = ext[3];
320 -  
321 - var xyMin = window.parent.i3GEO.calculo.dd2tela(xMin,yMin,window.parent.document.getElementById("img"),window.parent.i3GEO.parametros.mapexten,window.parent.i3GEO.parametros.pixelsize)  
322 - var xyMax = window.parent.i3GEO.calculo.dd2tela(xMax,yMax,window.parent.document.getElementById("img"),window.parent.i3GEO.parametros.mapexten,window.parent.i3GEO.parametros.pixelsize) 320 + var docmapa = window.parent.document.getElementById(window.parent.i3GEO.Interface.IDCORPO)
  321 + var xyMin = window.parent.i3GEO.calculo.dd2tela(xMin,yMin,docmapa,window.parent.i3GEO.parametros.mapexten,window.parent.i3GEO.parametros.pixelsize)
  322 + var xyMax = window.parent.i3GEO.calculo.dd2tela(xMax,yMax,docmapa,window.parent.i3GEO.parametros.mapexten,window.parent.i3GEO.parametros.pixelsize)
323 323
324 window.parent.i3GEO.util.criaBox("boxg"); 324 window.parent.i3GEO.util.criaBox("boxg");
325 var box = window.parent.$i("boxg"); 325 var box = window.parent.$i("boxg");
ferramentas/opcoes_fundo/index.js.php
@@ -75,6 +75,8 @@ i3GEOF.opcoesFundo = { @@ -75,6 +75,8 @@ i3GEOF.opcoesFundo = {
75 cp.call(p,"corQM",retorno); 75 cp.call(p,"corQM",retorno);
76 } 76 }
77 catch(erro){alert(erro);} 77 catch(erro){alert(erro);}
  78 + if(i3GEO.Interface.atual !== "googlemaps")
  79 + {alert("Essa operacao afeta apenas a ferramenta de impressao do mapa");}
78 }, 80 },
79 /* 81 /*
80 Function: html 82 Function: html
@@ -146,8 +148,6 @@ i3GEOF.opcoesFundo = { @@ -146,8 +148,6 @@ i3GEOF.opcoesFundo = {
146 var layer = i3geoOL.getLayersByName("Fundo")[0]; 148 var layer = i3geoOL.getLayersByName("Fundo")[0];
147 layer.mergeNewParams({"DESLIGACACHE":"sim"}); 149 layer.mergeNewParams({"DESLIGACACHE":"sim"});
148 layer.mergeNewParams({r:Math.random()}); 150 layer.mergeNewParams({r:Math.random()});
149 - //layer.redraw();  
150 -  
151 } 151 }
152 i3GEO.atualiza(); 152 i3GEO.atualiza();
153 }, 153 },
ferramentas/opcoes_tamanho/index.js.php
@@ -172,8 +172,8 @@ i3GEOF.opcoesTamanho = { @@ -172,8 +172,8 @@ i3GEOF.opcoesTamanho = {
172 {calc += parseInt($i("ferramentas").style.width,10);} 172 {calc += parseInt($i("ferramentas").style.width,10);}
173 if ($i("contemFerramentas")) 173 if ($i("contemFerramentas"))
174 {calc += parseInt($i("contemFerramentas").style.width,10);} 174 {calc += parseInt($i("contemFerramentas").style.width,10);}
175 - if($i("mst"))  
176 - {$i("mst").style.width = (l * 1) + calc + "px";} 175 + //if($i("mst"))
  176 + //{$i("mst").style.width = (l * 1) + calc + "px";}
177 if($i("contemImg")){ 177 if($i("contemImg")){
178 $i("contemImg").style.height= a+"px"; 178 $i("contemImg").style.height= a+"px";
179 $i("contemImg").style.width= l+"px"; 179 $i("contemImg").style.width= l+"px";
ferramentas/outputformat/index.js.php
@@ -146,10 +146,7 @@ i3GEOF.outputformat = { @@ -146,10 +146,7 @@ i3GEOF.outputformat = {
146 temp = function(retorno){ 146 temp = function(retorno){
147 i3GEOF.outputformat.aguarde.visibility = "hidden"; 147 i3GEOF.outputformat.aguarde.visibility = "hidden";
148 if(retorno.data != "erro"){ 148 if(retorno.data != "erro"){
149 - if(i3GEO.Interface.ATUAL === "openlayers")  
150 - {i3GEO.Interface.openlayers.atualizaMapa();}  
151 - else  
152 - {i3GEO.atualiza();} 149 + i3GEO.Interface.atualizaMapa();
153 } 150 }
154 else 151 else
155 {alert("Nao foi possivel alterar o tipo");} 152 {alert("Nao foi possivel alterar o tipo");}
imagens/visual/default/sprite.png

32.9 KB | W: | H:

32.9 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin