Mostrando la ubicación de una dirección IP en un mapa en tan solo tres líneas.

Iniciado por Polsaker, Mayo 30, 2015, 01:09:34 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para obtener la información de la geolocalización. Solo hay que pasarle el parámetro ip vía GET al script.

Código: php
<?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  ::) )

Código: php
<?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"  :-\
"Eso es lo bueno de internet. De que sirve internet si chateas con tus vecinos??? para eso te sacas unas sillas al fresco y hablais y jugais a las cartas". @windux

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: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta gracias a @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta el me lo comento hace un tiempo, saludos!
Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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

Código: php

<?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}");
?>
"Eso es lo bueno de internet. De que sirve internet si chateas con tus vecinos??? para eso te sacas unas sillas al fresco y hablais y jugais a las cartas". @windux