Я использую этот код для расчета расстояния между двумя точками.Я использую формулу Хаверсайна
private double CalcDistance(Location Start, Location End)
{
// TODO Auto-generated method stub
double distance;
double lat1 = Start.getLatitude();
double lat2 = End.getLatitude();
double lng1 = Start.getLongitude();
double lng2 = End.getLongitude();
double dLat = Math.abs(Math.toRadians(lat2-lat1));
double dLng = Math.abs(Math.toRadians(lng2 - lng1));
distance = Math.sin(dLat/2) * Math.sin(dLng/2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
Math.sin(dLng/2) * Math.sin(dLng/2);
double c = 2 * Math.asin(Math.sqrt(distance));
//Return the answer in Kilometre (6371km the mean radius of the earth)
return c * 6371;
}
Значение, которое создается, изменяется только при изменении долготы местоположения и остается неизменным при изменении широты.Есть ли причина, по которой мой код только делает это?