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


 
Herramientas
  #1  
Viejo 23/07/14, 10:34:00
Avatar de amaia10
amaia10 amaia10 no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: jul 2014
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de pernath
pernath pernath no está en línea
Miembro del foro
Mensajes: 83
Compra y venta: (1)
 
Fecha de registro: may 2011
Mensajes: 83
Modelo de smartphone: LG optimus 2x
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de amaia10
amaia10 amaia10 no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: jul 2014
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 21:52:37 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007