Haroldo, mais uma vez obragado pela resposta.
Estou quebrando a cabeca, aqui.
Pelo que pesquisei, sera uma otima opcao!
O problema que nao sei fazer, estou tentando aqui…
Haroldo, mais uma vez obragado pela resposta.
Estou quebrando a cabeca, aqui.
Pelo que pesquisei, sera uma otima opcao!
O problema que nao sei fazer, estou tentando aqui…
com jquery:
$.cookie(“NomeDoCookie”,“ValorDoCookie”);
com php:
$cookie = $_COOKIE[‘NomeDoCookie’];
ficaria assim !?
?>
$.ajax({
url: “https://geoip-db.com/jsonp”,
jsonpCallback: “callback”,
dataType: “jsonp”,
success: function( location ) {
$(’#country’).html(location.country_name);
$(’#state’).html(location.state);
$(’#city’).html(location.city);
$(’#latitude’).html(location.latitude);
$(’#longitude’).html(location.longitude);
$(’#ip’).html(location.IPv4);
<-- ficaria aqui ? -->
$.cookie("cidade", [location.city] + ", "+ [location.state]);
if(routes[location.city]){
alert('tem sua cidade no array! => link salvo no array para redirecionar: '+ routes[location.city]);
window.location.href = routes[location.city];
}
}
});
</script>
<?php
echo $_COOKIE['cidade'];
?>
$.cookie requer o plugin incluso no código.
Em aplicações do tipo blank necessita inclusão da biblioteca jquery.
Então vamos a um código que dispensa o plugin cookie jquery.
OnExecute de uma aplicação blank:
If (!isset($_COOKIE['cidade'])) {
?><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$.ajax({
url: "https://geoip-db.com/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
success: function( location ) {
document.cookie = "país=País: "+[location.country_name]+", "+[location.country_code];
document.cookie = "cidade=Cidasde,Estado: "+ [location.city]+", "+[location.state];
document.cookie = "postal=CEP: "+[location.postal];
document.cookie = "coordenadas=Coordenadas: "+[location.latitude]+", "+[location.longitude];
document.cookie = "ipv4=IPV4: "+[location.IPv4];
}
});
</script><?php
sc_redir(blank_user_location);
}Else{
echo $_COOKIE['país']."<br>";
echo $_COOKIE['cidade']."<br>";
echo $_COOKIE['postal']."<br>";
echo $_COOKIE['coordenadas']."<br>";
echo $_COOKIE['ipv4']."<br>";;
}
Nota: No exemplo acima o cookie será excluso ao fechar o navegador. O navegador do usuário precisará de cookies ativos na página em questão.
O código pode ser melhorado usando mais Ajax.
A app de controle login use o código JS em Javascript/form/onload.
No menu o $_COOKIE estará disponível para você salvar no banco de dados.
Na prática:
https://v9.infinitusweb.com.br/forum_sc/blank_user_location/
TAGS: Haroldo, Cookie, Localização, Usuário, PHP, Javascript, Ajax, Jquery, Blank
Haoldo,
muito obrigado !!!
Eu estou usando em um formulario no onLoad, entao ficou assim:
?>
<?php ?>// aqui, eu estou quebrando o resultado do COOKIE criado.
$cook = explode(’,’,$_COOKIE[‘cidade’]);
$cidade= $cook[0];
$estado= $cook[1];
** este e’ o resultado que eu gostaria…
$('#country').html(location.country_name);
$('#state').html(location.state);
$('#city').html(location.city);
$('#latitude').html(location.latitude);
$('#longitude').html(location.longitude);
$('#ip').html(location.IPv4);
Esse código não precisa a não ser que queira apresentar esses valores na tela e esses seletores estejam criados.
Se os seletores não foram criados vai causar erro no console javascript.
ja fiz a correcao !!!
Fantastico, muito obrigado !
Obrigado, obrigado… Deus abencoe voce!
Compartilhe aí como ficou o código e em qual evento colocou no formulário…
Joelton,
entao na minha situação, estou usando em um formulário. Precisava fazer a localização do usuário para
o cliente nao ter que digitar o nome da cidade corrente.
Muito interessante…
Haroldo ou Pessanha, sabem a forma de melhorar a longitude e latitude…? Ele não bate correto…
Obrigado por compartilhar…
Eu estava pensando em usar esta localização para restringir o uso do sistema somente nesta localização… mas precisava ser mais preciso…
pelos testes que eu fiz as coordenadas são determinadas pela localização do ip da operadora.
Para localização “+precisa” necessita capturar GPS do dispositivo onde o browser é aberto (não é esse o caso).
exatamente isso Haroldo, mas
para mim, somente precisava da cidade e o estado do IP que o
usuário esta teclando.
É verdade Haroldo… estou no Espírito Santo, acessei pelo celular, mostrou a cidade do Rio de Janeiro…
Realmente é o ip da operadora…
Sou uma negação em javascript…
Como posso passar a longitude para um campo…
Veja o script…
?>
<body onLoad="getLocation()">
<p id="demo"></p>
<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>
</body>
<?php
{longitude} = ;
Opa… graças a a ajuda de um colega do grupo, eu consegui… fica aí para futuras consultas…
?>
<body onLoad="getLocation()">
<p id="demo"></p>
<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
$("#id_sc_field_longitude").val(position.coords.longitude);
}
</script>
</body>
<?php
muito otimo !!!
obrigado por compartilhar… ja estou usando o seu codigo!!!
Boa noite…
sou novo no SC e conheço nada de php/html e estou quebrando a cabeça com um pequeno detalhe parece simples mas esta tirando os meus poucos cabelos.
A ideia seria o usuario fazer login em uma aplicação web ou mobile e eu pego a latitude e longitude atual dele e guardo na base de dados.
Tentei usar o codigo do colega acima joelton mas não retorna nada.
será que vocês podem me ajudar em uma duvida.
criei uma aplicação blank e coloquei o codigo:
clico no botão mas não faz nada não traz lat/long atual.
O que eu preciso é pegar a latitude e longitude atual e salvar em uma base mysql.
Por favor, pode me ajudar.
Muito obrigado
Olá meu amigo,
Ando afastado do fórum por falta de tempo, mas esta função explora o html5, e para o seu funcionamento somente se o endereço estiver com https ativo, pois ele fará a pergunta ao usuário se permite a localização.
Joelton parabéns, funcionou perfeito aqui, porem você sabe como posso passar a Latitude e Longitude para um variável PHP?
Olá…
Observe que o #id_sc_field_longitude
já é um campo criado no SC com o nome de ‘longitude’ que recebe o valor em javascript, e logo já faz isto.
Um abraço!