Saber de donde provienen los visitantes y colocarlos en el mapa es una de las funciones que presta Google Analytics, pero aún no existe esa funcionalidad para mostrar sus propios mapas. El ejemplo representa mis visitantes de hoy, con la desventaja que no hay zoom, a menos que quiera ver por país, y esos molestos tamaños no se pueden controlar.
Sin embargo, los amigos de Zipwise, usando la API de Google Maps han hecho un bonito juguete que, con solo recibir el hit de una imagen colocada en el blog puede reflejar los últimos 100 visitantes sobre el mapa.
Para hacerlo se copia el siguiente código en el header o en un anuncio de tipo Adsense deluxe.
<a href="http://www.zipwise.com/geomap/"> <img src="http://www.zipwise.com/images/geomap.jpg" alt="ZIP Code Maps" border="0"></a>
Aquí les muestro el ejemplo de como se ve la zona de influencia del área hispana que frecuenta Geofumadas a las 10 PM, hora de Venezuela. Claro, con la desventaja de solo poder ver las últimas 100 a menos que agarres el código de su API y hagas trucos a tu gusto.
La conversión de un IP a una coordenada de tipo lat,lon es una función que existe en SQL de la forma INET_ATON() y INET_NTOA(). Aunque los amigos de Zipwise afirman que hay una forma simple de convertirlo manualmente:
Para el caso, un IP 12.34.56.78 se transforma haciendo series de la manera:
12 * 256^3 = 201,326,592
34 * 256^2 = 2,228,224
56 * 256^1 = 14,336
78 * 256^0 = 78
Hasta llevarlo a la forma:
203,569,230
Jeje, tan fácil como el Geospatial Administrator de Bentley Map.
Existen otros datos que se pueden descargar desde la web de Zipwise, y mediante servicios pagados de acceso a sus datos.
Las funciones que mencionas (y la formula) se refieren a la conversión de una IP en un número que es fácil de indexar y buscar en la base de datos, no en una coordenada lat,lon, que esa te la dará la consulta al encontrar el rango en el que cabe la ip convertida en número.