JavaScript para calcular distâncias entre 2 coordenadas 5
/*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
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 commentsComparando datas com JavaScript
<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" />
