2017-04-10 154 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)