Introdução à API de localização geográfica

.NET Framework 3.0

Este tópico fornece uma introdução à API de Localização Geográfica, explica como determinar se há suporte à Localização Geográfica e descreve como a privacidade do usuário é protegida.

Introdução

O Windows Internet Explorer 9 apresenta um fornecedor local interno que usa dados do local de Wi-Fi e informações de endereço IP para determinar a latitude e a longitude do computador ou do dispositivo no qual o Windows Internet Explorer está em execução. A API de Localização Geográfica expõe a latitude e a longitude para o JavaScript em uma página da Web usando o objeto geolocation, que é um objeto filho do window.navigator. O objeto geolocation permite que uma página da Web faça o seguinte:

  • Obtenha a posição geográfica atual usando o método getCurrentPosition.
  • Observe a posição conforme ela muda usando o método watchPosition. Uma chamada para o watchPosition tem o efeito de se inscrever para continuar as atualizações de localização, até que o clearWatch seja chamado para interromper o acompanhamento das alterações.
Esses dois métodos retornam imediatamente quando são chamados. O resultado da chamada de método chega de maneira assíncrona – cada um desses métodos usa um argumento para um método de retorno de chamada implementado para receber o local quando ele foi determinado.

Uma chamada simples para getCurrentPosition, sem detecção ou verificação de erro, pode ser semelhante à seguinte linha de código:



  window.navigator.geolocation.getCurrentPosition(show_map);

A função do retorno de chamada show_map recebe as coordenadas de latitude e longitude.


  function show_map(position) { 
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    // Add code to show a map here
  }

Para páginas da Web de amostra que indicam como exibir local mais detalhadamente, consulte:

Detectando suporte à localização geográfica

Para usar a API de Localização Geográfica, o aplicativo deve verificar se o navegador dá suporte a ele. Se a API de Localização Geográfica não estiver disponível, window.navigator.geolocation será nulo. O código de exemplo a seguir verifica se a API de Localização Geográfica está disponível ou não. Quando o usuário clica em um botão, uma função exibe uma caixa de alerta indica se o geolocation tem suporte.


<!DOCTYPE html>

<html>
<head>
  <title>Geolocation example: Checking for geolocation support</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Remove this line in production. -->
</head>

<body>
  <p>
    <input type="button" onclick="show_islocationenabled();" value="Is Geolocation supported?" />
  </p>
  <div></div>
  <script>
    function show_islocationenabled() {
      var str = "No, geolocation is not supported.";

      if (window.navigator.geolocation) {
        str = "Yes, geolocation is supported.";
      }

      document.getElementsByTagName('div')[0].textContent = str;
    }
  </script>
</body>
</html>

No exemplo anterior, o elemento <!DOCTYPE html> na parte superior da página acaba sendo obrigatório. A API de localização geográfica é uma implementação dos padrões emergentes definidos na Especificação de API de Localização Geográfica da W3C, e o Internet Explorer dá suporte apenas à API de localização geográfica em página da Web exibidas no modo Padrões do IE9 e versões superiores. Para habilitar o modo Padrões do Internet Explorer 9 e versões posteriores, inclua o <!doctype> directive que declara um tipo de documento HTML5.


<!DOCTYPE html> 

Considerando a privacidade

Privacidade é uma preocupação óbvia durante o compartilhamento do local físico com um servidor Web remoto. Por isso, a API de Localização Geográfica exige que os usuários forneçam permissões para o aplicativo Web e acessem informações do local. Na primeira vez em que uma página da Web que solicita dados de localização geográfica é visitada, o Internet Explorer exibe uma barra de notificação para solicitar acesso ao local do usuário. Uma chamada para getCurrentPosition ou watchPosition aciona a solicitação.

A solicitação dá ao usuário as seguintes opções:

  • Permitir uma vez. A barra de notificação será novamente exibida na próxima vez em que o usuário visitar o site.
  • Sempre permitir ou sempre negar. O Internet Explorer memoriza a opção do usuário para que a barra de notificação não seja exibida novamente.

A notificação permanece bloqueada até que o usuário faça uma escolha, de forma que não haja nenhuma chance do site determinar o local enquanto aguarda a resposta do usuário.

Se o usuário não conceder uma permissão, as informações do local não estarão disponíveis para o aplicativo Web. Chamadas para getCurrentPosition e watchPosition não acionam um retorno de chamada com êxito. Se um retorno de chamada com erro, ele será acionado com um código de erro PERMISSION_DENIED.

Os desenvolvedores de aplicativos Web que coletam dados do local devem considerar as seguintes diretrizes de privacidade:

  • Só solicite informações do local quando necessário e use as informações do local apenas da tarefa para a qual foram fornecidas.
  • Passe as informações do local quando a tarefa para a qual elas foram fornecidas estiver concluída, a menos que o usuário tenha permissão para armazená-las.
  • Se as informações do local forem armazenadas em um servidor da Web, não se esqueça de proteger as informações do local de acesso não autorizado e permitir que os usuários atualizem e excluam essas informações.
  • Informe o fato de que o aplicativo está coletando dados do local. Essa divulgação deve incluir uma explicação de qualquer exceção às diretrizes listadas acima.

Referência de API

Geolocation

Amostras e tutoriais

Obtendo o local atual
Observando alterações de local
Tratando erros
Especificando a duração do tempo limite

Demonstrações do Test Drive do Internet Explorer

Localização geográfica do W3C

Postagens no blog do IE

API de localização geográfica do W3C no IE9

Especificação

Especificação de API de Localização Geográfica

Tópicos relacionados

12 ideias interessantes de localização geográfica em HTML5
Usando a localização geográfica no navegador e com os serviços hospedados

 

 

Mostrar:
© 2014 Microsoft. Todos os direitos reservados.