Observar posição / Watch position
Obtém de forma contínua informações de localização do dispositivo móvel, detectada em um intervalo de tempo definido. Para interromper a obtenção contínua da localização utilize o bloco Parar Observador de Posição. Esse bloco necessita que a configuração de localização do dispositivo móvel esteja ativada.
Figura 1 - Bloco Observar Posição
Utilize o bloco Obter Georreferenciamento para obter essas informações uma única vez.
Obs:
A localização de dispositivos móveis pode ser obtida com base em diversas fontes, como por exemplo: Sistema de Posicionamento Global (GPS), localização inferida a partir de sinais de rede como endereço IP, RFID e WiFi. Não há garantia de que a função irá retornar a localização real do dispositivo.
Atenção
A coleta e uso de dados de geolocalização pode apresentar importantes problemas de privacidade. A política de privacidade da aplicação criada com essa função deve analisar a forma de uso dos dados de geolocalização, seja na forma de compartilhamento da informação ou em relação ao nível de precisão dos dados.
Compatibilidade
Bloco cliente mobile: cronapi.cordova.geolocation.watchPosition()
Retorno
Retorna um valor string contendo um ID que representa a mudança de posição observada. Esse ID pode ser utilizado como parâmetro do bloco Parar Observador de Posição para fazer com que a contínua observação da posição do dispositivo seja interrompida.
Parâmetros
Sucesso
Caso a geolocalização seja obtida com sucesso, o fluxo de execução é direcionado para os comandos contidos no parâmetro Sucesso, atribuindo a variável definida neste parâmetro um objeto contendo a localização geográfica do dispositivo.
Posição: 1
Inglês: Success
Tipo: Comando com retorno ("item") / Command with return ("item")
Exemplo: é possível utilizar um bloco de programação Exibir Notificação para exibir uma mensagem.
Erro
Caso a obtenção da geolocalização seja mal sucedida, os comandos em Erro são executados.
Posição: 2
Inglês: Error
Tipo: Comando com retorno ("item") / Command with return ("item")
Exemplo: é possível utilizar um bloco de programação Exibir Notificação para exibir uma mensagem.
Tempo Máximo
Parâmetro opcional. Aceita uma posição armazenada em cache cujo tempo não seja maior do que o tempo especificado em milissegundos.
Posição: 3
Inglês: Maximum Age
Tipo: Inteiro / Integer
Exemplo: 3000
Intervalo
Parâmetro opcional. Período máximo de tempo, em milissegundos, para que a localização atual do dispositivo seja atualizada.
Posição: 4
Inglês: Time Out
Tipo: Inteiro / Integer
Exemplo: 5000
Habilitar Alta Precisão
Parâmetro opcional. Por padrão, o dispositivo tenta recuperar uma posição usando métodos baseados em rede. Definir esta propriedade como verdadeira diz a função para usar métodos mais precisos, como o posicionamento via satélite. Neste parâmetro pode ser utilizado o bloco de valor booleano.
Posição: 5
Inglês: Enable High Accuracy
Tipo: Boleano / Boolean
Exemplo: "verdadeiro"
Características do bloco
A função Observar Posição retorna um objeto JSON contendo propriedades relacionadas as coordenadas geográficas do dispositivo. Utilize o bloco Obter Propriedade para obter os atributos do objeto:
coords.latitude: distância de qualquer ponto da terra em relação ao Equador, medida em grau (Número).
coords.longitude: distância de qualquer ponto da terra em relação ao meridiano de Greenwich, medida em grau (Número).
coords.altitude: distância vertical medida entre um ponto e uma uma superfície de referência, geralmente o nível médio do mar (Número).
coords.accuracy: nível de precisão das coordenadas de latitude e longitude em metros (Número).
coords.altitudeAccuracy: nível de precisão da coordenada de altitude em metros (Número). Esta propriedade não é suportada por dispositivos Android, ela sempre retornará nulo.
coords.heading: direção de viagem, especificada em graus contada no sentido horário em relação ao norte verdadeiro (Número).
coords.speed: velocidade atual do dispositivo no solo, especificada em metros por segundo (Número).
timestamp: carimbo de data/hora que indica quando as informações de localização foram obtidas (Número).
Exemplo
A função abaixo em destaque obtém do dispositivo a localização geográfica a cada 5000 milissegundos. Essa localização é obtida através de métodos mais precisos já que o parâmetro "Habilitar Alta Precisão" recebe o valor booleando Verdadeiro. Essas coordenadas geográficas são atribuídas a variável item, que passa a ter todas as propriedades contidas no objeto retornado pela função e que podem ser utilizadas pela aplicação, como por exemplo "coords.latitude" e "coords.longitude".
Figura 2 - Função que exibe a latitude e longitude de uma posição
O teste abaixo foi feito em sistema Android. Veja mais detalhes de como compilar aplicações para Android e iOS no tópico "Exportar e compilar projetos" na documentação Desenvolvimento mobile.
O resultado da execução da figura 2 pode ser observado abaixo. Inicialmente o aplicativo solicitará permissão de localização do dispositivo, para, em seguida, exibir as coordenadas.
Figura 2.1 - Solicitação de permissão para localização do dispositivo
Após escolher entre as duas primeiras opções (figura 2.1), o resultado será exibido, confira na figura 2.2.
Figura 2.2 - Resultado da execução da função da figura 2
Nesta página
- 1 Compatibilidade
- 2 Retorno
- 3 Parâmetros
- 3.1 Sucesso
- 3.2 Erro
- 3.3 Tempo Máximo
- 3.4 Intervalo
- 3.5 Habilitar Alta Precisão
- 4 Características do bloco
- 5 Exemplo