从ip地址获取地理位置

时间:2012-12-27 06:00:28

标签: java android google-maps

  

可能重复:
  Best way to get geo-location in Java

是否可以从java中获取IP地址的经度和纬度值?如果有可能,请告诉我。实际上我正在android中构建一个应用程序,它将根据用户的IP地址跟踪用户。 为了做到这一点,如果我有纬度和经度值,那么我可以很容易地获得用户使用谷歌地图在Android的位置,但主要任务是从IP地址获取经度和纬度。 如果有人有任何想法我正在努力,请事先告诉我。

3 个答案:

答案 0 :(得分:1)

有几个web服务,它们提供来自ip地址的纬度和经度值..其中一个是api.ipinfodb.com 例如,你可以通过发送请求来获得纬度和经度,

http://api.ipinfodb.com/v3/ip-city/?key=<your_api_key>&ip=74.125.45.100&format=json

这将以json格式返回数据。(您需要注册以获取API密钥)。

或者您可以从

下载数据库

http://dev.maxmind.com/geoip/geolite

http://dev.maxmind.com/geoip/downloadable

你可以下载数据集,但你必须不断更新它。

答案 1 :(得分:1)

This API以XML格式返回IP地址(国家,地区,城市,邮政编码,纬度,经度)和相关时区的位置。

虽然基于IP的位置检测确实有很多缺点。

Get location of wifi ip in android

答案 2 :(得分:0)

我认为您可能会使用IP地址获取该位置,但这不是实际位置,它只会为您提供网络服务提供商的区域。