地理定位查询的的数据库比较多,而且大多都开放一些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

利用GeoIP数据库及API进行地理定位查询 Java的更多相关文章

  1. 利用GeoIP数据库及API进行地理定位查询

    GeoIP数据库下载地址:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz. 首先,在Max ...

  2. 如何利用【百度地图API】进行定位?非GPS定位

    原文:如何利用[百度地图API]进行定位?非GPS定位 如果你可以上网,如果你有火狐浏览器,那么恭喜你.你能很容易使用以下代码进行定位! ------------------------------- ...

  3. HTML5调用百度地图API进行地理定位实例

    自从HTML5的标准确定以后,越来越多的网站使用HTML5来进行开发.虽然对HTML5支持的浏览器不是很多,但是依然抵挡不了大伙对HTML5开发的热情.今天为大家带来的是使用HTML5调用百度地图AP ...

  4. JS新API标准 地理定位(navigator.geolocation)/////////zzzzzzzzzzz

    在新的API标准中,可以通过navigator.geolocation来获取设备的当前位置,返回一个位置对象,用户可以从这个对象中得到一些经纬度的相关信息. navigator.geolocation ...

  5. JS新API标准 地理定位(navigator.geolocation)

    在新的API标准中,可以通过navigator.geolocation来获取设备的当前位置,返回一个位置对象,用户可以从这个对象中得到一些经纬度的相关信息. navigator.geolocation ...

  6. 安卓开发 利用百度识图api进行物体识别(java版)

    之前的随笔中,已经实现了python版本调用api接口,之所以使用python是因为python比java要简洁. 但是我发现在使用过程中,chaquopy插件会弹出底部toast显示"un ...

  7. PHP如何使用GeoIP数据库

    1.首先下载GeoIP的IP库.参考<利用GeoIP数据库及API进行地理定位查询>.下载后解压,得到一个GeoIP.dat文件 2.新建一个文件geoip.inc.内容为 <?ph ...

  8. 用HTML5、地理定位API和Web服务来开发移动应用

    HTML 5 是一项让人振奋的技术,这有着充分的理由.这将会是一次技术突破,因为它可以将桌面应用程序功能带入浏览器中.除了传统浏览器外,对于移动浏览器,其潜力甚至更大.不仅如此,最流行的移动浏览器甚至 ...

  9. Geolocation地理定位

    地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理及各个 ...

随机推荐

  1. [leetcode-599-Minimum Index Sum of Two Lists]

    Suppose Andy and Doris want to choose a restaurant for dinner, and they both have a list of favorite ...

  2. Linux之通配符

    前言:学习通配符有点为正则表达式打基础的感觉……之前学python有学过正则表达式,所以这篇博客学起来还是挺快的. 特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输 ...

  3. CSS样式之选择器

    一.CSS选择器构成 CSS选择器是你想要改变样式的html元素,通俗的说,选择器可以改变html文件中标签的属性,这些属性可以是颜色,背景图,字体等.每个选择器有一条或多条声明,可以同时改变某个标签 ...

  4. 编写高质量代码改善程序的157个建议:第87个建议之区分WPF和WinForm的线程模型

    今天有时间了,继续<编写高质量代码改善程序的157个建议>的阅读,当我阅读到建议87的时候,里面的一些代码示例和文中所说的不一致了,是不是我现在用的是NetFramework 4.0的缘故 ...

  5. [javascript 实践篇]——那些你不知道的“奇淫巧技”

    1. 空(null, undefined)验证 刚开始,我是比较蠢的验证(我还真是这样子验证的) if (variable1 !== null || variable1 !== undefined | ...

  6. java基础之集合框架(1)

    一.介绍Collection 1.概念:Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection ...

  7. spring boot 拦截器添加

    @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Autowired private XxxInt ...

  8. Java之面向对象例子(一)

    定义一个人类,给这个类定义一个从身份证获取生日的方法,输入身份证,获取出生年月日 //主方法 package com.hanqi.maya.model; import java.util.Scanne ...

  9. java 关键字final

    一.最终的意思,可以修饰类,方法,变量.特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量.二.面试相关: 1.局部变量基本类型 值不能发生改变 例如: ...

  10. java核心机制

    Java中有两种核心机制:Java虚拟机(Java Virtual Machine).垃圾收集机制(Garbage collection) 一.核心机制之Java虚拟机 ① Java虚拟机可以理解成一 ...