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
Array

[xs_avatar]
solfree solfree no está en línea
Miembro del foro
 
Fecha de registro: feb 2009
Localización: rubi
Mensajes: 194
Modelo de smartphone: note 3

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


  #2  
Viejo 25/04/13, 09:39:54
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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
  #3  
Viejo 25/04/13, 11:38:52
Array

[xs_avatar]
solfree solfree no está en línea
Miembro del foro
 
Fecha de registro: feb 2009
Localización: rubi
Mensajes: 194
Modelo de smartphone: note 3

ups..esto del geocoder es nuevo...
muchas gracias voy a mirarlo!
Responder Con Cita
  #4  
Viejo 25/04/13, 12:21:18
Array

[xs_avatar]
solfree solfree no está en línea
Miembro del foro
 
Fecha de registro: feb 2009
Localización: rubi
Mensajes: 194
Modelo de smartphone: note 3

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
  #5  
Viejo 25/04/13, 13:28:50
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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());
            }

Última edición por kriogeN Día 25/04/13 a las 13:35:21.
Responder Con Cita
  #6  
Viejo 25/04/13, 16:26:09
Array

[xs_avatar]
solfree solfree no está en línea
Miembro del foro
 
Fecha de registro: feb 2009
Localización: rubi
Mensajes: 194
Modelo de smartphone: note 3

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..

Última edición por solfree Día 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
  #7  
Viejo 25/04/13, 19:56:34
Array

[xs_avatar]
solfree solfree no está en línea
Miembro del foro
 
Fecha de registro: feb 2009
Localización: rubi
Mensajes: 194
Modelo de smartphone: note 3

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
  #8  
Viejo 26/04/13, 23:37:26
Array

[xs_avatar]
solfree solfree no está en línea
Miembro del foro
 
Fecha de registro: feb 2009
Localización: rubi
Mensajes: 194
Modelo de smartphone: note 3

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
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 00:08:07 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /