Não reiventem a roda.
A maioria dos sistemas que tratam dados geolocalizados, seja no servidor ou no cliente (Android, neste caso) já possuem essas funções prontas e testadas.
2012/11/7 Rogerio Esteves <rolives@gmail.com>
Será que isso resolve?--double CalculateDistance( double nLat1, double nLon1, double nLat2, double nLon2 ) { double nRadius = 6371; // Earth's radius in Kilometers // Get the difference between our two points // then convert the difference into radians double nDLat = ToRad(nLat2 - nLat1); double nDLon = ToRad(nLon2 - nLon1); // Here is the new line nLat1 = ToRad(nLat1); nLat2 = ToRad(nLat2); double nA = pow ( sin(nDLat/2), 2 ) + cos(nLat1) * cos(nLat2) * pow ( sin(nDLon/2), 2 ); double nC = 2 * atan2( sqrt(nA), sqrt( 1 - nA )); double nD = nRadius * nC; return nD; // Return our calculated distance }
Em quarta-feira, 7 de novembro de 2012 09h55min07s UTC-2, Rogerio Esteves escreveu:Bom dia Pessoal,Existe uma maneira de eu calcular um raio de 1Km de uma posição especifica de latitude e longitude? Qual a melhor forma?






0 comentários:
Postar um comentário