Commit 6a432abe0ad549c83c2223d740fe3495a206bda0
1 parent
2f8ff09e
Exists in
master
and in
7 other branches
Conclusão da revisão das funções de modificação das propriedades do mapa na interface GoogleMaps
Showing
13 changed files
with
194 additions
and
52 deletions
Show diff stats
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' > </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' > </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("../ms_configura.php"); | @@ -46,6 +46,8 @@ include_once("../ms_configura.php"); | ||
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->setExtent($mapext[0],$mapext[1],$mapext[2],$mapext[3]); | @@ -138,6 +145,7 @@ $mapa->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->set("status",MS_OFF); | @@ -148,7 +156,8 @@ $escala->set("status",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('imagepng')) | @@ -168,12 +177,11 @@ if (!function_exists('imagepng')) | ||
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('imagepng')) | @@ -149,7 +152,7 @@ if (!function_exists('imagepng')) | ||
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