2012-03-08 130 views
0

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

回答

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); 
    }); 
} 

但是,这需要用户的许可才能分享他的位置。

+1

这使您依赖于您需要每次查询的第三方。对这些信息使用本地数据库将使您的应用程序更快,更可靠,而且在查询量方面没有限制:) – Stian 2012-03-08 12:06:03

2

您可以使用MaxMind的免费GeoLite数据库。 有在http://www.maxmind.com/app/geolitecity

免费下载的例子和数据库文件我认为它是每月更新。多年来一直使用它,没有投诉!

+0

我同意 - MaxMind的免费GeoLite正是您所需要的。但要注意,您可能会在公司网络上为用户获取错误的位置(您将获得公司中心的位置,而不是用户)。所有的IP查找解决方案都是如此,而不仅仅是MaxMind。 – Kevin 2012-03-09 09:32:48

0

http://www.hostip.info/
Hostip.info是一个以社区为基础的项目来地理定位IP地址,使得数据库可以免费获得(见下文),但它需要你把你的城市,使其工作。

相关问题