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 23/07/14, 10:34:00
Array

[xs_avatar]
amaia10 amaia10 no está en línea
Usuario novato en la web
 
Fecha de registro: jul 2014
Mensajes: 5
Tu operador: Movistar

Localización GPS Android

Hola!
Soy nueva por aquí, a ver si me podéis ayudar. LLevo una semana con éste problema y no se como solucionarlo.
Tengo un problema con la localización de GPS. Creo la aplicación y le digo que cada vez que cambien las coordenadas GPS me diga cuales son. El caso es que salgo a la calle con el teléfono móvil y la aplicación en marcha, me pongo a andar y tarda un buen rato en coger mis coordenadas, una vez que las coge por primera vez las cambia constantemente, pero la primera es un infierno jajaja

Os dejo el código por si veis algo raro. Gracias por ayudarme. Saludos!!


public class MainActivity extends ActionBarActivity {

private LocationManager locationManager;
private LocationListener locationListener;
private TextView txtLatitud;
private TextView txtLongitud;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txtLatitud = (TextView) findViewById(R.id.txtLatitud);
txtLongitud = (TextView) findViewById(R.id.txtLongitud);
actualizarPosicion();
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}


private void actualizarPosicion()
{
//Obtenemos una referencia al LocationManager
locationManager = (LocationManager)getSystemService(Context.LOCATION _SERVICE);

locationListener = new MyLocationListener();

locationManager.requestLocationUpdates(LocationMan ager.GPS_PROVIDER, 1000, 1, locationListener);

}

private class MyLocationListener implements LocationListener{

@Override
public void onLocationChanged(Location arg0) {
txtLatitud.setText(String.valueOf(arg0.getLatitude ()));
txtLongitud.setText(String.valueOf(arg0.getLongitu de()));
}

@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub

}

@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub

}

}
}
Responder Con Cita


  #2  
Viejo 28/07/14, 10:43:49
Array

[xs_avatar]
pernath pernath no está en línea
Miembro del foro
· Votos compra/venta: (1)
 
Fecha de registro: may 2011
Mensajes: 83
Modelo de smartphone: LG optimus 2x
Tu operador: Movistar
Buenas,

te aconsejo utilizar el posicionamiento por red además del GPS

añade está línea debajo de locationManager del GPS:
locationManager.requestLocationUpdates(LocationMan ager.NETWORK_PROVIDER, 1000, 1, locationListener);

no es tan preciso pero te posiciona mucho más rápido. De esta manera te situará rápidamente por red y cuando tengo el GPS disponible te ubicará por GPS (más exacto).

El posicionamiento del GPS depende del receptor GPS de tu telefono y de su sensibilidad.


Un saludo.
Responder Con Cita
  #3  
Viejo 28/07/14, 16:48:03
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
 Cita: Originalmente Escrito por pernath Ver Mensaje
Buenas,

te aconsejo utilizar el posicionamiento por red además del GPS

añade está línea debajo de locationManager del GPS:
locationManager.requestLocationUpdates(LocationMan ager.NETWORK_PROVIDER, 1000, 1, locationListener);

no es tan preciso pero te posiciona mucho más rápido. De esta manera te situará rápidamente por red y cuando tengo el GPS disponible te ubicará por GPS (más exacto).

El posicionamiento del GPS depende del receptor GPS de tu telefono y de su sensibilidad.


Un saludo.
Lo que yo hago es activar las 2, usando listeners distintos, y en el listener de GPS cuando consigue la primera posición desactivo al listener de red.

Lo hago así porque si mantienes a los 2 vivos la posición de red puede machacar a la posición de GPS, y darte una posición inexacta cuando puedes conseguir posiciones exactas.

Última edición por kriogeN Día 28/07/14 a las 16:51:21.
Responder Con Cita
  #4  
Viejo 05/08/14, 12:07:21
Array

[xs_avatar]
amaia10 amaia10 no está en línea
Usuario novato en la web
 
Fecha de registro: jul 2014
Mensajes: 5
Tu operador: Movistar

Buenas!
Intenté hacer lo que me dijisteis, y ya llevo una semana o más con el tema. Desesperada! jajaja
He encontrado este ejemplo http://www.androidhive.info/2012/07/...ager-tutorial

He seguido el tutorial y me pasa lo mismo, me devuelve todo el rato las coordenadas 0,0.
Ya no se si es mi móvil o que jajaj

Gracias de antemano.
Responder Con Cita
Respuesta

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



Hora actual: 03:27:10 (GMT +2)



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

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