如何使用maxmind从IP地址获取纬度和经度?

yar*_*rek 4 geocoding geoip geoip2

我一直在使用 geoip php 扩展。这个扩展没有像以前那样为我提供纬度和经度。

查看 maxmind 网站,我可以阅读:

注意:经过仔细考虑,考虑到客户的反馈,我们决定不从 GeoLite2 数据库中删除纬度和经度坐标。我们正在审查所有 GeoLite2 和 GeoIP 数据库中使用的坐标,以确保不存在误用风险。

是否有另一种方法(或免费替代方法)从 IP 地址获取纬度和经度?

小智 6

您可以使用http://ip-api.com/提供的免费服务。

http://ip-api.com/json/111.222.333.444/发出 GET 请求(在您希望查找的末尾附加您自己的 IP)

结果将如下所示:

{
    "status": "success",
    "country": "COUNTRY",
    "countryCode": "COUNTRY CODE",
    "region": "REGION CODE",
    "regionName": "REGION NAME",
    "city": "CITY",
    "zip": "ZIP CODE",
    "lat": LATITUDE,
    "lon": LONGITUDE,
    "timezone": "TIME ZONE",
    "isp": "ISP NAME",
    "org": "ORGANIZATION NAME",
    "as": "AS NUMBER / NAME",
    "query": "IP ADDRESS USED FOR QUERY"
}
Run Code Online (Sandbox Code Playgroud)

我相信这就是您要询问的数据类型;LAT/LON 是此 API 的标准返回值。注意不要每分钟执行超过 150 个请求,否则他们将禁止您的主机发出更多请求。