如何在Java中获取当前用户的地理位置?

时间:2012-04-21 10:23:13

标签: java geolocation

我在不同的网络服务中看到(例如在Twitter或Facebook上,但也有其他网站服务),他们能够说出用户的地理位置是什么。 Java中是否存在用于此类地理定位的库?

我正在考虑建立一个取决于用户地理位置的服务。

请注意,我不是在这里谈论移动设备上的地理位置,我想获得在他/她的桌面计算机上使用他的网络经纪人的用户的位置。

2 个答案:

答案 0 :(得分:1)

具有WiFi到位的最大数据库是Skyhook无线。您可以从此处获取SDK:Skyhook Location SDK

它没有完全覆盖,但在我看来它是最好的(Google和Apple使用它)。

答案 1 :(得分:0)

他们正在维护庞大的IP数据库,以便根据主机跟踪用户地理位置。

作为个人,不可能维护所有主机映射。 因此,您必须通过IP表格形式第三方提供商。

但是,如果您愿意,您可以从请求标题中获取位置详细信息,即城市,地区,国家/地区,经度,纬度。

仅适用于GAE用户(IP表由谷歌维护)。

如果您希望可以在GAE上托管示例应用程序并使用webservice调用从服务器获取位置详细信息(SOA)。特别是我正在为非GAE用户说话。

有关详情,请浏览GAE ReleaseNotes

    country     =   request.getHeader("X-AppEngine-Country"); 
    region      =   request.getHeader("X-AppEngine-Region");
    city        =   request.getHeader("X-AppEngine-City");
    temp        =   request.getHeader("X-AppEngine-CityLatLong");