Posición: Member
Grupos: Moderador, Registered Registrado: 04/01/2013(UTC) Mensajes: 21  Ubicación: España Fue agradecido: 4 vez/veces in 4 publicación(es).
|
Hola Wanner, te paso un código que implementé que calcula la ruta andando y en coche pasando las posiciones GPS origen y destino usando la api de google maps. Te recomiendo que si estás un poco verde en el tema de los Location/GPS te leas el hilo que hay sobre este tema... Funciones: Código:
/*
* Método con el que cargo la ruta destino y origen para ir en coche
*/
public static String getUrlCoche(double fromLat, double fromLon,
double toLat, double toLon) {
StringBuffer urlString = new StringBuffer();
urlString.append("http://maps.google.com/maps?");
urlString.append("&saddr=");// from
urlString.append(Double.toString(fromLat));
urlString.append(",");
urlString.append(Double.toString(fromLon));
urlString.append("&daddr=");// to
urlString.append(Double.toString(toLat));
urlString.append(",");
urlString.append(Double.toString(toLon));
urlString.append("&dirflg=d&");
return urlString.toString();
}
/*
* Método con el que cargo la ruta destino y origen para ir en coche
*/
public static String getUrlAndadndo(double fromLat, double fromLon,
double toLat, double toLon) {
StringBuffer urlString = new StringBuffer();
urlString.append("http://maps.google.com/maps?");
urlString.append("&saddr=");// from
urlString.append(Double.toString(fromLat));
urlString.append(",");
urlString.append(Double.toString(fromLon));
urlString.append("&daddr=");// to
urlString.append(Double.toString(toLat));
urlString.append(",");
urlString.append(Double.toString(toLon));
urlString.append("&dirflg=w&");
return urlString.toString();
}
Datos recibidos de otro Intent y ejecución de las funciones: Código:
// Me traigo la Longitud y Latitud Destino y Origen
Intent i = getIntent();
Bundle extras = i.getExtras();
final Double DestinoL = extras.getDouble("lat");
final Double DestinoLon = extras.getDouble("lon");
final Double OrigenL = extras.getDouble("Origenlat");
final Double OrigenLon = extras.getDouble("Origenlon");
/* Cargo la ruta Andando */
Randando.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri
.parse(getUrlAndadndo(OrigenL, OrigenLon, DestinoL,
DestinoLon)));
startActivity(i);
}
});
/* Cargo la ruta en coche */
Rcoche.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri
.parse(getUrlCoche(OrigenL, OrigenLon, DestinoL,
DestinoLon)));
startActivity(i);
}
});
Espero que te sirva... Editado por un usuario martes, 7 de mayo de 2013 11:57:14(UTC)
| Razón: No especificada
|