Tus alertas

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 25/04/13, 02:12:23
Avatar de solfree
solfree solfree no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2009
Mensajes: 18
como marcar una ruta con google maps api v2? y como a partir de una dirección te lo marque en un mapa

hola a todos, alguien sabe como hacer desde una App que dados dos puntos te marque la ruta?...he visto una App que si lo hace "dónde está mi coche!!!".. le he mandado un mail al autor y si me contesta lo posteo pero por si acaso no me contesta y alguien sabe como hacerlo..se lo agradeceré infinito.

Por otra parte, alguien sabe como hacer que a partir de una dirección te la marque en un mapa, al estilo de la web google maps?

todo esto me refiero con la api v2... que es la que acabo de conocer..las demás no tengo ni idea...llevo un mes peleándome con android.....

gracias por adelantado..

Quim
Responder Con Cita top
Sponsored Links
  #2  
Viejo 25/04/13, 09:39:54
Avatar de kriogeN
kriogeN Hombre kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 3,602
Modelo de smartphone: Samsung Galaxy S4 LTE i9505 - Samsung Galaxy Tab 2
Tu operador: Orange
Para la 2ª pregunta, da igual con que API sea, como si no usas mapas, tienes que usar Geocoder:

http://developer.android.com/intl/es.../Geocoder.html

Yo lo que hago es cuando hago pulsación larga sobre el mapa (con API V2) en ese momento hacer la solicitiud del Geocoder, creo que es bastante aproximado a lo que buscas.

Si no te aclaras con el Geocoder dilo y te pongo un fragmento del código que uso yo.
Responder Con Cita top
  #3  
Viejo 25/04/13, 11:38:52
Avatar de solfree
solfree solfree no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2009
Mensajes: 18
ups..esto del geocoder es nuevo...
muchas gracias voy a mirarlo!
Responder Con Cita top
  #4  
Viejo 25/04/13, 12:21:18
Avatar de solfree
solfree solfree no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2009
Mensajes: 18
bueno, pues te agradeceré que me pongas ese fragmento..ya que según estoy viendo lo del overlay para usarlo con el geocoder está obsoleto .. ¿o me estoy liando?
gracias de nuevo
Responder Con Cita top
  #5  
Viejo 25/04/13, 13:28:50
Avatar de kriogeN
kriogeN Hombre kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 3,602
Modelo de smartphone: Samsung Galaxy S4 LTE i9505 - Samsung Galaxy Tab 2
Tu operador: Orange
EDITO: Perdón, acabo de volver a releer tu pregunta y esta función hace justo lo contrario. Ahora después te pongo un código que hace justo lo que quieres, que también lo tengo hecho en mi App.

Código:
	        Geocoder geocoder = new Geocoder(mContext);
	        double latitude = latlng.latitude;
	        double longitude = latlng.longitude;
	        List<Address> addresses = null;
	        String addressText="";
	        try {
	            addresses = geocoder.getFromLocation(latitude, longitude,1);

	        if(addresses != null && addresses.size() > 0 ){
	            Address address = addresses.get(0);
	            addressText = String.format("%s, %s, %s",
	                    address.getMaxAddressLineIndex() > 0 ? address.getAddressLine(0) : "",
	                            address.getLocality(),
	                            address.getCountryName());
	            }
	        }
	        catch (IOException e) {
	            e.printStackTrace();
	        }
	        return addressText;
Como estás usando API V2 el punto que va a hacer el GeoCoding es un punto LatLng, te viene al pelo. Recuerda usar la función fuera del UI Thread o no te funcionará en Android 4.0+

EDITO 2: Este si es el código que hace lo que quieres

Código:
            Geocoder geocoder = new Geocoder(mContext);
            List<Address> addresses = null;
 
            try {
                addresses = geocoder.getFromLocationName(locationName[0], 3);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return addresses;
Al igual que el anterior necesitas que se ejecute fuera del UI Thread, te devolverá un Array de como máximo 3 direcciones aproximadas (lo puedes aumentar o disminuir). Para convertir cada una de las direcciones en un punto LatLng se hace así:

Código:
            for(int i=0;i<addresses.size();i++){
 
                Address address = (Address) addresses.get(i);
 
                LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude());
            }

Úlima edición por kriogeN fecha: 25/04/13 a las 13:35:21.
Responder Con Cita top
  #6  
Viejo 25/04/13, 16:26:09
Avatar de solfree
solfree solfree no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2009
Mensajes: 18
entonces lo que he leído de overlay no tiene nada que ver?..puedo trabajar con el fragment y el geoposicionamiento?

muchas gracias de nuevo...me pongo en ello...

EDITO por cierto.. .yo no estoy utilizando threads...deberia hacerlo? lo digo por lo de UI thread..

Úlima edición por solfree fecha: 25/04/13 a las 16:35:10. Razón: edito: .yo no estoy utilizando threads...deberia hacerlo? lo digo por lo de UI thread
Responder Con Cita top
  #7  
Viejo 25/04/13, 19:56:34
Avatar de solfree
solfree solfree no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2009
Mensajes: 18
Bueno kriogeN

nada más decirte que eres una máquina!...me funciona todo!! muchísimas gracias! Puedo preguntarte de dónde sacas toda esta info?.. llevas mucho con android? me recomiendas algún libro?

ahora sólo me queda lo de marcar el camino entre dos puntos... si lo consigo lo posteo..he encontrado algo en stackoverflow...pero de momento no me aclaro!

gracias de nuevo!
Responder Con Cita top
  #8  
Viejo 26/04/13, 23:37:26
Avatar de solfree
solfree solfree no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2009
Mensajes: 18
marcar el recorrido entre dos puntos, solucionado

hola de nuevo,
ya he encontrado como poner el recorrido entre dos o mas puntos
os dejo el link por si alguien le interesa

http://wptrafficanalyzer.in/blog/rou...ndroid-api-v2/

saludos
Quim
Responder Con Cita top
Respuesta

Herramientas


Hora actual: 15:53:29 (GMT +2)
Haz click aquí si ves mal la hora en el foro