2012-03-08 205 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地址,使得數據庫可以免費獲得(見下文),但它需要你把你的城市,使其工作。