zoukankan      html  css  js  c++  java
  • 利用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

  • 相关阅读:
    (原创)Protel与Altium Designer的前生今世(PCB)
    什么是C语言
    [转帖]s3c4410中断解析(ARM)
    (原创)Protel对话窗字体显示不完全问题解决办法(PCB)
    (原创)VC运行缺少NMSQL.DLL
    C语言中#include命令中,文件名用双撇号和尖括号括起来用法的区别
    UI小综合+跳转
    UITextFieldIOS开发
    UIControlIOS开发
    在SharePoint开发中引入Composite Web Application Block
  • 原文地址:https://www.cnblogs.com/kingreatwill/p/4346524.html
Copyright © 2011-2022 走看看