I have a problem calculating the distance between two geopoints.
The geopoints are:
position1 = mapView.getProjection().fromPixels(
(int) e.getX(),
(
You are taking wrong latitude and longitudes, please replace the following lines
Location loc = new Location("");
loc.setLatitude(position1.getLatitudeE6());
loc.setLongitude(position1.getLongitudeE6());
Location loc2 = new Location("");
loc.setLatitude(position2.getLatitudeE6());
loc.setLongitude(position2.getLongitudeE6());
with
Location loc = new Location("");
loc.setLatitude(position1.getLatitudeE6()/1E6);
loc.setLongitude(position1.getLongitudeE6()/1E6);
Location loc2 = new Location("");
loc.setLatitude(position2.getLatitudeE6()/1E6);
loc.setLongitude(position2.getLongitudeE6()/1E6);
and then once, you will get correct answer.