用于将IP地址转换为lat/lng坐标的工具或PHP代码

Pet*_*aig 2 php ip-address latitude-longitude

我有几千个访问我网站的访问者的IP地址,我可以使用哪些工具将它们转换为lat/lng坐标?然后,我将能够在地图上显示数据,并使用过滤器收集进一步的人口统计数据.

小智 6

我建议您使用谷歌分析来解决您的问题,但如果您想尝试自己,这是一个起点:

请查看此链接http://www.geoplugin.net/php.gp,您将获得有关该IP地址位置的详细列表,包括纬度和经度.

它不是那么精确但它有效,我使用它.这是一个实际使用的PHP脚本:

<?php
$ip_addr = $_SERVER['REMOTE_ADDR'];
$geoplugin = unserialize( file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip_addr) );

if ( is_numeric($geoplugin['geoplugin_latitude']) && is_numeric($geoplugin['geoplugin_longitude']) ) {

$lat = $geoplugin['geoplugin_latitude'];
$long = $geoplugin['geoplugin_longitude'];
}
echo $ip_addr.';'.$lat.';'.$long;
?>
Run Code Online (Sandbox Code Playgroud)

你可以在http://whateverhappens.org/ip-addr/看到它的工作原理

那看看Geoplugin网站上的例子.


小智 5

对于我的一个网站,我使用了maxmind的免费geolite国家数据库,可以在这里下载:http://www.maxmind.com/app/geolitecountry

它们还提供城市级版本,其中包括long/lat:http://www.maxmind.com/app/geolitecity

但请注意,免费版本的准确性远低于付费版本.