检测用户的国家和城市

时间:2012-03-08 10:00:39

标签: api ip-geolocation

我打算写一些应该检测用户所在国家和城市的网络应用程序。例如,当用户输入网站时,网络应用程序应该以他/她的母语显示信息,应该说他/她的国家(和城市,我不知道是否可能)。您知道任何数据库(IP数据库)或其他任何方式吗?

3 个答案:

答案 0 :(得分:2)

您可以使用MaxMind的免费GeoLite数据库。 有一些示例和数据库文件可以在http://www.maxmind.com/app/geolitecity

免费下载

我认为它每个月都有更新。多年来一直使用它,没有抱怨!

答案 1 :(得分:1)

尝试http://www.netimpact.com/faq

可在24小时内免费查询250次。

或者你可以使用简单的javascript代码,与客户的浏览器协商以检测精确的纬度和经度。

// Check for geolocation support
if (navigator.geolocation) {
    // Use method getCurrentPosition to get coordinates
    navigator.geolocation.getCurrentPosition(function (position) {
        // Access them accordingly
        alert(position.coords.latitude + ", " + position.coords.longitude);
    });
}

但是,这需要用户的许可来共享他的位置。

答案 2 :(得分:0)

http://www.hostip.info/
Hostip.info是一个基于社区的项目,用于地理定位IP地址,使数据库免费提供(见下文),但它需要您放入您的城市以使其工作。