如何使用google api从IP地址中查找某个地点的地址或纬度经度。我需要实现半径搜索,因为我需要用户当前位置的纬度经度,因为我将如何获得,因为如果用户没有选择浏览器共享位置选项,那么我只有一种方法可以使用其IP地址获取lat长度。但为此我需要一个服务,我可以从中得到这个。 ggogle是否提供此服务以从IP地址获取长途,请指导。
答案 0 :(得分:0)
您可以使用第三方工具ipinfo获取位置
$ curl ipinfo.io/8.8.8.8
{
"ip": "8.8.8.8",
"hostname": "google-public-dns-a.google.com",
"loc": "37.385999999999996,-122.0838",
"org": "AS15169 Google Inc.",
"city": "Mountain View",
"region": "CA",
"country": "US",
"phone": 650
}
答案 1 :(得分:0)
实际上,是的,有一项服务可以使用特定于设备的Geolocation API从IP地址获取lat。
但是,您必须考虑一些后果,其中一些浏览器/设备支持它,而其他浏览器/设备不支持(或不能),因此您不能认为Web应用程序始终可以进行地理定位。并且在检测用户位置时也提到过:
某些浏览器使用IP地址来检测用户的位置。但是,由于用户的IP地址只能粗略估计用户的位置,因此我们不建议使用此方法进行地理定位。 W3C方法是最简单和最全面支持的方法,因此它应优先于其他方法。
除此之外,W3C Geolocation API Specification还指出:
Geolocation API定义了与仅与托管实施的设备相关联的位置信息的高级接口,例如纬度和经度。
不保证API返回设备的实际位置。
有关地理位置API的其他问题,可以在本文Where is Geolocation of an IP Address?和Google Maps Geolocation API文档中找到答案。