Files
freeCodeCamp/curriculum/challenges/espanol/04-data-visualization/json-apis-and-ajax/get-geolocation-data-to-find-a-users-gps-coordinates.md

2.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7faf367417b2b2512be8 Obtén datos de geolocalización para encontrar las coordenadas GPS de un usuario 6 18188 get-geolocation-data-to-find-a-users-gps-coordinates

--description--

Otra cosa interesante que puedes hacer es acceder a la ubicación actual de tu usuario. Cada navegador tiene un componente incorporado que puede darte esta información.

El navegador obtendrá la longitud y la latitud actuales del usuario.

Verás un mensaje para permitir o impedir que este sitio conozca tu ubicación actual. El desafío se puede completar de cualquier manera, siempre y cuando el código sea correcto.

Al seleccionar permitir, verás el texto en el teléfono de salida cambiar a tu latitud y longitud.

Este es el código que hace esto:

if (navigator.geolocation){
  navigator.geolocation.getCurrentPosition(function(position) {
    document.getElementById('data').innerHTML="latitude: " + position.coords.latitude + "<br>longitude: " + position.coords.longitude;
  });
}

Primero, verifica si el objeto navigator.geolocation existe. Si lo hace, se llama al método getCurrentPosition en ese objeto, que inicia una solicitud asíncrona para la posición del usuario. Si la solicitud se realiza con éxito, se ejecuta la función callback del método. Esta función accede los valores de latitud y longitud del objeto position usando notación de puntos y actualiza el HTML.

--instructions--

Añade el código de ejemplo dentro de las etiquetas script para comprobar la ubicación actual de un usuario e insertarlo en el HTML.

--hints--

Tu código debe usar navigator.geolocation para acceder a la ubicación actual del usuario.

assert(code.match(/navigator\.geolocation\.getCurrentPosition/g));

Tu código debe usar position.coords.latitude para acceder a la ubicación actual del usuario.

assert(code.match(/position\.coords\.latitude/g));

Tu código debe usar position.coords.longitude para acceder a la ubicación actual del usuario.

assert(code.match(/position\.coords\.longitude/g));

Debes mostrar la posición del usuario dentro del elemento div con id="data".

assert(
  code.match(/document\.getElementById\(\s*?('|")data\1\s*?\)\.innerHTML/g)
);

--seed--

--seed-contents--

<script>
  // Add your code below this line


  // Add your code above this line
</script>
<h4>You are here:</h4>
<div id="data">

</div>

--solutions--

<script>
  // Add your code below this line
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
      document.getElementById('data').innerHTML = "latitude: " + position.coords.latitude + "<br>longitude: " + position.coords.longitude;
    });
  }
  // Add your code above this line
</script>
<h4>You are here:</h4>
<div id="data">

</div>

</section>