用Java获取地理位置的最佳方法 [英] Best way to get geo-location in Java

查看:382
本文介绍了用Java获取地理位置的最佳方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Java中获取地理位置的最佳方式是什么(如果可能,可以自由)?

更新:不是来自GPS设备。基本上Firefox 3.5 / HTML 5如何做到这一点

解决方案

简单的方法是使用GeoLite( http://dev.maxmind.com/geoip/legacy/geolite/ )。因为它使用本地数据库,所以不需要Web服务调用,并且对大量IP进行地理编码的速度更快。



以下是方法:

添加这个Maven工件:

 < dependency> 
< groupId> com.maxmind.geoip< / groupId>
< artifactId> geoip-api< / artifactId>
< version> 1.2.11< / version>
< /依赖关系>

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



将文件解包到任何文件夹中。然后执行:

pre $ LookupService cl = new LookupService(/ var / geolite / GeoLiteCity.dat,
LookupService。 GEOIP_MEMORY_CACHE | LookupService.GEOIP_CHECK_CACHE);

位置位置= cl.getLocation(some ip address);

结果将位于纬度,经度,城市,地区和countryCode属性中的位置对象中。

请看看他们的准确性估算值,以确保它符合您项目的需求: http://www.maxmind.com/en/geolite_city_accuracy

What is the best way to get geo-location in Java (freely if possible)?

Update: Not from a GPS device. Basically how Firefox 3.5 / HTML 5 does it

解决方案

An easy way is with GeoLite (http://dev.maxmind.com/geoip/legacy/geolite/). Because it uses a local database no web service calls are needed and it's much faster for geocoding large numbers of IPs.

Here is how:

Add this Maven artifact:

<dependency>
    <groupId>com.maxmind.geoip</groupId>
    <artifactId>geoip-api</artifactId>
    <version>1.2.11</version>
</dependency>

Download the geolocation data file from http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

Unpack the file into any folder. Then do:

LookupService cl = new LookupService("/var/geolite/GeoLiteCity.dat",
                    LookupService.GEOIP_MEMORY_CACHE | LookupService.GEOIP_CHECK_CACHE);

Location location = cl.getLocation("some ip address");

The result will be in the Location object in the latitude, longitude, city, region and countryCode properties.

Please take a look at their accuracy estimates to ensure it meets the needs of your project: http://www.maxmind.com/en/geolite_city_accuracy .

这篇关于用Java获取地理位置的最佳方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆