获得用户的谷歌纵横和Python中的经度

时间:2013-10-25 18:15:03

标签: python location latitude-longitude

我想获取python中的用户位置。我认为这在某种程度上是可能的,因为谷歌能够做到这一点(https://maps.google.com/击中D-Pad下面的圆圈。)

有谁知道怎么做?

1 个答案:

答案 0 :(得分:2)

如果您想自己推送,有些网站会以各种格式提供有关您的IP地址的信息。

http://ipinfo.io/json将提供以下内容:

{
  "ip": "12.34.56.78",
  "hostname": "XXXXX.com",
  "city": "Saint-Lambert",
  "region": "Quebec",
  "country": "CA",
  "loc": "45.5073,-73.5082",
  "org": "AS577 Bell Canada",
  "postal": "J4P"
}

就像Joran上面所说的那样,这并不准确。我不在圣兰伯特,我在蒙特利尔,但它并不是那么远。

您可以使用urllib2.urlopen在Python中获取它,然后使用json模块将其转换为dict。

import json
import urllib2

def location_lookup():
  try:
    return json.load(urllib2.urlopen('http://ipinfo.io/json'))
  except urllib2.HTTPError:
    return False

location = location_lookup()

# print city and latitude/longitude
print location['city'] + ' (' + location['loc'] + ')'

对于上面的JSON输出,这个Python代码将给出

Saint-Lambert (45.5073,-73.5082)