Alvaro Teixeira 26/8/2020, 13:09
Olá Alexandre,
Estive a ver outra solução alternativa sem instalação de programas terceiros.
Otei por usar uma técnica que já usei em tempos para
obter data da internet.
Coloquei o seguinte código em PHP (index.php) alojado na seguinte URL
dthr.alwaysdata.net/coordenadas - Código:
<?php
error_reporting(0);
function get_client_ip() {
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
$PublicIP = get_client_ip();
$json = file_get_contents("http://api.ipstack.com/$PublicIP?access_key=COLOCAR_A_VOSSA_ACCESS_KEY_DA_API");
$json = json_decode($json ,true);
$latitude = $json['latitude'];
$longitude = $json['longitude'];
echo "" . $latitude ."|" . $longitude;
?>
Desta forma vai buscar a localização do IP do browser que está aceder, através da API do ipstack.com.
Deixo a funcionar e pode ser utilizado por quem quiser, lembro que tem um limite mensal gratuito de 10000 acessos.
No entanto caso pretenda, pode criar o registo gratuito no ipstack.com e alojar num servidor à escolha.
Abraço
Última edição por ahteixeira em 13/3/2021, 13:08, editado 1 vez(es) (Motivo da edição : Atualização URL para dthr.alwaysdata.net de datahora.ga)