Como obtener la altitud latitud y logintud del gps

A pedido de un usuario hoy veremos como obtener la altitud, longitud y precisión del gps, para ello nosotros ya trabajamos como obtener la dirección del gps en android lo nuevo que veremos hoy aquí es la altitud y la precisión. Así que sin mas demora veamos de una vez y lo fácil que es obtener estos datos de nuestro gps.

 

 

Como obtener la altitud, precisión, latitud y longintud del gps

 

obtener altitud del gps en android

Tenemos que insertar algunos textview en nuestro activity_main

activity_main 

 

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_marginTop="20dp"
        android:text="GPS"
        android:textSize="40sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txtLat"
        android:layout_width="100dp"
        android:layout_height="26dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="128dp"
        android:text="Latitud: "
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txtLong"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginTop="20dp"
        android:text="Longitud: "
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtLat" />

    <TextView
        android:id="@+id/txtPre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginTop="20dp"
        android:text="Precision: "
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtLong" />

    <TextView
        android:id="@+id/txtAlt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginTop="20dp"
        android:text="Altitud:"
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtPre" />



</android.support.constraint.ConstraintLayout>

 

Ahora el código en Java

MainActivity

public class MainActivity extends AppCompatActivity {

    LocationManager locationManager;
    LocationListener locationListener;

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

        locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
        locationListener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {
                updateLocationInfo(location);
            }

            @Override
            public void onStatusChanged(String s, int i, Bundle bundle) {

            }

            @Override
            public void onProviderEnabled(String s) {

            }

            @Override
            public void onProviderDisabled(String s) {

            }
        };

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
        } else {
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
            Location lastKnownLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

            if (lastKnownLocation != null) {
                updateLocationInfo(lastKnownLocation);
            }
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            startListening();
        }
    }

    public void startListening() {
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
        }
    }

    public void updateLocationInfo(Location location) {
        TextView latitud = findViewById(R.id.txtLat);
        TextView longitud = findViewById(R.id.txtLong);
        TextView presicion = findViewById(R.id.txtPre);
        TextView altitud = findViewById(R.id.txtAlt);


        latitud.setText("Latitud: " + Double.toString(location.getLatitude()));
        longitud.setText("Longitud: " + Double.toString(location.getLongitude()));
        presicion.setText("Precision: " + Double.toString(location.getAccuracy()));
        altitud.setText("Altitud: " + Double.toString(location.getAltitude()));


    }
}

 

 

 

 

 

 

1+

4 pensamientos sobre “Como obtener la altitud latitud y logintud del gps

  1. felipe

    wahuuu muchísimas gracias estimado! voy a probar un rato mas el código y te comento 🙂 gracias por tu tiempo y los grandes tutoriales que subes de android 🙂 saludos!!!

    0
  2. felipe2

    Amigo genial! acabo de probar el codigo y funciona perfecto, solo que en la “latitud” no me arroja ningun valor… en el manifest agregue solo el permiso o sera que hay que agregar otro permiso? saludos cordiales!

    0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *