JavaScript para calcular distâncias entre 2 coordenadas 5

January 18th, 2008 | Category: blog
/*Os valores da latitude e longitude tem de ser passados já convertidos para segundos.
      para fazer isso basta fazer, por exemplo, para converter  23:50:01 em segundos:
      23*60*60 + 50*60 + 01 = 85801 segundos.
*/
public double distancia (int latitudeOrigem, int longitudeOrigem, int latitudeDestino, int longitudeDestino){
      double circTerra=40030; // Circunferência da Terra (em kilômetros)
      double latitudeO = (double) latitudeOrigem / 3600;
      double longitudeO = (double) longitudeOrigem / 3600;
      double latitudeD = (double) latitudeDestino / 3600;
      double longitudeD = (double) longitudeDestino / 3600;
      double a = longitudeO - longitudeD;
      double c = 90.0 - latitudeO;
      double b = 90.0 - latitudeD;
      double aCosA =  (Math.acos(Math.cos(radiano(b)) * Math.cos(radiano(c)) + Math.sin(radiano(b)) * Math.sin(radiano(c)) * Math.cos(radiano(a))) * 180 / Math.PI);
      return(aCosA * circTerra / 360);
   }
No comments

Ext Gui Builder - Um criador de interfaces para o extjs

December 19th, 2007 | Category: Uncategorized

Ext Gui Builder

No endereço acima você pode acessar um ótimo criador de interfaces para o extjs, com ele você obtém o código .js utilizando somente o mouse, no melhor estilo drag-and-drop, para criar suas interfaces web 2.0.

No comments

Comparando datas com JavaScript

September 19th, 2007 | Category: Uncategorized
<script language="javascript">
    /*
    Autor.......: Kenneth R. B. Carletto
    Contato.....: MSN(keno_brow@msn.com) E-Mail(chorao.info@gmail.com)
    Data........: 20/08/07
    Finalidade..: Função que retorna qual das duas datas (passadas como parametro)
                  é maior, baseada no objeto Date e sua funcao getTime();
    */
 
    // gE('idElemento'): Simplesmente retorna uma referencia ao objeto 'idElemento'
    function gE(idElemento){
        return document.getElementById(idElemento);
    }
 
    function dataMaior(dt1,dt2){
        // dt1 e dt2: Devem ser tipo String, para evitar confusao de tipos
        if(typeof dt1 != "string" ||
           typeof dt2 != "string"){
            alert("As datas devem ser passadas como strings");
            return false;
        }
 
        // dt1 e dt2: Alem de strings, dt1 e dt2 devem obedecer aos formatos de data do Brasil (dd/mm/aa ou dd/mm/aaaa)
        padrao = /d{2}/d{2}/(?:d{2}|d{4})/;
        if(!padrao.test(dt1) ||
           !padrao.test(dt2)){
            alert("Formato de data invalido.nUtilize dd/mm/aa ou dd/mm/aaaa");
            return false;
        }
 
        // Instanciamos as datas, para poder usar getTime();
        data1 = new Date(dt1);
        data2 = new Date(dt2);
        if(!data1 || !data2){
            alert("Erro ao criar objetos");
            return false;
        }
 
        // milliSegundos1: irá conter a quantidade de segundos corridos desde 1/1/1970 0h ate dt1
        milliSegundos1 = data1.getTime();
        // milliSegundos2: irá conter a quantidade de segundos corridos desde 1/1/1970 0h ate dt2
        milliSegundos2 = data2.getTime();
 
        // Comparando millisegundos para retornar a conclusão de quem é maior que quem...
        if(milliSegundos1 == milliSegundos2){
            alert("As datas são iguais");
            return true;
        } else if(milliSegundos1 > milliSegundos2){
            alert("Data 1 maior que data 2");
            return true;
        } else if(milliSegundos1 < milliSegundos2){
            alert("Data 2 maior que data 1");
            return true;
        } else return false;
    }
</script>
<input name="tdt1" value="10/01/07" type="text" />
<input name="tdt2" value="10/02/07" type="text" />
<input value="Maior" onclick="dataMaior(gE('tdt1').value,gE('tdt2').value)" type="button" />
No comments