2012-04-21 225 views
1

我看到,在不同的网络服务(例如在Twitter或Facebook上,但也有其他网络服务),他们能够说出用户的地理位置。 Java中是否有这种类型的地理定位库?如何在Java中获取当前用户的地理位置?

我在考虑建设一个我们服务,这将取决于Ø用户的地理位置信息。

请注意,我不是在这里谈论移动设备上的地理位置,我希望得到谁使用他的网站broawser他/她desktoo计算机上的用户的位置。

+0

它必须是IP地址。它们将用户的IP地址与查找数据库相匹配。 – 2012-04-21 10:26:55

+0

是不是[1415851 /最佳途径获取地理位置在Java](http://stackoverflow.com/questions/1415851/best-way-to-get-geo-location -in-JAVA)? – 2012-10-31 09:34:43

回答

1

带有WiFi到位的最大数据库是Skyhook无线。你可以从这里得到SDK:Skyhook Location SDK

它没有完全覆盖,但它是我认为最好的(谷歌和苹果使用它)。

+0

是的,我发现Skyhook,但他们没有在他们的网页上显示价格,所以我正在寻找更透明的解决方案。谢谢:) – Jakub 2012-04-21 12:13:23

0

他们正在维护庞大的IP数据库来跟踪基于主机的用户地理位置。

而作为一个单独的它不可能保持所有主机映射。 因此,为此你必须再见IP表格第三方提供商。

但是,如果你愿意,你可以得到的位置信息即城市,地区,国家,经度,纬度从请求头。

这仅适用于GAE的用户(IP表是由谷歌保持)。

如果你愿意,你可以在GAE举办一个示例应用程序,并使用Web服务调用从您的server.Particularly我说的对非GAE用户获取位置信息(SOA)。

欲了解更多详情,请通过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");