Blog Post

HTML5 - Geolocation API

Description

Generic Episode Image

GEOLOCATION API

Métodos de Geolocalização

Há três populares maneiras de um agente de usuário descobrir sua posição no globo:

Geolocalização IP

É o método usado pela maioria dos navegadores web em computadores. Através de consultas whois e serviços de localização de IP, vai determinar a cidade ou região em que você está.

Triangulação GPRS

Dispositivos conectados a uma rede de celulares e sem um GPS, ou com o GPS desligado, podem determinar sua posição pela triângulação das antenas GPRS próximas. É bem mais preciso que o método baseado em IP, vai mostrar em que parte do bairro você está.

GPS

É o método mais preciso. Em condições ideais, a margem de erro é de apenas 5 metros.

Embora essas sejam as três maneiras mais populares de se resolver o problema, podem não ser as únicas. Alguns agentes de usuário podem usar uma combinação desses métodos, ou mesmo um novo método que venha a ser inventado. Por isso, a Geolocation API é agnóstica em relação ao método usado. Há apenas uma maneira de ligar e desligar o "modo de alta precisão", o que vai ter significado diferente em cada agente de usuário.

Para obter a posição do usuário, basta executar o script:

  navigator.geolocation.getCurrentPosition(showpos)

O usuário pode então escolher se deseja ou não compartilhar sua posição com o site. Além de o usuário poder dizer não, muita coisa pode dar errado na hora de obter a geolocalização. Para tratar isso, você pode passar o segundo parâmetro a getCurrentPosition:

  navigator.geolocation.getCurrentPosition(showpos,erropos)

 

 

Este treinamento faz parte do Microsoft Virtual Academy: http://www.microsoftvirtualacademy.com

The Discussion

  • User profile image
    Pablo

    Achei muito interessante essa aula, esclareceu muitas coisas q eu ainda ñ sabia.

  • User profile image
    terra

    Recursos poderosos utilizados com muita facilidade!

  • User profile image
    Thiago Adriano

    Muito bom esse conteudo...

  • User profile image
    Jonatas

    Gostei!

  • User profile image
    Claudinei de Camargo

    Interessante

  • User profile image
    Novattu

    Não entendi esse termo AGENTE DE USUÁRIO
    seria nós?
    em outros post vi esse mesmo termo
    citado sendo usado para o próprio
    Usuário
    e Agora?

  • User profile image
    ejulio

    Agente de usuário = navegador

     

  • User profile image
    Fabricio FDG

    achei perigoso qualquer pessoa obter a localização

  • User profile image
    Fabiano

    EXEMPLO:

    <script>
    var x=document.getElementById("demo");
    function getLocation()
      {
      if (navigator.geolocation)
        {
        navigator.geolocation.getCurrentPosition(showPosition);
        }
      else{x.innerHTML="Geolocation is not supported by this browser.";}
      }
    function showPosition(position)
      {
      x.innerHTML="Latitude: " + position.coords.latitude + 
      "<br>Longitude: " + position.coords.longitude; 
      }
    </script>

    [Fonte: W3C]

  • User profile image
    PauloVictor

    Desde que se respeite a política de privacidade, onde deve sempre perguntar se deve permitir, o mesmo para o device. como está no código HTML que é aberto pra qualquer um é um risco, onde esta permissão é mais fácil de ser quebrada, acredito que por isso o DEVICE ainda está em testes e  em desenvolvimento. São recursos poderosos muito fáceis de serem usados. temos que ficar de olho na segurança!

  • User profile image
    Andre Bernardino Cardoso

    Valeu pelo complemento, Fabiano, pois somente pelo exemplo do curso é impossivel saber como que se usa a função.

  • User profile image
    pedro germano

    gostei

  • User profile image
    Daniel

    Segue exemplo de uso junto com a API do Google Maps:

    http://www.deixaeuprogramar.com/2/post/2013/07/geolocation-api-html5-com-google-maps.html

    Abraço!

  • User profile image
    pernoli

    Interessante!

  • User profile image
    Pedro Germano

    gostei

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.