Clipper On Line • Ver Tópico - geolocalização

geolocalização

Discussão sobre outras linguagens de programação.

Moderador: Moderadores

 

geolocalização

Mensagempor cjp » 14 Jun 2016 16:41

Pessoal,

Estou tentando usar geolocalização em uma aplicação HTML + PHP.

Vi neste link uma forma bem simples de usar: http://www.w3schools.com/html/html5_geolocation.asp.

Desta forma funcionou perfeitamente.

A única que eu precisava, e que não estou conseguindo, é salvar os dados de latitude e longitude para uma tabela MySQL, ou seja, precisaria apenas do conteúdo de x.innerHTML.

Basicamente, eu precisaria salvar estes dados numa variável, para depois acrescê-la na tabela. E é justamente neste ponto que estou me batendo. Já testei de várias formas, em HTML puro ou acrescendo PHP, mas não funciona.

Alguém poderia me ajudar?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

geolocalização

Mensagempor Toledo » 20 Jun 2016 09:53

Amigo, uma solução que encontrei foi chamar um arquivo PHP dentro da função criada pelo javascript:

arquivo geo.html
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<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) {
    var lat = position.coords.latitude;
    var lon = position.coords.longitude;

    var url_php = "http://www.pctoledo.com.br/temp/geo.php?lat="+lat+"&lon="+lon;
    location.href= url_php;

}
</script>
</body>
</html>


arquivo geo.php
<?php
$lat = ( isset($HTTP_POST_VARS['lat']) ) ? $HTTP_POST_VARS['lat'] : $HTTP_GET_VARS['lat'];
$lon = ( isset($HTTP_POST_VARS['lon']) ) ? $HTTP_POST_VARS['lon'] : $HTTP_GET_VARS['lon'];
$geo = "Latitude: ".$lat."< br >Longitude: ".$lon;
print_r($geo);
?>

Obs.: na linha 4 tirar os espaços que estão em < br >

Então, no arquivo PHP você pode pegar as variáveis $lat e $lon e gravar da maneira que você quiser.

Teste: http://www.pctoledo.com.br/temp/geo.html

Lembrando: no seu servidor as variáveis $HTTP_POST_VARS e $HTTP_GET_VARS são capturadas de outra maneira, então veja outros códigos que já passei para você.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

geolocalização

Mensagempor cjp » 28 Jun 2016 17:43

Muito obrigado, Toledo.

No teu site funcionou perfeitamente.

No meu também. Fiz a adaptação do HTPP, e ficou ok.

Mas agora estou tentando inserir este script na função que estou fazendo, e daí, não sei porque, não está funcionando.

Sei que devo ter feito algo errado, pois não sei bem como inseri-lo dentro da minha função.

Veja como estou fazendo. O primeiro arquivo ficou assim:

    <html>
   
   
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Controle do carro</title>
    <body>

   
    <form id="carro" name="carro" method="post" action="cadcarro.php" onsubmit="return validaCampo(); return false;">
      <table width="625" border="0">
      <br>
      <br>
    
      Favor preencher os dados abaixo:
    
      <br>
      <br>
    
        <tr>
          <td width="89">Quilometragem atual:</td>
          <td width="546"><input name="km" type="text" id="km" size="10" maxlength="10" />
            <span class="style1"></span></td>
        </tr>
        <tr>
          <td width="69">Local do cadastro:</td>
          <td width="546"><input name="local" type="text" id="local" size="20" maxlength="20" />
            <span class="style1"></span></td>
        </tr>
      
      <br>
      <br>
      
      
        <tr>
          <td colspan="4"><p>
<button onclick="getLocation()">Cadastrar dados</button>
<p id="demo"></p>
           
     
              <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos" />
             
     
              <span class="style1">         </span></p>
          <p>  </p></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
   

   
   
   
   
   
   <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) {
  var lat = position.coords.latitude;
  var lon = position.coords.longitude;

  var url_php = "http://www.inaciocarvalho.com.br/php/cadcarro.php?lat="+lat+"&lon="+lon;
  location.href= url_php;

}
</script>
</body>
</html>   


O segundo, ainda não terminado, está assim:


<html>
<head>
</head>
<body>
<?php

$km = $_POST['km'];
$lc = $_POST['local'];
$hr = (date('H')).":".date('i').":".date('s');
$dt = date('Y')."-".date('m')."-".date('d');

$lat = ( isset($_POST['lat']) ) ? $_POST['lat'] : $_GET['lat'];
$lon = ( isset($_POST['lon']) ) ? $_POST['lon'] : $_GET['lon'];

echo "<font face='arial' color='orange' size='50'>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "Km: ".$km;
echo "<br>";
echo "<br>";
echo "Local: ".$lc;
echo "<br>";
echo "<br>";
echo "Latitude: ".$lat;
echo "<br>";
echo "<br>";
echo "Longitude: ".$lon;
echo "<br>";
echo "<br>";

echo "<br>";
echo '<form action="carro.php"';
echo "width='65%' style='height:150px;'>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<input size='35' style='font-size:120px' type='submit' id='Voltar' value='Voltar'>";
echo "</form>";

?>


Neste caso, as variáveis $lon e $lat estão em branco.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes




Retornar para Outras linguagens de programação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 15 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro