如何使用google api从IP地址中找到某个地方的地址或纬度经度

时间:2016-06-25 04:36:20

标签: google-maps latitude-longitude

如何使用google api从IP地址中查找某个地点的地址或纬度经度。我需要实现半径搜索,因为我需要用户当前位置的纬度经度,因为我将如何获得,因为如果用户没有选择浏览器共享位置选项,那么我只有一种方法可以使用其IP地址获取lat长度。但为此我需要一个服务,我可以从中得到这个。 ggogle是否提供此服务以从IP地址获取长途,请指导。

2 个答案:

答案 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文档中找到答案。