在我的基于PHP的应用程序中,我希望在用户根据IP地址登录webapp时捕获用户计算机的位置。
我遵循了这个方法:
session.query(Table).filter(Table.user_id.in_([1,4])).\
filter(Table.created.in_(session.query(func.max(Table.created)).\
filter(Table.user_id.in_([1,4])).group_by(Table.user_id).subquery()))
我得到纬度和经度值,但这些并不准确,相反,它们是绝对的。在响应中我得到了这样的JSON:
subquery = session.query(func.max(Table.created)).\
filter(Table.user_id.in_([1,4])).\
group_by(Table.user_id).\
subquery()
session.query(Table).filter(Table.user_id.in_([1,4])).filter(Table.created.in_(subq))
没有城市没有拉链。有没有更好的API来获得所需的确切内容?提前感谢您的回复。
答案 0 :(得分:1)
还有很多其他服务。你可能想看看这个: Longitude and latitude value from IP address
答案 1 :(得分:0)
您可以使用MaxMind's GeoIP服务/数据库,它有两个版本:GeoIP2和(Legacy)GeoIP。它们提供免费的数据库和商业数据库,后者更准确。他们有GeoIP2 PHP SDK on Github和Legacy GeoIP is included with PHP。
MaxMind GeoIP2 Demo Page允许您输入IP地址并取回以下数据:
链接:
答案 2 :(得分:0)
有一个在线demo页面允许您使用单个IP地址获取以下数据: