Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hcbravin

Geolocalização via Js e HTML5

Recommended Posts

Boa noite pessoal. Estou tentando criar um site mobile que requer a localização do usuário. Como a aplicação é mobile pesquisei e vi que seria uma boa unir o pedido de permissão para compartilhamento de localização do GPS do usuário (em seu aparelho mobile) e para isso pensei em usar o API de Geolocalização da W3S. Porém, estou enfrentando um problema que não consigo resolver.

Para navegador desktop funciona normalmente.

Para navegador mobile funciona parcialmente. Na verdade todos que eu testei (Firefox, Opera, Padrão de alguns dispositivos) funcionou.

Para navegador Google Chrome mobile não funciona de jeito nenhum e nem retorna nenhum tipo de erro, de acordo com o programado no Javascript.

O modelo que usei foi o descrito aqui >> https://fazcertoquefunciona.wordpress.com/2013/01/09/html5-geolocalizacao/

No

<head>
<script type="text/javascript">
			if(navigator.geolocation){
				navigator.geolocation.getCurrentPosition(
					function (position){
						document.getElementById("map").innerHTML = ("Latitude: " + position.coords.latitude + "\n Longitude: " + position.coords.longitude);
					},
					
					function handleErrors(error){
						var retornaErro;
						switch(error){
							case error.PERMISSION_DENIED:
								retornaErro = "O usuário não deu permissão para obter a localização.";
								break;
							case error.POSITION_UNAVAILABLE:
								retornaErro = "Localização Indisponivel.";	
								break;
							case error.TIMEOUT:
								retornaErro = "Timeout ao tentar obter as informações.";
								break;
							case error.UNKNOWN_ERROR:
								retornaErro = "Erro desconhecido.";
								break;
						}
						document.getElementById("map").innerHTML = retornaErro;
					}
				);
			}else{
				document.getElementById("map").innerHTML = "Seu Navegador Não tem suporte!";
			}
		</script>
</head>
<body>
    <div id="map"> </div>
</body>

Alguém saberia me ajudar? ou Aconselhar outro API que seja mais funcional?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem todos os navegadores tem suporte mesmo, não tem muito o que fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o código inteiro.

Outra maneira legal de testar no Celular (direto)

É utilizando esse carinha aqui:

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá senhores, bom dia.

Estou fazendo uns testes aqui com o navigator.geolocation porém uma coisa me frustrou.

É impresão minha ou só consigo usar o navigator.geolocation.getCurrentPosition() em páginas com certificado https?

Em nenhum lugar eu vejo alguém falando isso, então talvez tenha mudado recentemente ou algo assim.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

exato.

getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@tihhgoncalves pq frustração broo?

Nada mais justo a Google/Mozilla ir forçando a galera trocar o jeito de escrever site/sistema utilizando oq é mais seguro xD


Conhece o movimento:Lets Encrypt
Levando em conta q o movimento é 'free, automated, and open' não tem pq passar raiva.

Mais em:
https://letsencrypt.org/


Se sua hospedagem não fornece uma opção gratuita de certificado SSL, talvez ela nem meraça estar recebendo sua assinatura ;)

Ps: (LocalHost funciona, de acordo com o Link do @WBruno

localhost is treated as a secure origin over HTTP[/size]


Ps²: Na próxima tenta criar um tópico só para você, assim ajuda no SearchBot caso alguém tenha a mesma duvida que você.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.