Files
freeCodeCamp/curriculum/challenges/portuguese/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 Obter dados de geolocalização para encontrar as coordenadas de GPS de um usuário 6 18188 get-geolocation-data-to-find-a-users-gps-coordinates

--description--

Outra coisa legal que você consegue fazer é acessar a localização atual do usuário. Cada navegador tem um modo de navegação incorporado que pode dar a você esta informação.

O modo de navegação obterá a longitude e a latitude atuais do usuário.

Será solicitado que você permita ou evite que este site conheça sua localização atual. O desafio pode ser concluído das duas maneiras, desde que o código esteja correto.

Ao selecionar que você permite, você verá o texto na saída do telefone mudar para sua latitude e longitude atuais.

Aqui está o código para fazer isso:

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

Primeiro, ele verifica se o objeto navigator.geolocation existe. Se existir, o método getCurrentPosition do objeto é chamado. Ele inicia uma solicitação assíncrona da posição do usuário. Se a solicitação tiver sucesso, a função de callback do método é executada. Essa função acessa os valores do objeto position para latitude e longitude usando a notação de ponto e atualiza o HTML.

--instructions--

Adicione o código de exemplo entre as tags script para verificar a localização atual do usuário e coloque-o no HTML.

--hints--

Seu código deve usar navigator.geolocation para acessar a localização atual do usuário.

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

Seu código deve usar position.coords.latitude para acessar a localização latitudinal do usuário.

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

Seu código deve usar position.coords.longitude para acessar a localização longitudinal do usuário.

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

Você deve exibir a posição do usuário dentro do elemento div com o 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>