2013-03-21 92 views
3

我正在測試HTML5地理位置。 我在Opera和Opera Mobile中有一些奇怪的結果。Opera中的地理位置實現

當我在上次訪問後的某個時間(例如25分鐘)之後訪問該網站時,時間戳是從過去的某個時間開始的。但我通過選項告訴我,我想要的位置不會超過5秒。頁面刷新後,我得到的位置時間戳接近'現在'。我認爲它應該在每次訪問時返回接近「現在」的位置時間戳。

例子:

第一次訪問:位置時間戳23點23分13秒

關閉瀏覽器:

返回站點23時45分20秒:位置時間戳二十三時25分21秒

刷新:位置時間戳23時45分11秒

這裏是我的API調用:

幾分鐘前我才知道,歌劇:配置給我至極階層獲得地理定位的設置,我發現發送

navigator.geolocation.getCurrentPosition(geoSuccess, geoError, { maximumAge: 5000, timeout: 10000, enableHighAccuracy: true });

您可以在蔚藍的網站,我測試創建

geotest.apphb.com

編輯觀察此僅在更改時才提供位置請求 當我關閉地理定位api時,它會按照它應有的方式工作。但我不明白這個設置。發送位置請求需要更改哪些內容? 有了這個設置開啓geolocation API給我幾個小時前的位置。即使我已經在不同的城市。

回答

2

Opera's config website for Windows,只有改變的發送定位請求意味着:

只有一些數據提供者(的Wi-Fi,電池等)實際上改變了發送定位請求。

所以我假設當你改變城市時,你沒有改變上述的數據提供者。如果您要找到Wi-Fi接入點或使用其他技術訪問互聯網,則可能會發送位置請求並進行更新。

+0

這可能就是它!你知道我能否續約賞金?我需要時間來檢查這一點。 – 2013-04-03 14:28:06

+0

@Peri老實說,我不知道你是否可以續約賞金。我試着看[賞金系統如何運作](http://meta.stackexchange。com/questions/16065/how-do-bounty-system-work),但沒有找到任何可以擴展它的東西。此外,你可以[使用socks代理測試這個](http://stackoverflow.com/questions/10495855/how-to-test-ip-address-geolocation-service)。 – BPaasch 2013-04-03 14:46:13

+0

@BPaasch查看[**什麼是自動授予?**](http://meta.stackexchange.com/questions/16065/how-does-the-bounty-system-work)。 '在賞金期結束後大約二十四小時,如果賞金首發沒有人工授予賞金,賞金可以自動授予。' – fitheflow 2013-04-03 20:39:49

0

當頁面已經加載時,getCurrentPosition假設您想要的位置是頁面加載時的位置(用戶當前頁面加載的位置)。

使用watchPosition連續更新位置(無頁面重新加載)。

+0

你是什麼意思的'頁面已加載'我可以訪問頁面上次訪問幾個小時後,它仍然顯示以前的位置 - 不同的城市 – 2013-04-03 05:57:13

+0

也許它得到緩存,你試過WatchPosition(它接受相同的參數) ? – fitheflow 2013-04-03 11:44:10

+0

是的,它被緩存。那就是問題所在。它忽略了我的參數{maximumAge:5000} – 2013-04-03 19:11:12