可能重复:
在 Java 中获取地理位置的最佳方法
是否可以从java中的IP地址获取经度和纬度值?如果可能的话,请让我知道。实际上,我正在用 android 构建一个应用程序,它将根据用户的 ip 地址跟踪用户。为此,如果我有纬度和经度值,那么我可以使用 android 中的谷歌地图轻松获取用户的位置,但主要任务是从 IP 地址获取纬度和经度。我正在努力,如果有人有任何想法,请提前告诉我谢谢。
可能重复:
在 Java 中获取地理位置的最佳方法
是否可以从java中的IP地址获取经度和纬度值?如果可能的话,请让我知道。实际上,我正在用 android 构建一个应用程序,它将根据用户的 ip 地址跟踪用户。为此,如果我有纬度和经度值,那么我可以使用 android 中的谷歌地图轻松获取用户的位置,但主要任务是从 IP 地址获取纬度和经度。我正在努力,如果有人有任何想法,请提前告诉我谢谢。
有几个 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
您可以下载数据集,但您必须不断更新它。
我认为您可能会使用 IP 地址获得位置,但这不是实际位置,它只会为您提供网络服务提供商的区域。