Ho un problema nel calcolare la distanza tra due punti geografici.Distanza tra i geopunti
I geopoints sono:
position1 = mapView.getProjection().fromPixels(
(int) e.getX(),
(int) e.getY());
e l'altro
double lat = 35.1064;
double lng = 22.556412;
GeoPoint position2 = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));
Poi ho creare due sedi:
Location loc = new Location("");
loc.setLatitude(position1.getLatitudeE6());
loc.setLongitude(position1.getLongitudeE6());
Location loc2 = new Location("");
loc.setLatitude(position2.getLatitudeE6());
loc.setLongitude(position2.getLongitudeE6());
E poi calcolare la distanza:
float distance = loc.distanceTo(loc2);
e intorno ad essa:
Math.round(distance);
Ma ottengo risultati come:
1.4331783E7
Che cosa sto facendo di sbagliato?
perché stai pensando ** 1.4331783E7 ** è sbagliato? –
Causa la distanza dovrebbe essere in metri e il punto che ho impostato e che tocco è max 100 metri così penso che non sia il risultato che mi serve! – user878813
Dai un'occhiata a questo link http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe –