Este pequeño programa didáctico, permite capturar la Latitud usando el GPS del Smartphone. Esto es mas que suficiente para que el lector pueda capturar la Longitud, Altitud y otros datos del GPS.En este programa se usa un boton y un label, tal como se puede ver aquí:
btnCapturar = (Button)findViewById(R.id.btnCapturar);
lblLatitud = (TextView)findViewById(R.id.lblInformacion);
Programa completo
package com.example.pruebalocalizacion;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button btnCapturar;
private TextView lblLatitud;
private LocationManager locManager;
private LocationListener locListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCapturar = (Button)findViewById(R.id.btnCapturar);
lblLatitud = (TextView)findViewById(R.id.lblInformacion);
btnCapturar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
comenzarLocalizacion();
}
});
}
private void comenzarLocalizacion()
{
//Obtenemos una referencia al LocationManager
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
//Obtenemos la última posición conocida
Location loc = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//Mostramos la última posición conocida
mostrarPosicion(loc);
//Nos registramos para recibir actualizaciones de la posición
locListener = new LocationListener() {
public void onLocationChanged(Location location) {
mostrarPosicion(location);
}
public void onProviderDisabled(String provider){
//lblEstado.setText("Provider OFF");
}
public void onProviderEnabled(String provider){
//lblEstado.setText("Provider ON ");
}
public void onStatusChanged(String provider, int status, Bundle extras){
Log.i("", "Provider Status: " + status);
//lblEstado.setText("Provider Status: " + status);
}
};
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30000, 0, locListener);
}
private void mostrarPosicion(Location loc) {
if(loc != null)
{
lblLatitud.setText("Altitud="+String.valueOf(loc.getLatitude()));
Log.i("", String.valueOf(loc.getLatitude() + " - " + String.valueOf(loc.getLongitude())));
}
else
{
lblLatitud.setText("Precision: (sin_datos)");
}
}
}
No hay comentarios:
Publicar un comentario