Idioma: JavaScript e HTML | VB/C#/C++ e XAML
Este tópico ainda não foi avaliado como - Avalie este tópico

Como responder a atualizações de localização usando HTML5 (aplicativos da Windows Store em JavaScript e HTML)

Este tópico mostra como responder as alterações na posição geográfica do usuário, usando a API de Geolocalização W3C em HTML5.

Pré-requisitos

Você deve estar familiarizado com HTML e JavaScript.

Instruções

Etapa 1: Abrir o Microsoft Visual Studio 2012

Abra uma instância do Visual Studio 2012.

Etapa 2: Verifique se o local está habilitado

Abra o Painel de controle, escolha Privacidade e configure Permitir aplicativos para usar o meu local como Ativado.

Etapa 3: Criar um novo projeto

Na caixa de diálogo Novo projeto, escolha um aplicativo em branco nos tipos de projeto JavaScript.

Etapa 4: Declare o recurso do local

Clique duas vezes em package.appxmanifest no Gerenciador de Soluções. Selecione a guia Recursos. Verifique o Local na lista de Recursos.

Etapa 5: Insira o aplicativo JavaScript e HTML

Abra o seu arquivo Default.html e copie o seguinte HTML para este arquivo (substituindo o seu conteúdo original).


<!DOCTYPE html>
<html>
<head>
<title>W3C Geolocation API Example</title>

<script type="text/javascript">
var loc = null;
var watchId;

    function watchloc() {
        if (loc == null) {
            loc = window.navigator.geolocation;
        }
        if (loc != null){
            watchId = loc.watchPosition(successCallback);
        }
    }
    
    function stopwatching() {
        loc.removeEventListener(watchId);
    }
    
    function successCallback(pos) {
        document.getElementById('latitude').innerHTML = pos.coords.latitude;
        document.getElementById('longitude').innerHTML = pos.coords.longitude;
        document.getElementById('accuracy').innerHTML = pos.coords.accuracy;
    }
    
    function errorCallback(error) {
        var strMessage = "";

        // Check for known errors
        switch (error.code) {
            case error.PERMISSION_DENIED:
                strMessage = "Access to your location is turned off. "  +
                    "Change your settings to turn it back on.";
                break;
            case error.POSITION_UNAVAILABLE:
                strMessage = "Data from location services is " + 
                    "currently unavailable.";
                break;
            case error.TIMEOUT:
                strMessage = "Location could not be determined " +
                    "within a specified timeout period.";
                break;
            default:
                break;
        }
        document.getElementById("status").innerHTML = strMessage;
    }
</script>
</head>

<body>
Geolocation Event Sample<br />
<br />

<input type="button" onclick="watchloc()" value="Watch Location" /><br />
<input type="button" onclick="stopwatching()" value="Stop watching" /><br />
Latitude: <span id="latitude">Waiting for update...</span><br />
Longitude: <span id="longitude">Waiting for update...</span><br />
Accuracy: <span id="accuracy">Waiting for update...</span><br />
<span> id="status"></span>
</body>
</html>


Etapa 6: Construir o aplicativo

No menu Construir, clique em Construir solução para construir o projeto.

Etapa 7: Testar o aplicativo

  1. No menu Depuração, clique em Iniciar depuração para testar a solução.
  2. A primeira vez que você executar a amostra, você obterá uma solicitação que pergunta se o aplicativo pode usar o local. Escolha a opção Permitir.
  3. Clique no botão Observar local para obter o local atual.

Observação  Se os dados de localização não forem exibidos, verifique o seguinte:

  • Certifique-se de ter habilitado o acesso à localização abrindo package.appxmanifest no Gerenciador de Soluções e marcando Localização na guia Recursos.
  • Se o administrador tiver desabilitado os serviços de localização, o aplicativo não poderá acessar a localização do usuário. No Painel de Controle da área de trabalho, abra Alterar Configurações de Local e veja se a opção Ativar a plataforma do Windows Location está selecionada.

Comentários

Você deve testar as atualizações do local usando um computador habilitado com Wi-Fi porque o Provedor do Local do Windows usa a triangulação Wi-Fi para solucionar o local. Quando o local é solucionado, os eventos que indicam as atualizações são elevados. Se você usa um computador que não tenha Wi-Fi habilitado, o local terá como base o endereço de IP e você pode não conseguir os eventos de atualização do local.

Tópicos relacionados

Amostra de geolocalização

 

 

© 2013 Microsoft. Todos os direitos reservados.