Segue o método responsável pelo calculo, basta passar as duas coordenadas, latitude e longitude origem e destino. O retorno será em metros.
private double calculaDistancia(double lat1, double lng1, double lat2, double lng2) { //double earthRadius = 3958.75;//miles double earthRadius = 6371;//kilometers double dLat = Math.toRadians(lat2 - lat1); double dLng = Math.toRadians(lng2 - lng1); double sindLat = Math.sin(dLat / 2); double sindLng = Math.sin(dLng / 2); double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2) * Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); double dist = earthRadius * c; return dist * 1000; //em metros }
Android / Java – Como calcular distância entre dois pontos GPS
Obrigado ajudou bastante! S2
Fala cara. Primeiramente obrigado pela postagem. Só uma dúvida: Esse cálculo é em linha reta ou distância terrestre? Valeu
Tudo bem Gregori, o calculo é em linha reta, de ponto a ponto levando em consideração a curvatura terrestre.
Muito obrigado, ajudou muito!
preciso calcular distancia entre pontos do meu GPS