PDA

Ver la Versión Completa : [ CONSULTA ] Localización GPS Android


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

}

}
}

pernath
28/07/14, 10:43:49
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.

kriogeN
28/07/14, 16:48:03
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.

amaia10
05/08/14, 12:07:21
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/android-gps-location-manager-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.