diff --git a/classesjs/classe_marcador.js b/classesjs/classe_marcador.js new file mode 100755 index 0000000..5733a34 --- /dev/null +++ b/classesjs/classe_marcador.js @@ -0,0 +1,190 @@ +/* +Title: Marcador + +i3GEO.marcador + +Gerencia os marcadores espaciais que o usuario pode definir e compartilhar + +Os marcadores sao mantidos como cookies + + +Arquivo: + +i3geo/classesjs/classe_marcador.js + +Licença: + +GPL2 + +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. +*/ +if(typeof(i3GEO) === 'undefined'){ + var i3GEO = {}; +} +i3GEO.marcador = { + /** + * Pergunta ao usuario o nome do marcador e armazena + * O Cookie utilizado chama-se marcadoresDoI3Geo + */ + prompt: function(){ + i3GEO.janela.prompt( + $trad("x77"), + i3GEO.marcador.armazena, + "" + ); + }, + /** + * Armazena um novo marcador no cookie + * Os cookies sao separados por : + * O valor contem o nome seguido por = e o valor da extensao geografica + */ + armazena: function(){ + var cookies = i3GEO.util.pegaCookie("marcadoresDoI3Geo"), + ext = i3GEO.parametros.mapexten, + nome = "Marcador", + valor; + if($i("i3GEOjanelaprompt")){ + nome = $i("i3GEOjanelaprompt").value; + } + valor = nome+"|"+ext; + if(cookies){ + cookies += ":"; + } + else{ + cookies = ""; + } + valor = cookies + valor; + i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365); + i3GEO.marcador.redesenha(); + }, + redesenha: function(){ + var m = i3GEOoMenuBar.getMenu("i3GeoMenuMarcador"); + m.clearContent(); + m.addItems(i3GEO.marcador.itensMenu()); + m.render(); + }, + exporta: function(){ + var c = i3GEO.util.pegaCookie("marcadoresDoI3Geo"), + texto; + if(!c){ + c = ""; + } + texto = "
"+$trad("x78")+"
";
+ i3GEO.janela.mensagemSimples(texto,$trad("x79"));
+ },
+ exportaShp: function(){
+ var c = i3GEO.util.pegaCookie("marcadoresDoI3Geo"),
+ temp = function(retorno){
+ i3GEO.temaAtivo = retorno.data;
+ i3GEO.atualiza();
+ };
+ if(c){
+ i3GEO.php.marcadores2shp(temp);
+ }
+ },
+ importa: function(){
+ var temp = function(){
+ var cookies = i3GEO.util.pegaCookie("marcadoresDoI3Geo"),
+ novos = "";
+ if($i("i3GEOjanelaprompt")){
+ novos = $i("i3GEOjanelaprompt").value;
+ }
+ if(cookies){
+ cookies += ":";
+ }
+ else{
+ cookies = "";
+ }
+ novos = cookies + novos;
+ i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);
+ i3GEO.marcador.redesenha();
+ };
+ i3GEO.janela.prompt(
+ $trad("x83"),
+ temp,
+ ""
+ );
+ },
+ remove: function(nomeMarcador){
+ var cookie = i3GEO.util.pegaCookie("marcadoresDoI3Geo"),
+ valores = cookie.split(":"),
+ n = valores.length,
+ i,temp,novos = [];
+ for(i=0;i
"+$trad("x78")+"
";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos;if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,m,novos=[];for(i=0;i