>
Rafael,
Boa noite.
Poderia me dar uma orientação ... Como posso obter a distância entre duas localidades ?
Eu já estou capturando normalmente as coordenadas latitude/longitude dessas localidade. Há como eu obter a distância entre elas ?
Outra coisa. Não vi, nas aulas uma forma de traçar rotas ( mesmo nas novas aulas de Google Maps v2). Você tem alguma referência para me indicar ?
Grato.
Wesley Jose Garcia
Wesley
Você a fala a distância em que valor?
Rafael,
Em unidades de medida como Km, metros por exemplo.
Wesley,
Segue.
public double CalculationByDistance(GeoPoint StartP, GeoPoint EndP) {
int Radius=6371;//radius of earth in Km
double lat1 = StartP.getLatitudeE6()/1E6;
double lat2 = EndP.getLatitudeE6()/1E6;
double lon1 = StartP.getLongitudeE6()/1E6;
double lon2 = EndP.getLongitudeE6()/1E6;
double dLat = Math.toRadians(lat2-lat1);
double dLon = Math.toRadians(lon2-lon1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2);
double c = 2 * Math.asin(Math.sqrt(a));
double valueResult= Radius*c;
double km=valueResult/1;
DecimalFormat newFormat = new DecimalFormat("####");
kmInDec = Integer.valueOf(newFormat.format(km));
meter=valueResult%1000;
meterInDec= Integer.valueOf(newFormat.format(meter));
Log.i("Radius Value","" valueResult " KM " kmInDec " Meter " meterInDec);
return Radius * c;
}
float[] results = new float[1];
Location.distanceBetween(oldPosition.latitude, oldPosition.longitude,
newPosition.latitude, newPosition.longitude, results);