2012-12-07 74 views
2

我有一個應用程序,它使用forge.geolocation.getCurrentPosition。似乎有時候,位置不刷新。我可以在一個位置打開iOS應用程序,然後在距離5英里的一個小時後再打開應用程序(恢復,或者從托盤完全關閉應用程序,然後重新打開),然後返回舊位置。getCurrentPosition不刷新

我使用這種形式

forge.geolocation.getCurrentPosition({enableHighAccuracy: true}, function (location) {}) 

注意,當打開/恢復應用程序,頂部的GPS圖標也不過顯示位置返回到JavaScript代碼是不正確。

上述缺陷,再生在iOS 6

打開地圖應用程序,並要回我的應用程序後,正確的位置,最後返回。

任何想法如何解決這個問題?

+0

我有同樣的問題,是不可能的。我嘗試了多次調用該方法,但每次的準確性和位置都是相同的。這不會太糟糕,但我在這裏獲得超過1000米的精度。 – Mala

回答

2

getCurrentPosition返回它在該特定時間的最佳數據 - 我建議您多次調用該方法,直到指示的accuracy降至可接受的水平。

我們可能會在未來做的是支持watchPosition使像https://stackoverflow.com/a/8554835將通過forge API

+0

在Cordova/Phonegap中,可以使用options params來指定maximumAge,這似乎是確切的問題。從我測試的內容來看,無論多少次我會調用這個函數或多久都沒關係 - 只要maximumAge沒有通過,最後的位置就會返回。此外,超時參數在我看來從Trigger.io中丟失,並導致Android設備永遠不會返回成功或錯誤回調。請參閱[Corodva文檔](http://docs.phonegap.com/en/1.0.0/phonegap_geolocation_geolocation.md.html#geolocationOptions) –

+0

當我多次調用getCurrentPosition時,每次都獲得完全相同的座標和準確度,而不是不管我讓它循環多久 – Mala