Commit cff3c9895894403345199291b860003958eb41b3
1 parent
006cbbbf
Exists in
master
and in
7 other branches
correção de sintaxe javascript
Showing
3 changed files
with
828 additions
and
769 deletions
Show diff stats
classesjs/classe_analise.js
| @@ -32,12 +32,14 @@ Você deve ter recebido uma cópia da Licença Pública G | @@ -32,12 +32,14 @@ Você deve ter recebido uma cópia da Licença Pública G | ||
| 32 | GNU junto com este programa; se não, escreva para a | 32 | GNU junto com este programa; se não, escreva para a |
| 33 | Free Software Foundation, Inc., no endereço | 33 | Free Software Foundation, Inc., no endereço |
| 34 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 34 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| 35 | -*/ | 35 | + */ |
| 36 | if(typeof(i3GEO) === 'undefined'){ | 36 | if(typeof(i3GEO) === 'undefined'){ |
| 37 | var i3GEO = {}; | 37 | var i3GEO = {}; |
| 38 | } | 38 | } |
| 39 | i3GEO.analise = { | 39 | i3GEO.analise = { |
| 40 | - /* | 40 | + //armazena os pontos coletados nas funcoes de medicao de area e distancia |
| 41 | + pontosdistobj: {}, | ||
| 42 | + /* | ||
| 41 | Classe: i3GEO.analise.dialogo | 43 | Classe: i3GEO.analise.dialogo |
| 42 | 44 | ||
| 43 | Abre as telas de dialogo das opcoes de analise | 45 | Abre as telas de dialogo das opcoes de analise |
| @@ -47,181 +49,181 @@ i3GEO.analise = { | @@ -47,181 +49,181 @@ i3GEO.analise = { | ||
| 47 | Para abrir a mensagem de dialogo de geracao de buffer, utilize | 49 | Para abrir a mensagem de dialogo de geracao de buffer, utilize |
| 48 | 50 | ||
| 49 | i3GEO.analise.dialogo.buffer() | 51 | i3GEO.analise.dialogo.buffer() |
| 50 | - */ | ||
| 51 | - dialogo:{ | ||
| 52 | - /* | 52 | + */ |
| 53 | + dialogo:{ | ||
| 54 | + /* | ||
| 53 | Function: saiku | 55 | Function: saiku |
| 54 | 56 | ||
| 55 | Abre a janela de dialogo da ferramenta SAIKU | 57 | Abre a janela de dialogo da ferramenta SAIKU |
| 56 | - */ | ||
| 57 | - saiku: function(){ | ||
| 58 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.saiku()","saiku","saiku"); | ||
| 59 | - }, | ||
| 60 | - /* | 58 | + */ |
| 59 | + saiku: function(){ | ||
| 60 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.saiku()","saiku","saiku"); | ||
| 61 | + }, | ||
| 62 | + /* | ||
| 61 | Function: graficoInterativo | 63 | Function: graficoInterativo |
| 62 | 64 | ||
| 63 | Abre a janela de dialogo da ferramenta graficointerativo versao flash | 65 | Abre a janela de dialogo da ferramenta graficointerativo versao flash |
| 64 | - */ | ||
| 65 | - graficoInterativo: function(){ | ||
| 66 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.graficoInterativo()","graficointerativo","graficointerativo"); | ||
| 67 | - }, | ||
| 68 | - /* | 66 | + */ |
| 67 | + graficoInterativo: function(){ | ||
| 68 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.graficoInterativo()","graficointerativo","graficointerativo"); | ||
| 69 | + }, | ||
| 70 | + /* | ||
| 69 | Function: graficoInterativo1 | 71 | Function: graficoInterativo1 |
| 70 | 72 | ||
| 71 | Abre a janela de dialogo da ferramenta graficointerativo | 73 | Abre a janela de dialogo da ferramenta graficointerativo |
| 72 | - */ | ||
| 73 | - graficoInterativo1: function(){ | ||
| 74 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.graficoInterativo1()","graficointerativo1","graficointerativo1"); | ||
| 75 | - }, | ||
| 76 | - /* | 74 | + */ |
| 75 | + graficoInterativo1: function(){ | ||
| 76 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.graficoInterativo1()","graficointerativo1","graficointerativo1"); | ||
| 77 | + }, | ||
| 78 | + /* | ||
| 77 | Function: linhaDoTempo | 79 | Function: linhaDoTempo |
| 78 | 80 | ||
| 79 | Abre a janela de dialogo da ferramenta linhadotempo | 81 | Abre a janela de dialogo da ferramenta linhadotempo |
| 80 | - */ | ||
| 81 | - linhaDoTempo: function(){ | ||
| 82 | - if(typeof(console) !== 'undefined'){console.info("i3GEO.analise.dialogo.linhaDoTempo()");} | ||
| 83 | - i3GEO.janela.cria("450px","350px",i3GEO.configura.locaplic+"/ferramentas/linhadotempo/index.php","","","Linha do tempo <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=88' > </a>"); | ||
| 84 | - atualizaLinhaDoTempo = function(){ | ||
| 85 | - var doc = "", ifr = ""; | ||
| 86 | - try{ | ||
| 87 | - ifr = $i("wdocai"); | ||
| 88 | - if (navn){ | ||
| 89 | - if (ifr){ | ||
| 90 | - doc = ifr.contentDocument; | 82 | + */ |
| 83 | + linhaDoTempo: function(){ | ||
| 84 | + if(typeof(console) !== 'undefined'){console.info("i3GEO.analise.dialogo.linhaDoTempo()");} | ||
| 85 | + i3GEO.janela.cria("450px","350px",i3GEO.configura.locaplic+"/ferramentas/linhadotempo/index.php","","","Linha do tempo <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=88' > </a>"); | ||
| 86 | + atualizaLinhaDoTempo = function(){ | ||
| 87 | + var doc = "", ifr = ""; | ||
| 88 | + try{ | ||
| 89 | + ifr = $i("wdocai"); | ||
| 90 | + if (navn){ | ||
| 91 | + if (ifr){ | ||
| 92 | + doc = ifr.contentDocument; | ||
| 93 | + } | ||
| 91 | } | 94 | } |
| 92 | - } | ||
| 93 | - else{ | ||
| 94 | - if(document.frames("wdocai")){ | ||
| 95 | - doc = document.frames("wdocai").document; | 95 | + else{ |
| 96 | + if(document.frames("wdocai")){ | ||
| 97 | + doc = document.frames("wdocai").document; | ||
| 98 | + } | ||
| 96 | } | 99 | } |
| 100 | + doc.getElementById("tl") ? window.parent.wdocai.carregaDados() : i3GEO.eventos.NAVEGAMAPA.remove("atualizaLinhaDoTempo()"); | ||
| 97 | } | 101 | } |
| 98 | - doc.getElementById("tl") ? window.parent.wdocai.carregaDados() : i3GEO.eventos.NAVEGAMAPA.remove("atualizaLinhaDoTempo()"); | ||
| 99 | - } | ||
| 100 | - catch(e){ | ||
| 101 | - i3GEO.eventos.NAVEGAMAPA.remove("atualizaLinhaDoTempo()"); | ||
| 102 | - if(typeof(console) !== 'undefined'){console.error("i3GEO.analise.linhaDoTempo "+e);} | ||
| 103 | - } | ||
| 104 | - }; | ||
| 105 | - if(i3GEO.eventos.NAVEGAMAPA.toString().search("atualizaLinhaDoTempo()") < 0) | ||
| 106 | - {i3GEO.eventos.NAVEGAMAPA.push("atualizaLinhaDoTempo()");} | ||
| 107 | - var ifr = $i("wdocai"); | ||
| 108 | - //ifr.style.height = "75%"; | ||
| 109 | - ifr.style.width = "100%"; | ||
| 110 | - }, | ||
| 111 | - /* | 102 | + catch(e){ |
| 103 | + i3GEO.eventos.NAVEGAMAPA.remove("atualizaLinhaDoTempo()"); | ||
| 104 | + if(typeof(console) !== 'undefined'){console.error("i3GEO.analise.linhaDoTempo "+e);} | ||
| 105 | + } | ||
| 106 | + }; | ||
| 107 | + if(i3GEO.eventos.NAVEGAMAPA.toString().search("atualizaLinhaDoTempo()") < 0) | ||
| 108 | + {i3GEO.eventos.NAVEGAMAPA.push("atualizaLinhaDoTempo()");} | ||
| 109 | + var ifr = $i("wdocai"); | ||
| 110 | + //ifr.style.height = "75%"; | ||
| 111 | + ifr.style.width = "100%"; | ||
| 112 | + }, | ||
| 113 | + /* | ||
| 112 | Function: perfil | 114 | Function: perfil |
| 113 | 115 | ||
| 114 | Abre a janela de dialogo da ferramenta perfil | 116 | Abre a janela de dialogo da ferramenta perfil |
| 115 | - */ | ||
| 116 | - perfil: function(){ | ||
| 117 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.perfil()","perfil","perfil"); | ||
| 118 | - }, | ||
| 119 | - /* | 117 | + */ |
| 118 | + perfil: function(){ | ||
| 119 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.perfil()","perfil","perfil"); | ||
| 120 | + }, | ||
| 121 | + /* | ||
| 120 | Function: gradePontos | 122 | Function: gradePontos |
| 121 | 123 | ||
| 122 | Abre a janela de dialogo da ferramenta gradepontos | 124 | Abre a janela de dialogo da ferramenta gradepontos |
| 123 | - */ | ||
| 124 | - gradePontos: function(){ | ||
| 125 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.gradePontos()","gradepontos","gradeDePontos"); | ||
| 126 | - }, | ||
| 127 | - /* | 125 | + */ |
| 126 | + gradePontos: function(){ | ||
| 127 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.gradePontos()","gradepontos","gradeDePontos"); | ||
| 128 | + }, | ||
| 129 | + /* | ||
| 128 | Function: gradePol | 130 | Function: gradePol |
| 129 | 131 | ||
| 130 | Abre a janela de dialogo da ferramenta gradepol | 132 | Abre a janela de dialogo da ferramenta gradepol |
| 131 | - */ | ||
| 132 | - gradePol: function(){ | ||
| 133 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.gradePol()","gradepol","gradeDePoligonos"); | ||
| 134 | - }, | ||
| 135 | - /* | 133 | + */ |
| 134 | + gradePol: function(){ | ||
| 135 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.gradePol()","gradepol","gradeDePoligonos"); | ||
| 136 | + }, | ||
| 137 | + /* | ||
| 136 | Function: gradeHex | 138 | Function: gradeHex |
| 137 | 139 | ||
| 138 | Abre a janela de dialogo da ferramenta gradehex | 140 | Abre a janela de dialogo da ferramenta gradehex |
| 139 | - */ | ||
| 140 | - gradeHex: function(){ | ||
| 141 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.gradeHex()","gradehex","gradeDeHex"); | ||
| 142 | - }, | ||
| 143 | - /* | 141 | + */ |
| 142 | + gradeHex: function(){ | ||
| 143 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.gradeHex()","gradehex","gradeDeHex"); | ||
| 144 | + }, | ||
| 145 | + /* | ||
| 144 | Function: analisaGeometrias | 146 | Function: analisaGeometrias |
| 145 | 147 | ||
| 146 | Abre a janela de dialogo da ferramenta analisageometrias | 148 | Abre a janela de dialogo da ferramenta analisageometrias |
| 147 | - */ | ||
| 148 | - analisaGeometrias: function(){ | ||
| 149 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.analisaGeometrias()","analisageometrias","analisaGeometrias"); | ||
| 150 | - }, | ||
| 151 | - /* | 149 | + */ |
| 150 | + analisaGeometrias: function(){ | ||
| 151 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.analisaGeometrias()","analisageometrias","analisaGeometrias"); | ||
| 152 | + }, | ||
| 153 | + /* | ||
| 152 | Function: pontosdistri | 154 | Function: pontosdistri |
| 153 | 155 | ||
| 154 | Abre a janela de dialogo da ferramenta pontosdistri | 156 | Abre a janela de dialogo da ferramenta pontosdistri |
| 155 | - */ | ||
| 156 | - pontosdistri: function(){ | ||
| 157 | - i3GEO.parametros.r === "nao" ? i3GEO.janela.tempoMsg($trad("x22")) : i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.pontosdistri()","pontosdistri","pontosDistri"); | ||
| 158 | - }, | ||
| 159 | - /* | 157 | + */ |
| 158 | + pontosdistri: function(){ | ||
| 159 | + i3GEO.parametros.r === "nao" ? i3GEO.janela.tempoMsg($trad("x22")) : i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.pontosdistri()","pontosdistri","pontosDistri"); | ||
| 160 | + }, | ||
| 161 | + /* | ||
| 160 | Function: pontoempoligono | 162 | Function: pontoempoligono |
| 161 | 163 | ||
| 162 | Abre a janela de dialogo da ferramenta pontoempoligono | 164 | Abre a janela de dialogo da ferramenta pontoempoligono |
| 163 | - */ | ||
| 164 | - pontoempoligono: function(){ | ||
| 165 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.pontoempoligono()","pontoempoligono","pontoEmPoligono"); | ||
| 166 | - }, | ||
| 167 | - /* | 165 | + */ |
| 166 | + pontoempoligono: function(){ | ||
| 167 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.pontoempoligono()","pontoempoligono","pontoEmPoligono"); | ||
| 168 | + }, | ||
| 169 | + /* | ||
| 168 | Function: centromassa | 170 | Function: centromassa |
| 169 | 171 | ||
| 170 | Abre a janela de dialogo da ferramenta centro medio | 172 | Abre a janela de dialogo da ferramenta centro medio |
| 171 | - */ | ||
| 172 | - centromassa: function(){ | ||
| 173 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.centromassa()","centromassa","centromassa"); | ||
| 174 | - }, | ||
| 175 | - /* | 173 | + */ |
| 174 | + centromassa: function(){ | ||
| 175 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.centromassa()","centromassa","centromassa"); | ||
| 176 | + }, | ||
| 177 | + /* | ||
| 176 | Function: nptPol | 178 | Function: nptPol |
| 177 | 179 | ||
| 178 | Abre a janela de dialogo da ferramenta nptpol | 180 | Abre a janela de dialogo da ferramenta nptpol |
| 179 | - */ | ||
| 180 | - nptPol: function(){ | ||
| 181 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.nptPol()","nptpol","nptpol"); | ||
| 182 | - }, | ||
| 183 | - /* | 181 | + */ |
| 182 | + nptPol: function(){ | ||
| 183 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.nptPol()","nptpol","nptpol"); | ||
| 184 | + }, | ||
| 185 | + /* | ||
| 184 | Function: buffer | 186 | Function: buffer |
| 185 | 187 | ||
| 186 | Abre a janela de dialogo da ferramenta buffer | 188 | Abre a janela de dialogo da ferramenta buffer |
| 187 | - */ | ||
| 188 | - buffer: function(){ | ||
| 189 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.buffer()","buffer","buffer"); | ||
| 190 | - }, | ||
| 191 | - /* | 189 | + */ |
| 190 | + buffer: function(){ | ||
| 191 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.buffer()","buffer","buffer"); | ||
| 192 | + }, | ||
| 193 | + /* | ||
| 192 | Function: distanciaptpt | 194 | Function: distanciaptpt |
| 193 | 195 | ||
| 194 | Abre a janela de dialogo da ferramenta distanciaptpt | 196 | Abre a janela de dialogo da ferramenta distanciaptpt |
| 195 | - */ | ||
| 196 | - distanciaptpt: function(){ | ||
| 197 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.distanciaptpt()","distanciaptpt","distanciaptpt"); | ||
| 198 | - }, | ||
| 199 | - /* | 197 | + */ |
| 198 | + distanciaptpt: function(){ | ||
| 199 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.distanciaptpt()","distanciaptpt","distanciaptpt"); | ||
| 200 | + }, | ||
| 201 | + /* | ||
| 200 | Function: centroide | 202 | Function: centroide |
| 201 | 203 | ||
| 202 | Abre a janela de dialogo da ferramenta centroide | 204 | Abre a janela de dialogo da ferramenta centroide |
| 203 | - */ | ||
| 204 | - centroide: function(){ | ||
| 205 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.centroide()","centroide","centroide"); | ||
| 206 | - }, | ||
| 207 | - /* | 205 | + */ |
| 206 | + centroide: function(){ | ||
| 207 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.centroide()","centroide","centroide"); | ||
| 208 | + }, | ||
| 209 | + /* | ||
| 208 | Function: dissolve | 210 | Function: dissolve |
| 209 | 211 | ||
| 210 | Abre a janela de dialogo da ferramenta dissolve | 212 | Abre a janela de dialogo da ferramenta dissolve |
| 211 | - */ | ||
| 212 | - dissolve: function(){ | ||
| 213 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.dissolve()","dissolve","dissolve"); | ||
| 214 | - }, | ||
| 215 | - /* | 213 | + */ |
| 214 | + dissolve: function(){ | ||
| 215 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.dissolve()","dissolve","dissolve"); | ||
| 216 | + }, | ||
| 217 | + /* | ||
| 216 | Function: agrupaElementos | 218 | Function: agrupaElementos |
| 217 | 219 | ||
| 218 | Abre a janela de dialogo da ferramenta agrupaelementos | 220 | Abre a janela de dialogo da ferramenta agrupaelementos |
| 219 | - */ | ||
| 220 | - agrupaElementos: function(){ | ||
| 221 | - i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.agrupaElementos()","agrupaelementos","agrupaElementos"); | ||
| 222 | - } | ||
| 223 | - }, | ||
| 224 | - /* | 221 | + */ |
| 222 | + agrupaElementos: function(){ | ||
| 223 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.agrupaElementos()","agrupaelementos","agrupaElementos"); | ||
| 224 | + } | ||
| 225 | + }, | ||
| 226 | + /* | ||
| 225 | Classe: i3GEO.analise.medeDistancia | 227 | Classe: i3GEO.analise.medeDistancia |
| 226 | 228 | ||
| 227 | Ativa e controla a opcao de medicao de distancias. | 229 | Ativa e controla a opcao de medicao de distancias. |
| @@ -231,243 +233,293 @@ i3GEO.analise = { | @@ -231,243 +233,293 @@ i3GEO.analise = { | ||
| 231 | Quando o botao e acionado, abre-se a janela que mostra o resultado da medida, o icone que segue o mouse e alterado. | 233 | Quando o botao e acionado, abre-se a janela que mostra o resultado da medida, o icone que segue o mouse e alterado. |
| 232 | 234 | ||
| 233 | Para mostrar o resultado do calculo, e incluido um div especifico. | 235 | Para mostrar o resultado do calculo, e incluido um div especifico. |
| 234 | - */ | ||
| 235 | - medeDistancia:{ | ||
| 236 | - /* | 236 | + */ |
| 237 | + medeDistancia:{ | ||
| 238 | + /* | ||
| 237 | Function: inicia | 239 | Function: inicia |
| 238 | 240 | ||
| 239 | Inicia a operacao de medicao, abrindo a janela de resultados e criando os componentes necessorios | 241 | Inicia a operacao de medicao, abrindo a janela de resultados e criando os componentes necessorios |
| 240 | 242 | ||
| 241 | Sao registrados os eventos de clique sobre o mapa e fechamento da janela de resultados | 243 | Sao registrados os eventos de clique sobre o mapa e fechamento da janela de resultados |
| 242 | - */ | ||
| 243 | - inicia: function(){ | ||
| 244 | - if(typeof(console) !== 'undefined'){console.info("i3GEO.analise.medeDistancia.inicia()");} | ||
| 245 | - i3GEO.eventos.cliquePerm.desativa(); | ||
| 246 | - pontosdistobj = { | ||
| 247 | - xpt: [], | ||
| 248 | - ypt: [], | ||
| 249 | - dist: [], | ||
| 250 | - distV: [], | ||
| 251 | - xtela: [], | ||
| 252 | - ytela: [], | ||
| 253 | - ximg: [], | ||
| 254 | - yimg: [], | ||
| 255 | - linhas: [], | ||
| 256 | - linhastemp: [] | ||
| 257 | - }; | ||
| 258 | - i3GEO.analise.medeDistancia.criaJanela(); | ||
| 259 | - if (g_tipoacao !== "mede"){ | ||
| 260 | - if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()") < 0) | ||
| 261 | - {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()");} | ||
| 262 | - if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()") < 0) | ||
| 263 | - {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()");} | ||
| 264 | - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeDistancia.fechaJanela()") < 0) | ||
| 265 | - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeDistancia.fechaJanela()");} | ||
| 266 | - $i("mostradistancia").style.display="block"; | ||
| 267 | - if(i3GEO.Interface.ATUAL !== "googleearth"){ | ||
| 268 | - i3GEO.desenho.criaContainerRichdraw(); | ||
| 269 | - i3GEO.desenho.richdraw.lineColor = "black"; | ||
| 270 | - i3GEO.desenho.richdraw.lineWidth = "2px"; | ||
| 271 | - } | ||
| 272 | - g_tipoacao = "mede"; | ||
| 273 | - } | ||
| 274 | - else{ | ||
| 275 | - if(i3GEO.Interface.ATUAL !== "googleearth") | ||
| 276 | - {i3GEO.desenho.richdraw.fecha();} | ||
| 277 | - var Dom = YAHOO.util.Dom; | ||
| 278 | - Dom.setStyle("mostradistancia","display","none"); | ||
| 279 | - Dom.setStyle("pontosins","display","none"); | ||
| 280 | - } | ||
| 281 | - }, | ||
| 282 | - /* | 244 | + */ |
| 245 | + inicia: function(){ | ||
| 246 | + if(typeof(console) !== 'undefined'){console.info("i3GEO.analise.medeDistancia.inicia()");} | ||
| 247 | + i3GEO.eventos.cliquePerm.desativa(); | ||
| 248 | + i3GEO.analise.pontosdistobj = { | ||
| 249 | + xpt: [], | ||
| 250 | + ypt: [], | ||
| 251 | + dist: [], | ||
| 252 | + distV: [], | ||
| 253 | + xtela: [], | ||
| 254 | + ytela: [], | ||
| 255 | + ximg: [], | ||
| 256 | + yimg: [], | ||
| 257 | + linhas: [], | ||
| 258 | + linhastemp: [] | ||
| 259 | + }; | ||
| 260 | + i3GEO.analise.medeDistancia.criaJanela(); | ||
| 261 | + i3GEO.analise.i3GEO.Interface["ATUAL"].inicia(); | ||
| 262 | + }, | ||
| 263 | + /* | ||
| 283 | Cria a janela para mostrar os resultados da medicao | 264 | Cria a janela para mostrar os resultados da medicao |
| 284 | - */ | ||
| 285 | - criaJanela: function(){ | ||
| 286 | - var novoel,ins,imagemxy,janela; | ||
| 287 | - if (!$i("mostradistancia")){ | ||
| 288 | - novoel = document.createElement("div"); | ||
| 289 | - novoel.id = "mostradistancia"; | ||
| 290 | - ins = '<div class="hd" style="font-size:11px"> Distância aproximada <a class=ajuda_usuario target=_blank href="'+i3GEO.configura.locaplic+'/ajuda_usuario.php?idcategoria=6&idajuda=50" > </a></div>' + | ||
| 291 | - '<div class="bd" style="text-align:left;padding:3px;" >' + | ||
| 292 | - '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>' + | ||
| 293 | - '<div style="text-align:left;font-size:10px" >' + | ||
| 294 | - '<span style="color:navy;cursor:pointer;text-align:left;" >' + | ||
| 295 | - '<table class=lista7 ><tr><td><input style="cursor:pointer" type="checkbox" id="pararraios" checked /></td><td>Raios</td><td> </td>' + | ||
| 296 | - '<td>' + | ||
| 297 | - '<input style="cursor:pointer" type="checkbox" id="parartextos" checked />' + | ||
| 298 | - '</td><td>Textos<td>' + | ||
| 299 | - '<td> Estilo:</td><td>'+i3GEO.desenho.caixaEstilos()+'</td>' + | ||
| 300 | - '<td> <input id=i3GEObotaoPerfil size="22" type="button" value="perfil"></td>' + | ||
| 301 | - '</tr></table></span>' + | ||
| 302 | - '</div>' + | ||
| 303 | - '</div>'; | ||
| 304 | - novoel.innerHTML = ins; | ||
| 305 | - novoel.style.borderColor="gray"; | ||
| 306 | - document.body.appendChild(novoel); | ||
| 307 | - janela = new YAHOO.widget.Panel("mostradistancia", {iframe:true,width:"330px",fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | ||
| 308 | - YAHOO.i3GEO.janela.manager.register(janela); | ||
| 309 | - janela.render(); | ||
| 310 | - YAHOO.util.Event.addListener(janela.close, "click", i3GEO.analise.medeDistancia.fechaJanela); | ||
| 311 | - } | ||
| 312 | - else{ | ||
| 313 | - i3GEO.util.defineValor("mostradistancia_calculo","innerHTML",""); | ||
| 314 | - janela = YAHOO.i3GEO.janela.manager.find("mostradistancia"); | ||
| 315 | - } | ||
| 316 | - janela.show(); | ||
| 317 | - imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 318 | - janela.moveTo(imagemxy[0]+150,imagemxy[1]); | ||
| 319 | - if(navm && i3GEO.Interface.ATUAL === "googleearth" ){ | ||
| 320 | - janela.moveTo(0,0); | ||
| 321 | - } | ||
| 322 | - // | ||
| 323 | - //botao que abre a ferramenta de calculo de perfis. | ||
| 324 | - //pontosdistobj contem as coordenadas dos pontos | ||
| 325 | - // | ||
| 326 | - new YAHOO.widget.Button( | ||
| 327 | - "i3GEObotaoPerfil", | ||
| 328 | - {onclick:{fn: function(){ | ||
| 329 | - var js = i3GEO.configura.locaplic+"/ferramentas/perfil/index.js"; | ||
| 330 | - i3GEO.util.scriptTag(js,"i3GEOF.perfil.criaJanelaFlutuante(pontosdistobj)","i3GEOF.perfil_script"); | ||
| 331 | - }}} | ||
| 332 | - ); | ||
| 333 | - }, | ||
| 334 | - /* | 265 | + */ |
| 266 | + criaJanela: function(){ | ||
| 267 | + var novoel,ins,imagemxy,janela; | ||
| 268 | + if (!$i("mostradistancia")){ | ||
| 269 | + novoel = document.createElement("div"); | ||
| 270 | + novoel.id = "mostradistancia"; | ||
| 271 | + ins = '<div class="hd" style="font-size:11px"> Distância aproximada <a class=ajuda_usuario target=_blank href="'+i3GEO.configura.locaplic+'/ajuda_usuario.php?idcategoria=6&idajuda=50" > </a></div>' + | ||
| 272 | + '<div class="bd" style="text-align:left;padding:3px;" >' + | ||
| 273 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>' + | ||
| 274 | + '<div style="text-align:left;font-size:10px" >' + | ||
| 275 | + '<span style="color:navy;cursor:pointer;text-align:left;" >' + | ||
| 276 | + '<table class=lista7 ><tr><td><input style="cursor:pointer" type="checkbox" id="pararraios" checked /></td><td>Raios</td><td> </td>' + | ||
| 277 | + '<td>' + | ||
| 278 | + '<input style="cursor:pointer" type="checkbox" id="parartextos" checked />' + | ||
| 279 | + '</td><td>Textos<td>' + | ||
| 280 | + '<td> Estilo:</td><td>'+i3GEO.desenho.caixaEstilos()+'</td>' + | ||
| 281 | + '<td> <input id=i3GEObotaoPerfil size="22" type="button" value="perfil"></td>' + | ||
| 282 | + '</tr></table></span>' + | ||
| 283 | + '</div>' + | ||
| 284 | + '</div>'; | ||
| 285 | + novoel.innerHTML = ins; | ||
| 286 | + novoel.style.borderColor="gray"; | ||
| 287 | + document.body.appendChild(novoel); | ||
| 288 | + janela = new YAHOO.widget.Panel("mostradistancia", {iframe:true,width:"330px",fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | ||
| 289 | + YAHOO.i3GEO.janela.manager.register(janela); | ||
| 290 | + janela.render(); | ||
| 291 | + YAHOO.util.Event.addListener(janela.close, "click", i3GEO.analise.medeDistancia.fechaJanela); | ||
| 292 | + } | ||
| 293 | + else{ | ||
| 294 | + i3GEO.util.defineValor("mostradistancia_calculo","innerHTML",""); | ||
| 295 | + janela = YAHOO.i3GEO.janela.manager.find("mostradistancia"); | ||
| 296 | + } | ||
| 297 | + janela.show(); | ||
| 298 | + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 299 | + janela.moveTo(imagemxy[0]+150,imagemxy[1]); | ||
| 300 | + // | ||
| 301 | + //botao que abre a ferramenta de calculo de perfis. | ||
| 302 | + //pontosdistobj contem as coordenadas dos pontos | ||
| 303 | + // | ||
| 304 | + new YAHOO.widget.Button( | ||
| 305 | + "i3GEObotaoPerfil", | ||
| 306 | + {onclick:{fn: function(){ | ||
| 307 | + var js = i3GEO.configura.locaplic+"/ferramentas/perfil/index.js"; | ||
| 308 | + i3GEO.util.scriptTag(js,"i3GEOF.perfil.criaJanelaFlutuante(i3GEO.analise.pontosdistobj)","i3GEOF.perfil_script"); | ||
| 309 | + }}} | ||
| 310 | + ); | ||
| 311 | + }, | ||
| 312 | + /* | ||
| 335 | Function: fechaJanela | 313 | Function: fechaJanela |
| 336 | 314 | ||
| 337 | Fecha a janela e os elementos graficos criados para a ferramenta de medicao | 315 | Fecha a janela e os elementos graficos criados para a ferramenta de medicao |
| 338 | - */ | ||
| 339 | - fechaJanela: function(){ | ||
| 340 | - var janela; | ||
| 341 | - i3GEO.eventos.cliquePerm.ativa(); | ||
| 342 | - i3GEO.Interface.ATUAL !== "googleearth" ? i3GEO.desenho.richdraw.fecha() : i3GEO.Interface.googleearth.removePlacemark("divGeometriasTemp"); | ||
| 343 | - i3GEO.util.removeChild("pontosins"); | ||
| 344 | - if($i("divGeometriasTemp")) | ||
| 345 | - {i3GEO.desenho.richdraw.fecha();} | ||
| 346 | - i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeDistancia.clique()"); | ||
| 347 | - i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeDistancia.movimento()"); | ||
| 348 | - i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.analise.medeDistancia.fechaJanela()"); | ||
| 349 | - i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 350 | - janela = YAHOO.i3GEO.janela.manager.find("mostradistancia"); | ||
| 351 | - if(janela){ | ||
| 352 | - YAHOO.i3GEO.janela.manager.remove(janela); | ||
| 353 | - janela.destroy(); | ||
| 354 | - } | ||
| 355 | - i3GEO.barraDeBotoes.ativaIcone("pointer"); | ||
| 356 | - }, | ||
| 357 | - /* | ||
| 358 | - Adiciona uma marca na tela e realiza o calculo de distancia dos pontos inseridos | ||
| 359 | - */ | ||
| 360 | - clique: function(){ | ||
| 361 | - var n,d,decimal,dd; | ||
| 362 | - if (g_tipoacao === "mede"){ | ||
| 363 | - n = pontosdistobj.xpt.length; | ||
| 364 | - pontosdistobj.xpt[n] = objposicaocursor.ddx; | ||
| 365 | - pontosdistobj.ypt[n] = objposicaocursor.ddy; | ||
| 366 | - pontosdistobj.xtela[n] = objposicaocursor.telax; | ||
| 367 | - pontosdistobj.ytela[n] = objposicaocursor.telay; | ||
| 368 | - pontosdistobj.ximg[n] = objposicaocursor.imgx; | ||
| 369 | - pontosdistobj.yimg[n] = objposicaocursor.imgy; | ||
| 370 | - pontosdistobj.dist[n] = 0; | ||
| 371 | - //cria a linha que sera utilizada para seguir a posicao do mouse e o ultimo ponto | ||
| 372 | - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 373 | - try{ | ||
| 374 | - pontosdistobj.linhas[n] = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1),(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1)); | ||
| 375 | - } | ||
| 376 | - catch(e){ | ||
| 377 | - if(typeof(console) !== 'undefined'){console.error("i3GEO.desenho.richdraw "+e);} | ||
| 378 | - } | 316 | + */ |
| 317 | + fechaJanela: function(){ | ||
| 318 | + var janela; | ||
| 319 | + i3GEO.eventos.cliquePerm.ativa(); | ||
| 320 | + i3GEO.Interface.ATUAL !== "googleearth" ? i3GEO.desenho.richdraw.fecha() : i3GEO.Interface.googleearth.removePlacemark("divGeometriasTemp"); | ||
| 321 | + i3GEO.util.removeChild("pontosins"); | ||
| 322 | + if($i("divGeometriasTemp")) | ||
| 323 | + {i3GEO.desenho.richdraw.fecha();} | ||
| 324 | + i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeDistancia.clique()"); | ||
| 325 | + i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeDistancia.movimento()"); | ||
| 326 | + i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.analise.medeDistancia.fechaJanela()"); | ||
| 327 | + i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 328 | + janela = YAHOO.i3GEO.janela.manager.find("mostradistancia"); | ||
| 329 | + if(janela){ | ||
| 330 | + YAHOO.i3GEO.janela.manager.remove(janela); | ||
| 331 | + janela.destroy(); | ||
| 379 | } | 332 | } |
| 380 | - if (n > 0){ | ||
| 381 | - d = i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | ||
| 382 | - decimal = 0; | ||
| 383 | - d = d + ""; | ||
| 384 | - d = d.split("."); | ||
| 385 | - decimal = d[1].substr(0,5); | ||
| 386 | - d = d[0]+"."+decimal; | ||
| 387 | - d = d * 1; | ||
| 388 | - pontosdistobj.dist[n] = d + pontosdistobj.dist[n-1]; | ||
| 389 | - if(navm) | ||
| 390 | - {i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1]),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n]),pontosdistobj.yimg[n]);} | ||
| 391 | - if($i("pararraios") && $i("pararraios").checked === true ){ | ||
| 392 | - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 393 | - i3GEO.desenho.aplica("insereCirculo","",n); | ||
| 394 | - } | ||
| 395 | - if(i3GEO.Interface.ATUAL === "googleearth"){ | ||
| 396 | - dd = Math.sqrt(((Math.pow((pontosdistobj.xpt[n] - pontosdistobj.xpt[n-1]),2)) + (Math.pow((pontosdistobj.ypt[n] - pontosdistobj.ypt[n-1]),2)) )); | ||
| 397 | - i3GEO.Interface.googleearth.insereCirculo(pontosdistobj.xpt[n],pontosdistobj.ypt[n],dd,"","divGeometriasTemp"); | 333 | + i3GEO.barraDeBotoes.ativaIcone("pointer"); |
| 334 | + }, | ||
| 335 | + openlayers:{ | ||
| 336 | + inicia: function(){ | ||
| 337 | + if (g_tipoacao !== "mede"){ | ||
| 338 | + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()") < 0) | ||
| 339 | + {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()");} | ||
| 340 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()") < 0) | ||
| 341 | + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()");} | ||
| 342 | + if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeDistancia.fechaJanela()") < 0) | ||
| 343 | + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeDistancia.fechaJanela()");} | ||
| 344 | + $i("mostradistancia").style.display="block"; | ||
| 345 | + if(i3GEO.Interface.ATUAL !== "googleearth"){ | ||
| 346 | + i3GEO.desenho.criaContainerRichdraw(); | ||
| 347 | + i3GEO.desenho.richdraw.lineColor = "black"; | ||
| 348 | + i3GEO.desenho.richdraw.lineWidth = "2px"; | ||
| 398 | } | 349 | } |
| 350 | + g_tipoacao = "mede"; | ||
| 399 | } | 351 | } |
| 400 | - if($i("parartextos") && $i("parartextos").checked === true ){ | ||
| 401 | - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 402 | - i3GEO.desenho.aplica("insereTexto","",n+1,d+" km"); | ||
| 403 | - } | ||
| 404 | - if(i3GEO.Interface.ATUAL === "googleearth") | ||
| 405 | - {i3GEO.Interface.googleearth.insereMarca(d+" km",objposicaocursor.ddx,objposicaocursor.ddy,"","divGeometriasTemp");} | 352 | + else{ |
| 353 | + if(i3GEO.Interface.ATUAL !== "googleearth") | ||
| 354 | + {i3GEO.desenho.richdraw.fecha();} | ||
| 355 | + var Dom = YAHOO.util.Dom; | ||
| 356 | + Dom.setStyle("mostradistancia","display","none"); | ||
| 357 | + Dom.setStyle("pontosins","display","none"); | ||
| 406 | } | 358 | } |
| 407 | - //cria a linha ligando os dois ultimos pontos | ||
| 408 | - if(i3GEO.Interface.ATUAL === "googleearth"){ | ||
| 409 | - i3GEO.Interface.googleearth.insereLinha(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],pontosdistobj.xpt[n],pontosdistobj.ypt[n],"","divGeometriasTemp"); | 359 | + } |
| 360 | + }, | ||
| 361 | + googlemaps:{ | ||
| 362 | + inicia: function(){ | ||
| 363 | + if (g_tipoacao !== "mede"){ | ||
| 364 | + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()") < 0) | ||
| 365 | + {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()");} | ||
| 366 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()") < 0) | ||
| 367 | + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()");} | ||
| 368 | + if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeDistancia.fechaJanela()") < 0) | ||
| 369 | + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeDistancia.fechaJanela()");} | ||
| 370 | + $i("mostradistancia").style.display="block"; | ||
| 371 | + i3GEO.desenho.criaContainerRichdraw(); | ||
| 372 | + i3GEO.desenho.richdraw.lineColor = "black"; | ||
| 373 | + i3GEO.desenho.richdraw.lineWidth = "2px"; | ||
| 374 | + g_tipoacao = "mede"; | ||
| 375 | + } | ||
| 376 | + else{ | ||
| 377 | + i3GEO.desenho.richdraw.fecha(); | ||
| 378 | + var Dom = YAHOO.util.Dom; | ||
| 379 | + Dom.setStyle("mostradistancia","display","none"); | ||
| 380 | + Dom.setStyle("pontosins","display","none"); | ||
| 410 | } | 381 | } |
| 411 | } | 382 | } |
| 412 | - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 413 | - i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.analise.medeDistancia.paraCalculo,"divGeometriasTemp","",i3GEO.configura.locaplic+"/imagens/estasel.png",6,6); | ||
| 414 | - i3GEO.desenho.insereCirculo(objposicaocursor.imgx,objposicaocursor.imgy,3,"white"); | 383 | + }, |
| 384 | + googleearth:{ | ||
| 385 | + inicia: function(){ | ||
| 386 | + if (g_tipoacao !== "mede"){ | ||
| 387 | + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()") < 0) | ||
| 388 | + {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()");} | ||
| 389 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()") < 0) | ||
| 390 | + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()");} | ||
| 391 | + if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeDistancia.fechaJanela()") < 0) | ||
| 392 | + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeDistancia.fechaJanela()");} | ||
| 393 | + $i("mostradistancia").style.display="block"; | ||
| 394 | + g_tipoacao = "mede"; | ||
| 395 | + } | ||
| 396 | + else{ | ||
| 397 | + var Dom = YAHOO.util.Dom; | ||
| 398 | + Dom.setStyle("mostradistancia","display","none"); | ||
| 399 | + Dom.setStyle("pontosins","display","none"); | ||
| 400 | + } | ||
| 415 | } | 401 | } |
| 416 | - } | ||
| 417 | - }, | ||
| 418 | - /* | ||
| 419 | - Para o calculo de distancias e ativa o botao "pan" | ||
| 420 | - */ | ||
| 421 | - paraCalculo: function(){ | ||
| 422 | - var botaoPan = $i("pan"); | ||
| 423 | - g_tipoacao = ""; | ||
| 424 | - botaoPan ? botaoPan.onclick.call() : i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 425 | - }, | ||
| 426 | - /* | ||
| 427 | - Realiza os calculos e desenho da linha conforme o usuario movimenta o mouse | ||
| 428 | - */ | ||
| 429 | - movimento: function(){ | ||
| 430 | - var n,d,r,decimal,da,mostra,texto, | ||
| 431 | - //pontosdistobj = i3GEO.analise.medeDistancia.pontosdistobj, | ||
| 432 | - calculo = i3GEO.calculo; | ||
| 433 | - if (g_tipoacao === "mede"){ | ||
| 434 | - YAHOO.util.Dom.setStyle("mostradistancia","display","block"); | ||
| 435 | - n = pontosdistobj.xpt.length; | ||
| 436 | - try{ | ||
| 437 | - //console.info(objposicaocursor.ddx); | ||
| 438 | - if (n > 0){ | ||
| 439 | - d = calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | ||
| 440 | - r = calculo.direcao(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | ||
| 441 | - r = calculo.dd2dms(r,r); | ||
| 442 | - r = r[0]; | 402 | + }, |
| 403 | + | ||
| 404 | + | ||
| 443 | 405 | ||
| 406 | + | ||
| 407 | + ////////////////////////////////////// | ||
| 408 | + /* | ||
| 409 | + Adiciona uma marca na tela e realiza o calculo de distancia dos pontos inseridos | ||
| 410 | + */ | ||
| 411 | + clique: function(){ | ||
| 412 | + var n,d,decimal,dd, | ||
| 413 | + pontosdistobj = i3GEO.analise.pontosdistobj; | ||
| 414 | + if (g_tipoacao === "mede"){ | ||
| 415 | + n = pontosdistobj.xpt.length; | ||
| 416 | + pontosdistobj.xpt[n] = objposicaocursor.ddx; | ||
| 417 | + pontosdistobj.ypt[n] = objposicaocursor.ddy; | ||
| 418 | + pontosdistobj.xtela[n] = objposicaocursor.telax; | ||
| 419 | + pontosdistobj.ytela[n] = objposicaocursor.telay; | ||
| 420 | + pontosdistobj.ximg[n] = objposicaocursor.imgx; | ||
| 421 | + pontosdistobj.yimg[n] = objposicaocursor.imgy; | ||
| 422 | + pontosdistobj.dist[n] = 0; | ||
| 423 | + //cria a linha que sera utilizada para seguir a posicao do mouse e o ultimo ponto | ||
| 424 | + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 425 | + try{ | ||
| 426 | + pontosdistobj.linhas[n] = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1),(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1)); | ||
| 427 | + } | ||
| 428 | + catch(e){ | ||
| 429 | + if(typeof(console) !== 'undefined'){console.error("i3GEO.desenho.richdraw "+e);} | ||
| 430 | + } | ||
| 431 | + } | ||
| 432 | + if (n > 0){ | ||
| 433 | + d = i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | ||
| 434 | + decimal = 0; | ||
| 444 | d = d + ""; | 435 | d = d + ""; |
| 445 | d = d.split("."); | 436 | d = d.split("."); |
| 446 | decimal = d[1].substr(0,5); | 437 | decimal = d[1].substr(0,5); |
| 447 | d = d[0]+"."+decimal; | 438 | d = d[0]+"."+decimal; |
| 448 | d = d * 1; | 439 | d = d * 1; |
| 449 | - da = d + pontosdistobj.dist[n-1]; | ||
| 450 | - da = da + ""; | ||
| 451 | - da = da.split("."); | ||
| 452 | - decimal = da[1].substr(0,5); | ||
| 453 | - da = da[0]+"."+decimal; | ||
| 454 | - da = da * 1; | ||
| 455 | - | ||
| 456 | - mostra = $i("mostradistancia_calculo"); | ||
| 457 | - if (mostra){ | ||
| 458 | - texto = " Dist acum.= "+da+" km <br>atual= "+d+" km <br> "+$trad("x23")+" (DMS)= "+r; | ||
| 459 | - texto += "<br>"+$trad("x25")+": "+calculo.metododistancia; | ||
| 460 | - mostra.innerHTML = texto; | 440 | + pontosdistobj.dist[n] = d + pontosdistobj.dist[n-1]; |
| 441 | + if(navm) | ||
| 442 | + {i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1]),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n]),pontosdistobj.yimg[n]);} | ||
| 443 | + if($i("pararraios") && $i("pararraios").checked === true ){ | ||
| 444 | + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 445 | + i3GEO.desenho.aplica("insereCirculo","",n); | ||
| 446 | + } | ||
| 447 | + if(i3GEO.Interface.ATUAL === "googleearth"){ | ||
| 448 | + dd = Math.sqrt(((Math.pow((pontosdistobj.xpt[n] - pontosdistobj.xpt[n-1]),2)) + (Math.pow((pontosdistobj.ypt[n] - pontosdistobj.ypt[n-1]),2)) )); | ||
| 449 | + i3GEO.Interface.googleearth.insereCirculo(pontosdistobj.xpt[n],pontosdistobj.ypt[n],dd,"","divGeometriasTemp"); | ||
| 450 | + } | ||
| 451 | + } | ||
| 452 | + if($i("parartextos") && $i("parartextos").checked === true ){ | ||
| 453 | + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 454 | + i3GEO.desenho.aplica("insereTexto","",n+1,d+" km"); | ||
| 455 | + } | ||
| 456 | + if(i3GEO.Interface.ATUAL === "googleearth") | ||
| 457 | + {i3GEO.Interface.googleearth.insereMarca(d+" km",objposicaocursor.ddx,objposicaocursor.ddy,"","divGeometriasTemp");} | ||
| 458 | + } | ||
| 459 | + //cria a linha ligando os dois ultimos pontos | ||
| 460 | + if(i3GEO.Interface.ATUAL === "googleearth"){ | ||
| 461 | + i3GEO.Interface.googleearth.insereLinha(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],pontosdistobj.xpt[n],pontosdistobj.ypt[n],"","divGeometriasTemp"); | ||
| 462 | + } | ||
| 463 | + } | ||
| 464 | + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 465 | + i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.analise.medeDistancia.paraCalculo,"divGeometriasTemp","",i3GEO.configura.locaplic+"/imagens/estasel.png",6,6); | ||
| 466 | + i3GEO.desenho.insereCirculo(objposicaocursor.imgx,objposicaocursor.imgy,3,"white"); | ||
| 467 | + } | ||
| 468 | + } | ||
| 469 | + }, | ||
| 470 | + /* | ||
| 471 | + Para o calculo de distancias e ativa o botao "pan" | ||
| 472 | + */ | ||
| 473 | + paraCalculo: function(){ | ||
| 474 | + var botaoPan = $i("pan"); | ||
| 475 | + g_tipoacao = ""; | ||
| 476 | + botaoPan ? botaoPan.onclick.call() : i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 477 | + }, | ||
| 478 | + /* | ||
| 479 | + Realiza os calculos e desenho da linha conforme o usuario movimenta o mouse | ||
| 480 | + */ | ||
| 481 | + movimento: function(){ | ||
| 482 | + var n,d,r,decimal,da,mostra,texto, | ||
| 483 | + pontosdistobj = i3GEO.analise.pontosdistobj, | ||
| 484 | + calculo = i3GEO.calculo; | ||
| 485 | + if (g_tipoacao === "mede"){ | ||
| 486 | + YAHOO.util.Dom.setStyle("mostradistancia","display","block"); | ||
| 487 | + n = pontosdistobj.xpt.length; | ||
| 488 | + try{ | ||
| 489 | + //console.info(objposicaocursor.ddx); | ||
| 490 | + if (n > 0){ | ||
| 491 | + d = calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | ||
| 492 | + r = calculo.direcao(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | ||
| 493 | + r = calculo.dd2dms(r,r); | ||
| 494 | + r = r[0]; | ||
| 495 | + | ||
| 496 | + d = d + ""; | ||
| 497 | + d = d.split("."); | ||
| 498 | + decimal = d[1].substr(0,5); | ||
| 499 | + d = d[0]+"."+decimal; | ||
| 500 | + d = d * 1; | ||
| 501 | + da = d + pontosdistobj.dist[n-1]; | ||
| 502 | + da = da + ""; | ||
| 503 | + da = da.split("."); | ||
| 504 | + decimal = da[1].substr(0,5); | ||
| 505 | + da = da[0]+"."+decimal; | ||
| 506 | + da = da * 1; | ||
| 507 | + | ||
| 508 | + mostra = $i("mostradistancia_calculo"); | ||
| 509 | + if (mostra){ | ||
| 510 | + texto = " Dist acum.= "+da+" km <br>atual= "+d+" km <br> "+$trad("x23")+" (DMS)= "+r; | ||
| 511 | + texto += "<br>"+$trad("x25")+": "+calculo.metododistancia; | ||
| 512 | + mostra.innerHTML = texto; | ||
| 513 | + } | ||
| 514 | + if(i3GEO.Interface.ATUAL !== "googleearth" && navn) | ||
| 515 | + {i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n);} | ||
| 461 | } | 516 | } |
| 462 | - if(i3GEO.Interface.ATUAL !== "googleearth" && navn) | ||
| 463 | - {i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n);} | ||
| 464 | } | 517 | } |
| 518 | + catch(e){} | ||
| 465 | } | 519 | } |
| 466 | - catch(e){} | ||
| 467 | } | 520 | } |
| 468 | - } | ||
| 469 | - }, | ||
| 470 | - /* | 521 | + }, |
| 522 | + /* | ||
| 471 | Classe: i3GEO.analise.medeArea | 523 | Classe: i3GEO.analise.medeArea |
| 472 | 524 | ||
| 473 | Ativa e controla a opcao de medicao de area. | 525 | Ativa e controla a opcao de medicao de area. |
| @@ -477,32 +529,32 @@ i3GEO.analise = { | @@ -477,32 +529,32 @@ i3GEO.analise = { | ||
| 477 | Quando o botao e acionado, abre-se a janela que mostra o resultado da medida, o icone que segue o mouse e alterado. | 529 | Quando o botao e acionado, abre-se a janela que mostra o resultado da medida, o icone que segue o mouse e alterado. |
| 478 | 530 | ||
| 479 | Para mostrar o resultado do calculo, e incluido um div especifico. | 531 | Para mostrar o resultado do calculo, e incluido um div especifico. |
| 480 | - */ | ||
| 481 | - medeArea:{ | ||
| 482 | - /* | 532 | + */ |
| 533 | + medeArea:{ | ||
| 534 | + /* | ||
| 483 | Function: inicia | 535 | Function: inicia |
| 484 | 536 | ||
| 485 | Inicia a operacao de medicao, abrindo a janela de resultados e criando os componentes necessarios | 537 | Inicia a operacao de medicao, abrindo a janela de resultados e criando os componentes necessarios |
| 486 | 538 | ||
| 487 | Sao registrados os eventos de clique sobre o mapa e fechamento da janela de resultados | 539 | Sao registrados os eventos de clique sobre o mapa e fechamento da janela de resultados |
| 488 | - */ | ||
| 489 | - inicia: function(){ | ||
| 490 | - if(typeof(console) !== 'undefined'){console.info("i3GEO.analise.medeArea.inicia()");} | ||
| 491 | - i3GEO.eventos.cliquePerm.desativa(); | ||
| 492 | - pontosdistobj = { | ||
| 493 | - xpt: [], | ||
| 494 | - ypt: [], | ||
| 495 | - dist: [], | ||
| 496 | - distV: [], | ||
| 497 | - xtela: [], | ||
| 498 | - ytela: [], | ||
| 499 | - ximg: [], | ||
| 500 | - yimg: [], | ||
| 501 | - linhas: [], | ||
| 502 | - linhastemp: [] | ||
| 503 | - }; | ||
| 504 | - var x,y,ll1,ll2,d, | ||
| 505 | - calculo = i3GEO.calculo, | 540 | + */ |
| 541 | + inicia: function(){ | ||
| 542 | + if(typeof(console) !== 'undefined'){console.info("i3GEO.analise.medeArea.inicia()");} | ||
| 543 | + i3GEO.eventos.cliquePerm.desativa(); | ||
| 544 | + i3GEO.analise.pontosdistobj = { | ||
| 545 | + xpt: [], | ||
| 546 | + ypt: [], | ||
| 547 | + dist: [], | ||
| 548 | + distV: [], | ||
| 549 | + xtela: [], | ||
| 550 | + ytela: [], | ||
| 551 | + ximg: [], | ||
| 552 | + yimg: [], | ||
| 553 | + linhas: [], | ||
| 554 | + linhastemp: [] | ||
| 555 | + }; | ||
| 556 | + var x,y,ll1,ll2,d, | ||
| 557 | + calculo = i3GEO.calculo, | ||
| 506 | montacontainer = function(){ | 558 | montacontainer = function(){ |
| 507 | var desenho = i3GEO.desenho; | 559 | var desenho = i3GEO.desenho; |
| 508 | $i("mostraarea_calculo").innerHTML = "Clique no mapa para desenhar o poligono. Clique duas vezes para concluir"; | 560 | $i("mostraarea_calculo").innerHTML = "Clique no mapa para desenhar o poligono. Clique duas vezes para concluir"; |
| @@ -512,149 +564,150 @@ i3GEO.analise = { | @@ -512,149 +564,150 @@ i3GEO.analise = { | ||
| 512 | desenho.richdraw.lineColor = "green"; | 564 | desenho.richdraw.lineColor = "green"; |
| 513 | desenho.richdraw.lineWidth = "2px"; | 565 | desenho.richdraw.lineWidth = "2px"; |
| 514 | }; | 566 | }; |
| 515 | - i3GEO.analise.medeArea.criaJanela(); | ||
| 516 | - if (g_tipoacao !== "area"){ | ||
| 517 | - $i("mostraarea_calculo").innerHTML = ""; | ||
| 518 | - if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()") < 0) | ||
| 519 | - {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()");} | ||
| 520 | - if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()") < 0) | ||
| 521 | - {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()");} | ||
| 522 | - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeArea.fechaJanela()") < 0) | ||
| 523 | - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeArea.fechaJanela()");} | ||
| 524 | - // | ||
| 525 | - //a API do Openlayers e GoogleMaps tem uma funcao propria de obtencao da resolucao de cada pixel | ||
| 526 | - //essa funcao e embutida em i3GEO.calculo.tela2dd | ||
| 527 | - // | ||
| 528 | - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 529 | - x = parseInt(i3GEO.parametros.w / 2,10); | ||
| 530 | - y = parseInt(i3GEO.parametros.h / 2,10); | ||
| 531 | - ll1 = calculo.tela2dd(x,y,"",""); | ||
| 532 | - ll2 = calculo.tela2dd(x + 1,y,"",""); | ||
| 533 | - d = calculo.distancia(ll1[0],ll1[1],ll2[0],ll2[1]); | ||
| 534 | - d = d * 1000; | ||
| 535 | - g_areapixel = d * d; | ||
| 536 | - g_areapixel < 0 ? i3GEO.janela.tempoMsg("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.") : montacontainer(); | 567 | + i3GEO.analise.medeArea.criaJanela(); |
| 568 | + if (g_tipoacao !== "area"){ | ||
| 569 | + $i("mostraarea_calculo").innerHTML = ""; | ||
| 570 | + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()") < 0) | ||
| 571 | + {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()");} | ||
| 572 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()") < 0) | ||
| 573 | + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()");} | ||
| 574 | + if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeArea.fechaJanela()") < 0) | ||
| 575 | + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeArea.fechaJanela()");} | ||
| 576 | + // | ||
| 577 | + //a API do Openlayers e GoogleMaps tem uma funcao propria de obtencao da resolucao de cada pixel | ||
| 578 | + //essa funcao e embutida em i3GEO.calculo.tela2dd | ||
| 579 | + // | ||
| 580 | + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 581 | + x = parseInt(i3GEO.parametros.w / 2,10); | ||
| 582 | + y = parseInt(i3GEO.parametros.h / 2,10); | ||
| 583 | + ll1 = calculo.tela2dd(x,y,"",""); | ||
| 584 | + ll2 = calculo.tela2dd(x + 1,y,"",""); | ||
| 585 | + d = calculo.distancia(ll1[0],ll1[1],ll2[0],ll2[1]); | ||
| 586 | + d = d * 1000; | ||
| 587 | + g_areapixel = d * d; | ||
| 588 | + g_areapixel < 0 ? i3GEO.janela.tempoMsg("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.") : montacontainer(); | ||
| 589 | + } | ||
| 537 | } | 590 | } |
| 538 | - } | ||
| 539 | - else{i3GEO.desenho.richdraw.fecha();} | ||
| 540 | - }, | ||
| 541 | - /* | 591 | + else{i3GEO.desenho.richdraw.fecha();} |
| 592 | + }, | ||
| 593 | + /* | ||
| 542 | Cria a janela para mostrar os resultados da medicao | 594 | Cria a janela para mostrar os resultados da medicao |
| 543 | - */ | ||
| 544 | - criaJanela: function(){ | ||
| 545 | - var novoel,ins,imagemxy,janela; | ||
| 546 | - if (!$i("mostraarea")){ | ||
| 547 | - novoel = document.createElement("div"); | ||
| 548 | - novoel.id = "mostraarea"; | ||
| 549 | - ins = '<div class="hd" >Área aproximada <a class=ajuda_usuario target=_blank href="'+i3GEO.configura.locaplic+'"/ajuda_usuario.php?idcategoria=6&idajuda=51" > </a></div>' + | ||
| 550 | - '<div class="bd" style="text-align:left;padding:3px;font-size:10px" >' + | ||
| 551 | - 'Estilo: '+i3GEO.desenho.caixaEstilos()+'<br>' + | ||
| 552 | - '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>' + | ||
| 553 | - '</div>'; | ||
| 554 | - novoel.innerHTML = ins; | ||
| 555 | - novoel.style.borderColor="gray"; | ||
| 556 | - document.body.appendChild(novoel); | ||
| 557 | - janela = new YAHOO.widget.Panel("mostraarea", {width:"220px",fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | ||
| 558 | - YAHOO.i3GEO.janela.manager.register(janela); | ||
| 559 | - janela.render(); | ||
| 560 | - YAHOO.util.Event.addListener(janela.close, "click", i3GEO.analise.medeArea.fechaJanela); | ||
| 561 | - } | ||
| 562 | - else{ | ||
| 563 | - janela = YAHOO.i3GEO.janela.manager.find("mostraarea"); | ||
| 564 | - } | ||
| 565 | - janela.show(); | ||
| 566 | - imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 567 | - janela.moveTo(imagemxy[0]+150,imagemxy[1]); | ||
| 568 | - }, | ||
| 569 | - /* | 595 | + */ |
| 596 | + criaJanela: function(){ | ||
| 597 | + var novoel,ins,imagemxy,janela; | ||
| 598 | + if (!$i("mostraarea")){ | ||
| 599 | + novoel = document.createElement("div"); | ||
| 600 | + novoel.id = "mostraarea"; | ||
| 601 | + ins = '<div class="hd" >Área aproximada <a class=ajuda_usuario target=_blank href="'+i3GEO.configura.locaplic+'"/ajuda_usuario.php?idcategoria=6&idajuda=51" > </a></div>' + | ||
| 602 | + '<div class="bd" style="text-align:left;padding:3px;font-size:10px" >' + | ||
| 603 | + 'Estilo: '+i3GEO.desenho.caixaEstilos()+'<br>' + | ||
| 604 | + '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>' + | ||
| 605 | + '</div>'; | ||
| 606 | + novoel.innerHTML = ins; | ||
| 607 | + novoel.style.borderColor="gray"; | ||
| 608 | + document.body.appendChild(novoel); | ||
| 609 | + janela = new YAHOO.widget.Panel("mostraarea", {width:"220px",fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | ||
| 610 | + YAHOO.i3GEO.janela.manager.register(janela); | ||
| 611 | + janela.render(); | ||
| 612 | + YAHOO.util.Event.addListener(janela.close, "click", i3GEO.analise.medeArea.fechaJanela); | ||
| 613 | + } | ||
| 614 | + else{ | ||
| 615 | + janela = YAHOO.i3GEO.janela.manager.find("mostraarea"); | ||
| 616 | + } | ||
| 617 | + janela.show(); | ||
| 618 | + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 619 | + janela.moveTo(imagemxy[0]+150,imagemxy[1]); | ||
| 620 | + }, | ||
| 621 | + /* | ||
| 570 | Function: fechaJanela | 622 | Function: fechaJanela |
| 571 | 623 | ||
| 572 | Fecha a janela e os elementos graficos criados para a ferramenta de medicao | 624 | Fecha a janela e os elementos graficos criados para a ferramenta de medicao |
| 573 | - */ | ||
| 574 | - fechaJanela: function(){ | ||
| 575 | - var janela; | ||
| 576 | - i3GEO.eventos.cliquePerm.ativa(); | ||
| 577 | - i3GEO.desenho.richdraw.fecha(); | ||
| 578 | - i3GEO.util.removeChild("pontosArea",document.body); | ||
| 579 | - i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeArea.clique()"); | ||
| 580 | - i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeArea.movimento()"); | ||
| 581 | - i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.analise.medeArea.fechaJanela()"); | ||
| 582 | - i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 583 | - janela = YAHOO.i3GEO.janela.manager.find("mostraarea"); | ||
| 584 | - if(janela){ | ||
| 585 | - YAHOO.i3GEO.janela.manager.remove(janela); | ||
| 586 | - janela.destroy(); | ||
| 587 | - } | ||
| 588 | - i3GEO.barraDeBotoes.ativaIcone("pointer"); | ||
| 589 | - }, | ||
| 590 | - /* | 625 | + */ |
| 626 | + fechaJanela: function(){ | ||
| 627 | + var janela; | ||
| 628 | + i3GEO.eventos.cliquePerm.ativa(); | ||
| 629 | + i3GEO.desenho.richdraw.fecha(); | ||
| 630 | + i3GEO.util.removeChild("pontosArea",document.body); | ||
| 631 | + i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeArea.clique()"); | ||
| 632 | + i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeArea.movimento()"); | ||
| 633 | + i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.analise.medeArea.fechaJanela()"); | ||
| 634 | + i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 635 | + janela = YAHOO.i3GEO.janela.manager.find("mostraarea"); | ||
| 636 | + if(janela){ | ||
| 637 | + YAHOO.i3GEO.janela.manager.remove(janela); | ||
| 638 | + janela.destroy(); | ||
| 639 | + } | ||
| 640 | + i3GEO.barraDeBotoes.ativaIcone("pointer"); | ||
| 641 | + }, | ||
| 642 | + /* | ||
| 591 | Adiciona uma marca na tela e realiza o calculo de distancia dos pontos inseridos | 643 | Adiciona uma marca na tela e realiza o calculo de distancia dos pontos inseridos |
| 592 | - */ | ||
| 593 | - clique: function(){ | ||
| 594 | - var n,m; | ||
| 595 | - //pontosdistobj = i3GEO.analise.medeArea.pontosdistobj; | ||
| 596 | - if (g_tipoacao === "area"){ | ||
| 597 | - n = pontosdistobj.xpt.length; | ||
| 598 | - pontosdistobj.xpt[n] = objposicaocursor.ddx; | ||
| 599 | - pontosdistobj.ypt[n] = objposicaocursor.ddy; | ||
| 600 | - pontosdistobj.xtela[n] = objposicaocursor.telax; | ||
| 601 | - pontosdistobj.ytela[n] = objposicaocursor.telay; | ||
| 602 | - pontosdistobj.ximg[n] = objposicaocursor.imgx; | ||
| 603 | - pontosdistobj.yimg[n] = objposicaocursor.imgy; | ||
| 604 | - pontosdistobj.dist[n] = 0; | ||
| 605 | - //inclui a linha para ligar com o ponto inicial | ||
| 606 | - if (n === 0){ | ||
| 607 | - try { | ||
| 608 | - pontosdistobj.linhastemp = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[0]-1,pontosdistobj.yimg[0]-1); | 644 | + */ |
| 645 | + clique: function(){ | ||
| 646 | + var n,m; | ||
| 647 | + pontosdistobj = i3GEO.analise.pontosdistobj; | ||
| 648 | + if (g_tipoacao === "area"){ | ||
| 649 | + n = pontosdistobj.xpt.length; | ||
| 650 | + pontosdistobj.xpt[n] = objposicaocursor.ddx; | ||
| 651 | + pontosdistobj.ypt[n] = objposicaocursor.ddy; | ||
| 652 | + pontosdistobj.xtela[n] = objposicaocursor.telax; | ||
| 653 | + pontosdistobj.ytela[n] = objposicaocursor.telay; | ||
| 654 | + pontosdistobj.ximg[n] = objposicaocursor.imgx; | ||
| 655 | + pontosdistobj.yimg[n] = objposicaocursor.imgy; | ||
| 656 | + pontosdistobj.dist[n] = 0; | ||
| 657 | + //inclui a linha para ligar com o ponto inicial | ||
| 658 | + if (n === 0){ | ||
| 659 | + try { | ||
| 660 | + pontosdistobj.linhastemp = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[0]-1,pontosdistobj.yimg[0]-1); | ||
| 661 | + } | ||
| 662 | + catch(e){ | ||
| 663 | + if(typeof(console) !== 'undefined'){console.error(e);} | ||
| 664 | + } | ||
| 609 | } | 665 | } |
| 610 | - catch(e){ | ||
| 611 | - if(typeof(console) !== 'undefined'){console.error(e);} | 666 | + else{ |
| 667 | + if(navm) | ||
| 668 | + {i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1]),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n]),pontosdistobj.yimg[n]);} | ||
| 669 | + //parece qe tem um problema de versao do ie aqui | ||
| 670 | + //if(navm) | ||
| 671 | + //{i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n]);} | ||
| 612 | } | 672 | } |
| 673 | + try{ | ||
| 674 | + pontosdistobj.linhas[n] = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1); | ||
| 675 | + } | ||
| 676 | + catch(men){ | ||
| 677 | + if(typeof(console) !== 'undefined'){console.error(men);} | ||
| 678 | + } | ||
| 679 | + m = i3GEO.calculo.area(pontosdistobj.xtela,pontosdistobj.ytela,g_areapixel); | ||
| 680 | + i3GEO.util.defineValor("mostraarea_calculo","innerHTML","<br>m2</b>= "+m.toFixed(2)+"<br><b>km2</b>= "+(m/1000000).toFixed(2)+"<br><b>ha</b>= "+(m/10000).toFixed(2)); | ||
| 681 | + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 682 | + i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","",i3GEO.configura.locaplic+"/imagens/estasel.png",6,6); | ||
| 683 | + i3GEO.desenho.insereCirculo(objposicaocursor.imgx,objposicaocursor.imgy,3,"white"); | ||
| 684 | + } | ||
| 685 | + if(i3GEO.Interface.ATUAL === "googleearth") | ||
| 686 | + {i3GEO.util.insereMarca.cria(objposicaocursor.ddx,objposicaocursor.ddy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","");} | ||
| 613 | } | 687 | } |
| 614 | - else{ | ||
| 615 | - if(navm) | ||
| 616 | - {i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1]),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n]),pontosdistobj.yimg[n]);} | ||
| 617 | - //parece qe tem um problema de versao do ie aqui | ||
| 618 | - //if(navm) | ||
| 619 | - //{i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n]);} | ||
| 620 | - } | ||
| 621 | - try{ | ||
| 622 | - pontosdistobj.linhas[n] = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1); | ||
| 623 | - } | ||
| 624 | - catch(men){ | ||
| 625 | - if(typeof(console) !== 'undefined'){console.error(men);} | ||
| 626 | - } | ||
| 627 | - m = i3GEO.calculo.area(pontosdistobj,g_areapixel); | ||
| 628 | - i3GEO.util.defineValor("mostraarea_calculo","innerHTML","<br>m2</b>= "+m.toFixed(2)+"<br><b>km2</b>= "+(m/1000000).toFixed(2)+"<br><b>ha</b>= "+(m/10000).toFixed(2)); | ||
| 629 | - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ | ||
| 630 | - i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","",i3GEO.configura.locaplic+"/imagens/estasel.png",6,6); | ||
| 631 | - i3GEO.desenho.insereCirculo(objposicaocursor.imgx,objposicaocursor.imgy,3,"white"); | ||
| 632 | - } | ||
| 633 | - if(i3GEO.Interface.ATUAL === "googleearth") | ||
| 634 | - {i3GEO.util.insereMarca.cria(objposicaocursor.ddx,objposicaocursor.ddy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","");} | ||
| 635 | - } | ||
| 636 | - }, | ||
| 637 | - /* | 688 | + }, |
| 689 | + /* | ||
| 638 | Para o calculo de area e ativa o botao "pan" | 690 | Para o calculo de area e ativa o botao "pan" |
| 639 | - */ | ||
| 640 | - paraCalculo: function(){ | ||
| 641 | - var botaoPan = $i("pan"); | ||
| 642 | - g_tipoacao = ""; | ||
| 643 | - botaoPan ? botaoPan.onclick.call() : i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 644 | - }, | ||
| 645 | - /* | 691 | + */ |
| 692 | + paraCalculo: function(){ | ||
| 693 | + var botaoPan = $i("pan"); | ||
| 694 | + g_tipoacao = ""; | ||
| 695 | + botaoPan ? botaoPan.onclick.call() : i3GEO.barraDeBotoes.ativaBotoes(); | ||
| 696 | + }, | ||
| 697 | + /* | ||
| 646 | Realiza o desenho do poligono conforme o usuario movimenta o mouse | 698 | Realiza o desenho do poligono conforme o usuario movimenta o mouse |
| 647 | - */ | ||
| 648 | - movimento: function(){ | ||
| 649 | - var n; | ||
| 650 | - if (g_tipoacao === "area"){ | ||
| 651 | - n = pontosdistobj.xpt.length; | ||
| 652 | - if (n > 0){ | ||
| 653 | - i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhastemp,1); | ||
| 654 | - i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); | 699 | + */ |
| 700 | + movimento: function(){ | ||
| 701 | + var n, | ||
| 702 | + pontosdistobj = i3GEO.analise.pontosdistobj; | ||
| 703 | + if (g_tipoacao === "area"){ | ||
| 704 | + n = pontosdistobj.xpt.length; | ||
| 705 | + if (n > 0){ | ||
| 706 | + i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhastemp,1); | ||
| 707 | + i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); | ||
| 708 | + } | ||
| 655 | } | 709 | } |
| 656 | } | 710 | } |
| 657 | } | 711 | } |
| 658 | - } | ||
| 659 | }; | 712 | }; |
| 660 | //YAHOO.log("carregou classe analise", "Classes i3geo"); | 713 | //YAHOO.log("carregou classe analise", "Classes i3geo"); |
| 661 | \ No newline at end of file | 714 | \ No newline at end of file |
classesjs/classe_calculo.js
| @@ -266,7 +266,9 @@ i3GEO.calculo = { | @@ -266,7 +266,9 @@ i3GEO.calculo = { | ||
| 266 | 266 | ||
| 267 | Parametros: | 267 | Parametros: |
| 268 | 268 | ||
| 269 | - pontos {Array} - array com a lista de pontos pontos.xtela corresponde a um array com os valores de x e pontos.ytela aos valores de y | 269 | + x {Array} - array com a lista de pontos x |
| 270 | + | ||
| 271 | + y {Array} - array com a lista de pontos y | ||
| 270 | 272 | ||
| 271 | pixel {Numeric} - área de cada pixel no mapa | 273 | pixel {Numeric} - área de cada pixel no mapa |
| 272 | 274 | ||
| @@ -275,21 +277,23 @@ i3GEO.calculo = { | @@ -275,21 +277,23 @@ i3GEO.calculo = { | ||
| 275 | Type: | 277 | Type: |
| 276 | {Numeric} | 278 | {Numeric} |
| 277 | */ | 279 | */ |
| 278 | - area: function(pontos,pixel){ | 280 | + area: function(x,y,pixel){ |
| 279 | if(typeof(console) !== 'undefined'){console.info("i3GEO.calculo.area()");} | 281 | if(typeof(console) !== 'undefined'){console.info("i3GEO.calculo.area()");} |
| 280 | - var $polygon_area,$i,$array_length; | 282 | + var n = x.length, |
| 283 | + $polygon_area,$i; | ||
| 281 | try{ | 284 | try{ |
| 282 | - if(pontos.xpt.length > 2){ | ||
| 283 | - $array_length = pontos.xpt.length; | ||
| 284 | - pontos.xtela.push(pontos.xtela[0]); | ||
| 285 | - pontos.ytela.push(pontos.ytela[0]); | 285 | + if(n > 2){ |
| 286 | + x.push(x[0]); | ||
| 287 | + y.push(y[0]); | ||
| 286 | $polygon_area = 0; | 288 | $polygon_area = 0; |
| 287 | - for ($i=0;$i < $array_length;$i+=1) | ||
| 288 | - {$polygon_area += ((pontos.xtela[$i] * pontos.ytela[$i+1])-(pontos.ytela[$i] * pontos.xtela[$i+1]));} | 289 | + for ($i=0;$i < n;$i+=1){ |
| 290 | + $polygon_area += ((x[$i] * y[$i+1])-(y[$i] * x[$i+1])); | ||
| 291 | + } | ||
| 289 | $polygon_area = Math.abs($polygon_area) / 2; | 292 | $polygon_area = Math.abs($polygon_area) / 2; |
| 290 | } | 293 | } |
| 291 | - else | ||
| 292 | - {$polygon_area = 0;} | 294 | + else{ |
| 295 | + $polygon_area = 0; | ||
| 296 | + } | ||
| 293 | return $polygon_area*pixel; | 297 | return $polygon_area*pixel; |
| 294 | } | 298 | } |
| 295 | catch(e){return (0);} | 299 | catch(e){return (0);} |
classesjs/classe_desenho.js
| @@ -40,148 +40,149 @@ Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica G | @@ -40,148 +40,149 @@ Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica G | ||
| 40 | GNU junto com este programa; se não, escreva para a | 40 | GNU junto com este programa; se não, escreva para a |
| 41 | Free Software Foundation, Inc., no endereço | 41 | Free Software Foundation, Inc., no endereço |
| 42 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 42 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| 43 | -*/ | 43 | + */ |
| 44 | if(typeof(i3GEO) === 'undefined'){ | 44 | if(typeof(i3GEO) === 'undefined'){ |
| 45 | var i3GEO = {}; | 45 | var i3GEO = {}; |
| 46 | } | 46 | } |
| 47 | i3GEO.desenho = { | 47 | i3GEO.desenho = { |
| 48 | - /* | 48 | + /* |
| 49 | Variavel: richdraw | 49 | Variavel: richdraw |
| 50 | 50 | ||
| 51 | Objeto richdraw criado por criaContainerRichdraw | 51 | Objeto richdraw criado por criaContainerRichdraw |
| 52 | 52 | ||
| 53 | Tipo: | 53 | Tipo: |
| 54 | {richdraw object} | 54 | {richdraw object} |
| 55 | - */ | ||
| 56 | - richdraw: "", | ||
| 57 | - /* | 55 | + */ |
| 56 | + richdraw: "", | ||
| 57 | + /* | ||
| 58 | Propriedade: estilos | 58 | Propriedade: estilos |
| 59 | 59 | ||
| 60 | Estilos que podem ser utilizados para desenhar os elementos | 60 | Estilos que podem ser utilizados para desenhar os elementos |
| 61 | - */ | ||
| 62 | - estilos: { | ||
| 63 | - "normal":{ | ||
| 64 | - fillcolor: 'red', | ||
| 65 | - linecolor: 'black', | ||
| 66 | - linewidth: '1', | ||
| 67 | - circcolor: 'white', | ||
| 68 | - textcolor: 'gray' | ||
| 69 | - }, | ||
| 70 | - "palido":{ | ||
| 71 | - fillcolor: 'gray', | ||
| 72 | - linecolor: 'gray', | ||
| 73 | - linewidth: '1', | ||
| 74 | - circcolor: 'gray', | ||
| 75 | - textcolor: 'gray' | ||
| 76 | - }, | ||
| 77 | - "vermelho":{ | ||
| 78 | - fillcolor: 'gray', | ||
| 79 | - linecolor: 'red', | ||
| 80 | - linewidth: '1', | ||
| 81 | - circcolor: 'pink', | ||
| 82 | - textcolor: 'brown' | 61 | + */ |
| 62 | + estilos: { | ||
| 63 | + "normal":{ | ||
| 64 | + fillcolor: 'red', | ||
| 65 | + linecolor: 'black', | ||
| 66 | + linewidth: '1', | ||
| 67 | + circcolor: 'white', | ||
| 68 | + textcolor: 'gray' | ||
| 69 | + }, | ||
| 70 | + "palido":{ | ||
| 71 | + fillcolor: 'gray', | ||
| 72 | + linecolor: 'gray', | ||
| 73 | + linewidth: '1', | ||
| 74 | + circcolor: 'gray', | ||
| 75 | + textcolor: 'gray' | ||
| 76 | + }, | ||
| 77 | + "vermelho":{ | ||
| 78 | + fillcolor: 'gray', | ||
| 79 | + linecolor: 'red', | ||
| 80 | + linewidth: '1', | ||
| 81 | + circcolor: 'pink', | ||
| 82 | + textcolor: 'brown' | ||
| 83 | + }, | ||
| 84 | + "verde":{ | ||
| 85 | + fillcolor: 'gray', | ||
| 86 | + linecolor: 'green', | ||
| 87 | + linewidth: '1', | ||
| 88 | + circcolor: 'DarkGreen', | ||
| 89 | + textcolor: 'GreenYellow' | ||
| 90 | + } | ||
| 83 | }, | 91 | }, |
| 84 | - "verde":{ | ||
| 85 | - fillcolor: 'gray', | ||
| 86 | - linecolor: 'green', | ||
| 87 | - linewidth: '1', | ||
| 88 | - circcolor: 'DarkGreen', | ||
| 89 | - textcolor: 'GreenYellow' | ||
| 90 | - } | ||
| 91 | - }, | ||
| 92 | - /* | 92 | + /* |
| 93 | Propriedade: estiloPadrao | 93 | Propriedade: estiloPadrao |
| 94 | 94 | ||
| 95 | Estilo utilizado como padrão | 95 | Estilo utilizado como padrão |
| 96 | - */ | ||
| 97 | - estiloPadrao: "normal", | ||
| 98 | - /* | ||
| 99 | - Funções utilizadas quando o mapa baseia-se na interface OpenLayers | ||
| 100 | - */ | ||
| 101 | - openlayers: { | 96 | + */ |
| 97 | + estiloPadrao: "normal", | ||
| 102 | /* | 98 | /* |
| 103 | - * Cria o layer onde os desenhos serao inseridos | 99 | + Funções utilizadas quando o mapa baseia-se na interface OpenLayers |
| 104 | */ | 100 | */ |
| 105 | - inicia: function(){ | ||
| 106 | - if(!i3GEO.desenho.layergrafico || i3GEO.desenho.layergrafico != undefined){ | ||
| 107 | - i3GEO.desenho.openlayers.criaLayerGrafico(); | ||
| 108 | - } | ||
| 109 | - }, | ||
| 110 | - //i3GEO.editorOL.layergrafico | ||
| 111 | - criaLayerGrafico: function(){ | ||
| 112 | - var sketchSymbolizers = { | ||
| 113 | - "Point": { | ||
| 114 | - fillColor: "rgb(${fillColor})", | ||
| 115 | - fillOpacity: "${opacidade}", | ||
| 116 | - strokeWidth: "${strokeWidth}", | ||
| 117 | - strokeOpacity: "${opacidade}", | ||
| 118 | - strokeColor: "rgb(${strokeColor})", | ||
| 119 | - label: "${texto}", | ||
| 120 | - pointRadius: "${pointRadius}", | ||
| 121 | - graphicName: "${graphicName}", | ||
| 122 | - fontSize: "${fontSize}", | ||
| 123 | - fontColor: "rgb(${fontColor})", | ||
| 124 | - fontFamily: "Arial", | ||
| 125 | - fontWeight: "normal", | ||
| 126 | - labelAlign: "lb", | ||
| 127 | - labelXOffset: "3", | ||
| 128 | - labelYOffset: "3", | ||
| 129 | - externalGraphic: "${externalGraphic}" | ||
| 130 | - }, | ||
| 131 | - "Line": { | ||
| 132 | - strokeWidth: "${strokeWidth}", | ||
| 133 | - strokeOpacity: "${opacidade}", | ||
| 134 | - strokeColor: "rgb(${strokeColor})" | ||
| 135 | - }, | ||
| 136 | - "Polygon": { | ||
| 137 | - strokeWidth: "${strokeWidth}", | ||
| 138 | - strokeOpacity: "${opacidade}", | ||
| 139 | - strokeColor: "rgb(${strokeColor})", | ||
| 140 | - fillColor: "rgb(${fillColor})", | ||
| 141 | - fillOpacity: "${opacidade}", | ||
| 142 | - zIndex: 5000 | ||
| 143 | - } | 101 | + openlayers: { |
| 102 | + /* | ||
| 103 | + * Cria o layer onde os desenhos serao inseridos | ||
| 104 | + */ | ||
| 105 | + inicia: function(){ | ||
| 106 | + if(!i3GEO.desenho.layergrafico || i3GEO.desenho.layergrafico != undefined){ | ||
| 107 | + i3GEO.desenho.openlayers.criaLayerGrafico(); | ||
| 108 | + } | ||
| 109 | + }, | ||
| 110 | + //i3GEO.editorOL.layergrafico | ||
| 111 | + criaLayerGrafico: function(){ | ||
| 112 | + var sketchSymbolizers = { | ||
| 113 | + "Point": { | ||
| 114 | + fillColor: "rgb(${fillColor})", | ||
| 115 | + fillOpacity: "${opacidade}", | ||
| 116 | + strokeWidth: "${strokeWidth}", | ||
| 117 | + strokeOpacity: "${opacidade}", | ||
| 118 | + strokeColor: "rgb(${strokeColor})", | ||
| 119 | + label: "${texto}", | ||
| 120 | + pointRadius: "${pointRadius}", | ||
| 121 | + graphicName: "${graphicName}", | ||
| 122 | + fontSize: "${fontSize}", | ||
| 123 | + fontColor: "rgb(${fontColor})", | ||
| 124 | + fontFamily: "Arial", | ||
| 125 | + fontWeight: "normal", | ||
| 126 | + labelAlign: "lb", | ||
| 127 | + labelXOffset: "3", | ||
| 128 | + labelYOffset: "3", | ||
| 129 | + externalGraphic: "${externalGraphic}" | ||
| 130 | + }, | ||
| 131 | + "Line": { | ||
| 132 | + strokeWidth: "${strokeWidth}", | ||
| 133 | + strokeOpacity: "${opacidade}", | ||
| 134 | + strokeColor: "rgb(${strokeColor})" | ||
| 135 | + }, | ||
| 136 | + "Polygon": { | ||
| 137 | + strokeWidth: "${strokeWidth}", | ||
| 138 | + strokeOpacity: "${opacidade}", | ||
| 139 | + strokeColor: "rgb(${strokeColor})", | ||
| 140 | + fillColor: "rgb(${fillColor})", | ||
| 141 | + fillOpacity: "${opacidade}", | ||
| 142 | + zIndex: 5000 | ||
| 143 | + } | ||
| 144 | }, | 144 | }, |
| 145 | style = new OpenLayers.Style(), | 145 | style = new OpenLayers.Style(), |
| 146 | styleMap1 = new OpenLayers.StyleMap( | 146 | styleMap1 = new OpenLayers.StyleMap( |
| 147 | - { | ||
| 148 | - "default": style, | ||
| 149 | - "vertex": { | ||
| 150 | - strokeOpacity: 1, | ||
| 151 | - strokeWidth: 1, | ||
| 152 | - fillColor: "white", | ||
| 153 | - fillOpacity: 0.45, | ||
| 154 | - pointRadius: 4 | ||
| 155 | - } | ||
| 156 | - }, | ||
| 157 | - { | ||
| 158 | - extendDefault: false | ||
| 159 | - } | 147 | + { |
| 148 | + "default": style, | ||
| 149 | + "vertex": { | ||
| 150 | + strokeOpacity: 1, | ||
| 151 | + strokeWidth: 1, | ||
| 152 | + fillColor: "white", | ||
| 153 | + fillOpacity: 0.45, | ||
| 154 | + pointRadius: 4 | ||
| 155 | + } | ||
| 156 | + }, | ||
| 157 | + { | ||
| 158 | + extendDefault: false | ||
| 159 | + } | ||
| 160 | ), | 160 | ), |
| 161 | renderer = OpenLayers.Util.getParameters(window.location.href).renderer; | 161 | renderer = OpenLayers.Util.getParameters(window.location.href).renderer; |
| 162 | - | ||
| 163 | - style.addRules([ | ||
| 164 | - new OpenLayers.Rule({symbolizer: sketchSymbolizers}) | ||
| 165 | - ]); | ||
| 166 | - renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers; | ||
| 167 | - i3GEO.desenho.layergrafico = new OpenLayers.Layer.Vector("Edição",{ | ||
| 168 | - styleMap: styleMap1, | ||
| 169 | - displayInLayerSwitcher:true, | ||
| 170 | - visibility:true, | ||
| 171 | - renderers: renderer, | ||
| 172 | - vertexRenderIntent: "vertex" | 162 | + |
| 163 | + style.addRules( | ||
| 164 | + [new OpenLayers.Rule({symbolizer: sketchSymbolizers})] | ||
| 165 | + ); | ||
| 166 | + renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers; | ||
| 167 | + i3GEO.desenho.layergrafico = new OpenLayers.Layer.Vector( | ||
| 168 | + "Edição",{ | ||
| 169 | + styleMap: styleMap1, | ||
| 170 | + displayInLayerSwitcher:true, | ||
| 171 | + visibility:true, | ||
| 172 | + renderers: renderer, | ||
| 173 | + vertexRenderIntent: "vertex" | ||
| 174 | + } | ||
| 175 | + ); | ||
| 176 | + //para efeitos de compatibilidade | ||
| 177 | + if(i3GEO.editorOL.mapa){ | ||
| 178 | + i3GEO.editorOL.mapa.addLayers([i3GEO.desenho.layergrafico]); | ||
| 179 | + } | ||
| 180 | + else{ | ||
| 181 | + i3geoOL.addLayers([i3GEO.desenho.layergrafico]); | ||
| 173 | } | 182 | } |
| 174 | - ); | ||
| 175 | - //para efeitos de compatibilidade | ||
| 176 | - if(i3GEO.editorOL.mapa){ | ||
| 177 | - i3GEO.editorOL.mapa.addLayers([i3GEO.desenho.layergrafico]); | ||
| 178 | - } | ||
| 179 | - else{ | ||
| 180 | - i3geoOL.addLayers([i3GEO.desenho.layergrafico]); | ||
| 181 | } | 183 | } |
| 182 | - } | ||
| 183 | - }, | ||
| 184 | - /* | 184 | + }, |
| 185 | + /* | ||
| 185 | Cria os elementos 'dom' necessários ao uso das funções de desenho sobre o mapa. | 186 | Cria os elementos 'dom' necessários ao uso das funções de desenho sobre o mapa. |
| 186 | 187 | ||
| 187 | As ferramentas de cálculo de distâncias e áreas utilizam esse container. | 188 | As ferramentas de cálculo de distâncias e áreas utilizam esse container. |
| @@ -195,64 +196,64 @@ i3GEO.desenho = { | @@ -195,64 +196,64 @@ i3GEO.desenho = { | ||
| 195 | Essa função cria também o objeto pontosdistobj que é utilizado para armazenar | 196 | Essa função cria também o objeto pontosdistobj que é utilizado para armazenar |
| 196 | os dados obtidos da movimentação do mouse sobre o mapa | 197 | os dados obtidos da movimentação do mouse sobre o mapa |
| 197 | 198 | ||
| 198 | - */ | ||
| 199 | - criaContainerRichdraw: function(){ | ||
| 200 | - if(typeof(console) !== 'undefined'){console.info("i3GEO.desenho.criaContainerRichdraw()");} | ||
| 201 | - pontosdistobj = { | ||
| 202 | - xpt: [], | ||
| 203 | - ypt: [], | ||
| 204 | - dist: [], | ||
| 205 | - distV: [], | ||
| 206 | - xtela: [], | ||
| 207 | - ytela: [], | ||
| 208 | - ximg: [], | ||
| 209 | - yimg: [], | ||
| 210 | - linhas: [] | ||
| 211 | - }; | ||
| 212 | - if(i3GEO.Interface.ATUAL === "googleearth") | ||
| 213 | - {return;} | ||
| 214 | - try{ | ||
| 215 | - var divgeo,renderer; | ||
| 216 | - divgeo = i3GEO.desenho.criaDivContainer(); | ||
| 217 | - divgeo.innerHTML = ""; | ||
| 218 | - // | ||
| 219 | - //cria o objeto renderer conforme o browser em uso | ||
| 220 | - //esse objeto será utilizado nas funções de desenho | ||
| 221 | - //mais detalhes, veja em pacotes/richdraw | ||
| 222 | - //Conforme a resposta do navegador, utiliza-se a criação VML ou SVG | ||
| 223 | - // | 199 | + */ |
| 200 | + criaContainerRichdraw: function(){ | ||
| 201 | + if(typeof(console) !== 'undefined'){console.info("i3GEO.desenho.criaContainerRichdraw()");} | ||
| 202 | + i3GEO.analise.pontosdistobj = { | ||
| 203 | + xpt: [], | ||
| 204 | + ypt: [], | ||
| 205 | + dist: [], | ||
| 206 | + distV: [], | ||
| 207 | + xtela: [], | ||
| 208 | + ytela: [], | ||
| 209 | + ximg: [], | ||
| 210 | + yimg: [], | ||
| 211 | + linhas: [] | ||
| 212 | + }; | ||
| 213 | + if(i3GEO.Interface.ATUAL === "googleearth") | ||
| 214 | + {return;} | ||
| 224 | try{ | 215 | try{ |
| 225 | - renderer = new VMLRenderer(); | ||
| 226 | - i3GEO.desenho.richdraw = new RichDrawEditor(divgeo, renderer); | ||
| 227 | - } | ||
| 228 | - catch(erro){ | ||
| 229 | - renderer = new SVGRenderer(); | ||
| 230 | - i3GEO.desenho.richdraw = new RichDrawEditor(divgeo, renderer); | ||
| 231 | - renderer.svgRoot.style.width = divgeo.style.width; | ||
| 232 | - renderer.svgRoot.style.height = divgeo.style.height; | ||
| 233 | - } | ||
| 234 | - // | ||
| 235 | - //definição dos símbolos default para os elementos gráficos | ||
| 236 | - // | ||
| 237 | - i3GEO.desenho.definePadrao(i3GEO.desenho.estiloPadrao); | ||
| 238 | - i3GEO.desenho.richdraw.editCommand('mode', 'line'); | ||
| 239 | - divgeo.style.display="block"; | ||
| 240 | - // | ||
| 241 | - //após o container ser criado, é necessário que as funções | ||
| 242 | - //de clique sobre o mapa sejam ativadas | ||
| 243 | - //para funcionarem sobre o container | ||
| 244 | - // | ||
| 245 | - i3GEO.eventos.ativa(divgeo); | ||
| 246 | - if($i("localizarxygeoProjxg")){ | ||
| 247 | - var temp = function(){ | ||
| 248 | - i3GEO.coordenadas.atualizaGeo(objposicaocursor.dmsx,objposicaocursor.dmsy,"localizarxygeoProj"); | ||
| 249 | - }; | ||
| 250 | - YAHOO.util.Event.addListener(divgeo,"mousemove", temp); | 216 | + var divgeo,renderer; |
| 217 | + divgeo = i3GEO.desenho.criaDivContainer(); | ||
| 218 | + divgeo.innerHTML = ""; | ||
| 219 | + // | ||
| 220 | + //cria o objeto renderer conforme o browser em uso | ||
| 221 | + //esse objeto será utilizado nas funções de desenho | ||
| 222 | + //mais detalhes, veja em pacotes/richdraw | ||
| 223 | + //Conforme a resposta do navegador, utiliza-se a criação VML ou SVG | ||
| 224 | + // | ||
| 225 | + try{ | ||
| 226 | + renderer = new VMLRenderer(); | ||
| 227 | + i3GEO.desenho.richdraw = new RichDrawEditor(divgeo, renderer); | ||
| 228 | + } | ||
| 229 | + catch(erro){ | ||
| 230 | + renderer = new SVGRenderer(); | ||
| 231 | + i3GEO.desenho.richdraw = new RichDrawEditor(divgeo, renderer); | ||
| 232 | + renderer.svgRoot.style.width = divgeo.style.width; | ||
| 233 | + renderer.svgRoot.style.height = divgeo.style.height; | ||
| 234 | + } | ||
| 235 | + // | ||
| 236 | + //definição dos símbolos default para os elementos gráficos | ||
| 237 | + // | ||
| 238 | + i3GEO.desenho.definePadrao(i3GEO.desenho.estiloPadrao); | ||
| 239 | + i3GEO.desenho.richdraw.editCommand('mode', 'line'); | ||
| 240 | + divgeo.style.display="block"; | ||
| 241 | + // | ||
| 242 | + //após o container ser criado, é necessário que as funções | ||
| 243 | + //de clique sobre o mapa sejam ativadas | ||
| 244 | + //para funcionarem sobre o container | ||
| 245 | + // | ||
| 246 | + i3GEO.eventos.ativa(divgeo); | ||
| 247 | + if($i("localizarxygeoProjxg")){ | ||
| 248 | + var temp = function(){ | ||
| 249 | + i3GEO.coordenadas.atualizaGeo(objposicaocursor.dmsx,objposicaocursor.dmsy,"localizarxygeoProj"); | ||
| 250 | + }; | ||
| 251 | + YAHOO.util.Event.addListener(divgeo,"mousemove", temp); | ||
| 252 | + } | ||
| 251 | } | 253 | } |
| 252 | - } | ||
| 253 | - catch(men){alert("Erro ao tentar criar container richdraw "+men);} | ||
| 254 | - }, | ||
| 255 | - /* | 254 | + catch(men){alert("Erro ao tentar criar container richdraw "+men);} |
| 255 | + }, | ||
| 256 | + /* | ||
| 256 | Cria o elemento DIV que será utilizado para renderizar os elementos gráficos. | 257 | Cria o elemento DIV que será utilizado para renderizar os elementos gráficos. |
| 257 | Nesse DIV serão incluídos os elementos de desenho em SVG ou VML | 258 | Nesse DIV serão incluídos os elementos de desenho em SVG ou VML |
| 258 | 259 | ||
| @@ -261,39 +262,39 @@ i3GEO.desenho = { | @@ -261,39 +262,39 @@ i3GEO.desenho = { | ||
| 261 | Return: | 262 | Return: |
| 262 | 263 | ||
| 263 | DOM object | 264 | DOM object |
| 264 | - */ | ||
| 265 | - criaDivContainer: function(){ | ||
| 266 | - desenhoUltimaLinha = ""; | ||
| 267 | - desenhoUltimaLinhaPol = ""; | ||
| 268 | - if (!$i("divGeometriasTemp")){ | ||
| 269 | - var pos,novoel,ne; | ||
| 270 | - // | ||
| 271 | - //pega a posição da imagem do mapa para posicionar corretamente o container | ||
| 272 | - // | ||
| 273 | - pos = [0,0]; | ||
| 274 | - pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 275 | - // | ||
| 276 | - //cria o container | ||
| 277 | - // | ||
| 278 | - novoel = document.createElement("div"); | ||
| 279 | - novoel.id = "divGeometriasTemp"; | ||
| 280 | - ne = novoel.style; | ||
| 281 | - ne.cursor="crosshair"; | ||
| 282 | - ne.zIndex=0; | ||
| 283 | - if(i3GEO.Interface.TABLET === true) | ||
| 284 | - {ne.zIndex=5000;} | ||
| 285 | - ne.position="absolute"; | ||
| 286 | - ne.width=i3GEO.parametros.w + "px"; | ||
| 287 | - ne.height=i3GEO.parametros.h + "px"; | ||
| 288 | - ne.border="0px solid black"; | ||
| 289 | - ne.display="none"; | ||
| 290 | - ne.top=pos[1] + "px"; | ||
| 291 | - ne.left=pos[0] + "px"; | ||
| 292 | - document.body.appendChild(novoel); | ||
| 293 | - } | ||
| 294 | - return ($i("divGeometriasTemp")); | ||
| 295 | - }, | ||
| 296 | - /* | 265 | + */ |
| 266 | + criaDivContainer: function(){ | ||
| 267 | + desenhoUltimaLinha = ""; | ||
| 268 | + desenhoUltimaLinhaPol = ""; | ||
| 269 | + if (!$i("divGeometriasTemp")){ | ||
| 270 | + var pos,novoel,ne; | ||
| 271 | + // | ||
| 272 | + //pega a posição da imagem do mapa para posicionar corretamente o container | ||
| 273 | + // | ||
| 274 | + pos = [0,0]; | ||
| 275 | + pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 276 | + // | ||
| 277 | + //cria o container | ||
| 278 | + // | ||
| 279 | + novoel = document.createElement("div"); | ||
| 280 | + novoel.id = "divGeometriasTemp"; | ||
| 281 | + ne = novoel.style; | ||
| 282 | + ne.cursor="crosshair"; | ||
| 283 | + ne.zIndex=0; | ||
| 284 | + if(i3GEO.Interface.TABLET === true) | ||
| 285 | + {ne.zIndex=5000;} | ||
| 286 | + ne.position="absolute"; | ||
| 287 | + ne.width=i3GEO.parametros.w + "px"; | ||
| 288 | + ne.height=i3GEO.parametros.h + "px"; | ||
| 289 | + ne.border="0px solid black"; | ||
| 290 | + ne.display="none"; | ||
| 291 | + ne.top=pos[1] + "px"; | ||
| 292 | + ne.left=pos[0] + "px"; | ||
| 293 | + document.body.appendChild(novoel); | ||
| 294 | + } | ||
| 295 | + return ($i("divGeometriasTemp")); | ||
| 296 | + }, | ||
| 297 | + /* | ||
| 297 | Desenha ou reposiciona elementos na tela usando a biblioteca richdraw | 298 | Desenha ou reposiciona elementos na tela usando a biblioteca richdraw |
| 298 | 299 | ||
| 299 | Parametros: | 300 | Parametros: |
| @@ -305,45 +306,46 @@ i3GEO.desenho = { | @@ -305,45 +306,46 @@ i3GEO.desenho = { | ||
| 305 | n {numeric} - índice do elemento no array pontosdistobj | 306 | n {numeric} - índice do elemento no array pontosdistobj |
| 306 | 307 | ||
| 307 | texto {string} - texto que será inserido no tipo "insereTexto" | 308 | texto {string} - texto que será inserido no tipo "insereTexto" |
| 308 | - */ | ||
| 309 | - aplica: function(tipo,objeto,n,texto){ | ||
| 310 | - var dy,dx,w,c; | ||
| 311 | - if(i3GEO.desenho.richdraw && $i(i3GEO.Interface.IDCORPO)){ | ||
| 312 | - //pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 313 | - // | ||
| 314 | - //faz o reposicionamento de linhas quando o mouse é movido e a linha está ativa | ||
| 315 | - // | ||
| 316 | - if((tipo==="resizeLinha") || (tipo==="resizePoligono")){ | ||
| 317 | - try | ||
| 318 | - {i3GEO.desenho.richdraw.renderer.resize(objeto,0,0,objposicaocursor.imgx,objposicaocursor.imgy);} | ||
| 319 | - catch(erro){ | ||
| 320 | - if(typeof(console) !== 'undefined'){console.error("i3GEO.desenho "+erro);} | ||
| 321 | - } | ||
| 322 | - } | ||
| 323 | - if(tipo==="insereCirculo"){ | ||
| 324 | - dx = Math.pow(((pontosdistobj.xtela[n])*1) - ((pontosdistobj.xtela[n-1])*1),2); | ||
| 325 | - dy = Math.pow(((pontosdistobj.ytela[n])*1) - ((pontosdistobj.ytela[n-1])*1),2); | ||
| 326 | - w = Math.sqrt(dx + dy); | ||
| 327 | - c = ""; | ||
| 328 | - if(navn){ | ||
| 329 | - c = 'rgba(255,255,255,0'; | 309 | + */ |
| 310 | + aplica: function(tipo,objeto,n,texto){ | ||
| 311 | + var dy,dx,w,c, | ||
| 312 | + pontosdistobj = i3GEO.analise.pontosdistobj; | ||
| 313 | + if(i3GEO.desenho.richdraw && $i(i3GEO.Interface.IDCORPO)){ | ||
| 314 | + //pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | ||
| 315 | + // | ||
| 316 | + //faz o reposicionamento de linhas quando o mouse é movido e a linha está ativa | ||
| 317 | + // | ||
| 318 | + if((tipo==="resizeLinha") || (tipo==="resizePoligono")){ | ||
| 319 | + try | ||
| 320 | + {i3GEO.desenho.richdraw.renderer.resize(objeto,0,0,objposicaocursor.imgx,objposicaocursor.imgy);} | ||
| 321 | + catch(erro){ | ||
| 322 | + if(typeof(console) !== 'undefined'){console.error("i3GEO.desenho "+erro);} | ||
| 323 | + } | ||
| 330 | } | 324 | } |
| 331 | - if(chro){ | 325 | + if(tipo==="insereCirculo"){ |
| 326 | + dx = Math.pow(((pontosdistobj.xtela[n])*1) - ((pontosdistobj.xtela[n-1])*1),2); | ||
| 327 | + dy = Math.pow(((pontosdistobj.ytela[n])*1) - ((pontosdistobj.ytela[n-1])*1),2); | ||
| 328 | + w = Math.sqrt(dx + dy); | ||
| 332 | c = ""; | 329 | c = ""; |
| 330 | + if(navn){ | ||
| 331 | + c = 'rgba(255,255,255,0'; | ||
| 332 | + } | ||
| 333 | + if(chro){ | ||
| 334 | + c = ""; | ||
| 335 | + } | ||
| 336 | + i3GEO.desenho.insereCirculo(pontosdistobj.ximg[n-1],pontosdistobj.yimg[n-1],w,c); | ||
| 333 | } | 337 | } |
| 334 | - i3GEO.desenho.insereCirculo(pontosdistobj.ximg[n-1],pontosdistobj.yimg[n-1],w,c); | ||
| 335 | - } | ||
| 336 | - if(tipo==="insereTexto"){ | ||
| 337 | - try{ | ||
| 338 | - i3GEO.desenho.richdraw.renderer.create('text', '', i3GEO.desenho.richdraw.textColor, 1, pontosdistobj.ximg[n-1],pontosdistobj.yimg[n-1],"","",texto); | ||
| 339 | - } | ||
| 340 | - catch(men){ | ||
| 341 | - if(typeof(console) !== 'undefined'){console.error("i3GEO.desenho "+men);} | 338 | + if(tipo==="insereTexto"){ |
| 339 | + try{ | ||
| 340 | + i3GEO.desenho.richdraw.renderer.create('text', '', i3GEO.desenho.richdraw.textColor, 1, pontosdistobj.ximg[n-1],pontosdistobj.yimg[n-1],"","",texto); | ||
| 341 | + } | ||
| 342 | + catch(men){ | ||
| 343 | + if(typeof(console) !== 'undefined'){console.error("i3GEO.desenho "+men);} | ||
| 344 | + } | ||
| 342 | } | 345 | } |
| 343 | } | 346 | } |
| 344 | - } | ||
| 345 | - }, | ||
| 346 | - /* | 347 | + }, |
| 348 | + /* | ||
| 347 | Insere um circulo no container de elementos gráficos | 349 | Insere um circulo no container de elementos gráficos |
| 348 | 350 | ||
| 349 | Parametros: | 351 | Parametros: |
| @@ -353,53 +355,53 @@ i3GEO.desenho = { | @@ -353,53 +355,53 @@ i3GEO.desenho = { | ||
| 353 | y {numerico} - posição do ponto em coordenadas de imagem | 355 | y {numerico} - posição do ponto em coordenadas de imagem |
| 354 | 356 | ||
| 355 | w {numerico} - raio do círculo em pixels | 357 | w {numerico} - raio do círculo em pixels |
| 356 | - | 358 | + |
| 357 | b {string} - cor do fundo | 359 | b {string} - cor do fundo |
| 358 | - */ | ||
| 359 | - insereCirculo: function(x,y,w,b){ | ||
| 360 | - if(!b){ | ||
| 361 | - b = ""; | ||
| 362 | - } | ||
| 363 | - try{ | ||
| 364 | - i3GEO.desenho.richdraw.renderer.create('circ', b, i3GEO.desenho.richdraw.circColor, i3GEO.desenho.richdraw.lineWidth, x,y,w,w); | ||
| 365 | - } | ||
| 366 | - catch(men){ | ||
| 367 | - if(typeof(console) !== 'undefined'){console.error(men);} | ||
| 368 | - } | ||
| 369 | - }, | ||
| 370 | - /* | 360 | + */ |
| 361 | + insereCirculo: function(x,y,w,b){ | ||
| 362 | + if(!b){ | ||
| 363 | + b = ""; | ||
| 364 | + } | ||
| 365 | + try{ | ||
| 366 | + i3GEO.desenho.richdraw.renderer.create('circ', b, i3GEO.desenho.richdraw.circColor, i3GEO.desenho.richdraw.lineWidth, x,y,w,w); | ||
| 367 | + } | ||
| 368 | + catch(men){ | ||
| 369 | + if(typeof(console) !== 'undefined'){console.error(men);} | ||
| 370 | + } | ||
| 371 | + }, | ||
| 372 | + /* | ||
| 371 | Aplica um determinado padrao de estilos para os novos elementos que serão adicionados | 373 | Aplica um determinado padrao de estilos para os novos elementos que serão adicionados |
| 372 | 374 | ||
| 373 | Parametro: | 375 | Parametro: |
| 374 | 376 | ||
| 375 | padrao {string} - nome do estilo | 377 | padrao {string} - nome do estilo |
| 376 | - */ | ||
| 377 | - definePadrao: function(padrao){ | ||
| 378 | - padrao = i3GEO.desenho.estilos[padrao]; | ||
| 379 | - i3GEO.desenho.richdraw.editCommand('fillcolor', padrao.fillcolor); | ||
| 380 | - i3GEO.desenho.richdraw.editCommand('linecolor', padrao.linecolor); | ||
| 381 | - i3GEO.desenho.richdraw.editCommand('linewidth', padrao.linewidth); | ||
| 382 | - i3GEO.desenho.richdraw.editCommand('circcolor', padrao.circcolor); | ||
| 383 | - i3GEO.desenho.richdraw.editCommand('textcolor', padrao.textcolor); | ||
| 384 | - }, | ||
| 385 | - /* | 378 | + */ |
| 379 | + definePadrao: function(padrao){ | ||
| 380 | + padrao = i3GEO.desenho.estilos[padrao]; | ||
| 381 | + i3GEO.desenho.richdraw.editCommand('fillcolor', padrao.fillcolor); | ||
| 382 | + i3GEO.desenho.richdraw.editCommand('linecolor', padrao.linecolor); | ||
| 383 | + i3GEO.desenho.richdraw.editCommand('linewidth', padrao.linewidth); | ||
| 384 | + i3GEO.desenho.richdraw.editCommand('circcolor', padrao.circcolor); | ||
| 385 | + i3GEO.desenho.richdraw.editCommand('textcolor', padrao.textcolor); | ||
| 386 | + }, | ||
| 387 | + /* | ||
| 386 | Cria uma caixa de seleção para escolha do estilo a ser utilizado | 388 | Cria uma caixa de seleção para escolha do estilo a ser utilizado |
| 387 | - */ | ||
| 388 | - caixaEstilos: function(){ | ||
| 389 | - var lista = i3GEO.util.listaChaves(i3GEO.desenho.estilos), | 389 | + */ |
| 390 | + caixaEstilos: function(){ | ||
| 391 | + var lista = i3GEO.util.listaChaves(i3GEO.desenho.estilos), | ||
| 390 | n = lista.length, | 392 | n = lista.length, |
| 391 | i, | 393 | i, |
| 392 | caixa, | 394 | caixa, |
| 393 | sel; | 395 | sel; |
| 394 | - caixa = "<select onchange='i3GEO.desenho.definePadrao(this.value)'>"; | ||
| 395 | - for(i=0;i<n;i+=1){ | ||
| 396 | - sel = ""; | ||
| 397 | - if(lista[i] === i3GEO.desenho.estiloPadrao) | ||
| 398 | - {sel = "select";} | ||
| 399 | - caixa += "<option value='"+lista[i]+"'" + sel + ">"+lista[i]+"</option>"; | 396 | + caixa = "<select onchange='i3GEO.desenho.definePadrao(this.value)'>"; |
| 397 | + for(i=0;i<n;i+=1){ | ||
| 398 | + sel = ""; | ||
| 399 | + if(lista[i] === i3GEO.desenho.estiloPadrao) | ||
| 400 | + {sel = "select";} | ||
| 401 | + caixa += "<option value='"+lista[i]+"'" + sel + ">"+lista[i]+"</option>"; | ||
| 402 | + } | ||
| 403 | + caixa += "</select>"; | ||
| 404 | + return caixa; | ||
| 400 | } | 405 | } |
| 401 | - caixa += "</select>"; | ||
| 402 | - return caixa; | ||
| 403 | - } | ||
| 404 | }; | 406 | }; |
| 405 | -//YAHOO.log("carregou classe desenho", "Classes i3geo"); | ||
| 406 | \ No newline at end of file | 407 | \ No newline at end of file |
| 408 | +//YAHOO.log("carregou classe desenho", "Classes i3geo"); |