利用GeoIP數據庫及API進行地理定位查詢 Java


地理定位查詢的的數據庫比較多,而且大多都開放一些free的版本

國內的有純真數據庫等,但是他只提供文本的地理位置信息,不提供經緯度數據

當應用到google map時,就不可以了

國外的有MaxMind的GeoIP數據庫、IP2Location數據庫等,它們提供經緯度數據

在此簡單介紹下,MaxMind的GeoIP,此數據庫用於國家的查詢

首先,在MaxMind官網下載所需資源

GeoIP數據庫下載地址:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

下載后,我們將其解壓到e盤

MaxMind提供多種api接口,如:perl, java, python, c, php, c#等

在此我們使用java API

下載地址:http://www.maxmind.com/download/geoip/api/java/

將其導入eclipse等開發環境中即可

也可以將其解壓到任意目錄,手動編譯(

cd source/com/maxmind/geoip/
javac *.java
cd -
javac *.java

)

在此api中含有例子程序 CountryLookupTest.java

在編譯前需要確定,操作系統環境,進行更改

// Uncomment for windows
System.setProperty("user.dir",   "E:\\");

String dir = System.getProperty("user.dir"); 

// Uncomment for Linux
//String dir = "/usr/local/share/GeoIP";

 

如上,windows中我放在e盤目錄下(位置隨意),在其中必須加上 System.setProperty("user.dir",   "E:\\");

以設的程序搜索路徑,不加的話,就是system32下,好像

 

設置完后即可執行

java CountryLookupTest

查看結果,此數據庫只能查到國家

如果,想精確查到城市的話,可以用MaxMind網站的

http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz數據庫

附例子執行結果:

IT
Italy
United States
United States
Colombia
China

 

http://dev.maxmind.com/zh-hans/geoip/legacy/geolite/

http://www.maxmind.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM