2017-04-10 67 views
-1

我希望能够跟踪我的电脑地理位置。到目前为止,我已经设法实现了一个策略,即使用我的IP地址来获取地理位置。不幸的是,这种方法不够精确。我希望能够跟踪我的计算机的精确度,类似于Iphone可以做的事情,房子和街道号码。从阅读我知道,人们仍然可以使用Wifi,手机和GPS来三角测量您当前的位置。像谷歌地图那样的其他服务,我知道这绝对有可能。我只是没有找到任何可以实现到Python代码中的东西。因此,总而言之,如果有人能够找到计算机的地理位置,我将不胜感激。没有ip地址策略。谢谢!查找电脑的地理位置python

编辑1: 如果你有兴趣看到的代码是什么样子至今,这里的样本:

import urllib2 
import json 


url = 'http://ipinfo.io/json' 
response = urllib2.urlopen(url) 
IP_Info = response.read() 
IP_List = json.loads(IP_Info) 

#info = json.loads(urllib2.urlopen(url).read()) 
ip = IP_List['ip'] 
loc = IP_List['loc'] 
print ip 
print loc 
+1

你的问题是缺少大量的信息。这是一个Web应用程序吗?您是使用浏览器的“共享位置”功能还是使用GeoIP服务?你有什么尝试(向我们展示你的代码)。如果你想避免downvotes,你需要告诉我们你已经尝试过的代码。 – djsumdog

+0

我很抱歉,但我不太了解这个话题,我之所以问这个问题。我所尝试的只是使用ip,如上所示,但这不够精确。我想得到更好的结果,我怎么样,我不知道。作为第一步,我正在考虑使用谷歌地图来改善我的结果。然而,我也会喜欢这个程序尝试不同的策略,所以如果一个失败了,也许下一个更好。 – user3604362

回答

1

手机通过Wi-Fi让你的位置的方法是专有谷歌/苹果。他们经常在设备处于室外的情况下对Wi-Fi接入点进行采样,并且通过GPS锁定将该AP与某个位置相关联。您必须使用专有服务才能从IP获取详细信息。

如果使用物理GPS设备需要一个精确的位置,你可以使用gpsd和Python绑定,像这样:

from gps import gps, WATCH_ENABLE 
import  

gps = gps(mode=WATCH_ENABLE) 
lock = False 
while not lock: 
    report = gps.next() 
    # 3D Fix 
    if report['class'] == 'TPV' and report['mode'] == 3: 
     print(report.lon) 
     print(report.lat) 
     print(report.alt) 
     print(report.speed) 
     print(report.track) 
     print(report.climb) 
    else: 
     time.sleep(5)