Buenas, esta vez vengo a dejarles otro de los trozos de código que suelo utilizar yo en algunas páginas.
Este código muestra un mapa con la ubicación de una IP utilizando la API de mapas estáticos de Google e ip-api.com para obtener la información de la geolocalización. Solo hay que pasarle el parámetro ip vía GET al script.
<?php
$ipinfo = json_decode(file_get_contents("http://ip-api.com/json/" . $_GET['ip']));
$latlong = $ipinfo->lat . "," . $ipinfo->lon;
echo "<img src=\"https://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}\"/>";
?>
También, para incluirlo de forma mas sencilla en páginas (este, por ejemplo, se podría utilizar en una firma del foro ::) )
<?php
$ipinfo = json_decode(file_get_contents("http://ip-api.com/json/" . $_GET['ip']));
$latlong = $ipinfo->lat . "," . $ipinfo->lon;
header('Content-Type: image/png');
echo file_get_contents("https://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}");
?>
Por supuesto, pueden cambiar el tamaño del mapa alterando el parámetro size que se envía a la API de Google.
Saludos,
Polsaker
Muy buen aporte, aunque no se porque a mi me sale que la imagen tiene errores cuando intento ejecutar el ejemplo de la "firma" :-\
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Muy buen aporte, aunque no se porque a mi me sale que la imagen tiene errores cuando intento ejecutar el ejemplo de la "firma" :-\
A mi me funciona. ¿Le pasaste el parámetro "ip" vía GET? Puedes probar comentando la línea cuatro (la que tiene la función header) para poder ver el error.
Muy bueno polsaker +1, ya conocia esa pagina, tambien habia una base de datos con ips de latitude y longitude: http://www.ip2location.com/?rid=1094 gracias a @WHK (https://underc0de.org/foro/index.php?action=profile;u=20051) el me lo comento hace un tiempo, saludos!
Citar
Muy buen aporte, aunque no se porque a mi me sale que la imagen tiene errores cuando intento ejecutar el ejemplo de la "firma" :-\
Aunque se ha notado que si se intentas obtener el contenido del mapa de Google usando HTTPS desde una página http te lanza error. entonces mi código modificado seria algo así: 8) :P
<?php
$ipinfo = json_decode(file_get_contents("http://ip-api.com/json/" . $_REQUEST['ip']));
$latlong = $ipinfo->lat . "," . $ipinfo->lon;
header('Content-Type: image/png');
echo file_get_contents("http://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}");
?>