como calcular a distância entre dois pontos no aplicativo Android

No meu aplicativo, estou tentando calcular a distância que uma pessoa viaja de um lugar para outro. Para isso, estou usando a fórmula Haversine,

R = earth’s radius (mean radius = 6,371km)
Δlat = lat2− lat1
Δlong = long2− long1
a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2)
c = 2.atan2(√a, √(1−a))
d = R.c 

getting a latitude e longitude do ponto de partida e do ponto de chegada, estou calculando a distância em kms. Mas outros dizem que esse cálculo de distância funciona apenas se for percorrido pelas vias aéreas e get varia se o usuário viaja pelas estrada

Se for assim, como posso obter uma distância correta enquanto viajo pelas estrada

por favor me ajude amigos

questionAnswers(6)

yourAnswerToTheQuestion