[英]phonegap geolocation, Code 3 - timeout expired keeps popping up on some Android Devices
我正在使用PhoneGap API進行地理定位。 我已將enableHighAccuracy選項設置為“true”。 代碼3,超時過期選項不斷彈出,但僅在某些Android設備上使用該應用程序時不止一次。
請幫助我...為什么這只是在一些Android設備上失敗。 如果我將精度設置為false,我將在檢索坐標時獲得多少差異...
使用以下代碼管理解決我的問題:
var options = {maximumAge: 0, timeout: 10000, enableHighAccuracy:true};
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
似乎三星Galaxy手機不喜歡緩存gps的位置。
好的,這里有如何解決問題:
添加超時並設置enableHighAccuracy:
navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout: 10000, enableHighAccuracy: true});
在某些模擬器中,您需要將enableHighAccuracy設置為false,因此如果仍然不起作用請嘗試。
在Android中,模擬器不讀取GPS值,因此我們需要通過命令行發送它們。 我們需要在運行模擬器的端口中啟動一個telnet會話(您可以檢查模擬器窗口標題中的端口,開頭的數字,在我的情況下為5554):
telnet localhost 5554
然后運行命令
geo fix -122.4 37.78
如果您關閉應用程序,則需要重新發送地理位置,因此如果它不起作用,只需在打開應用程序之后,在超時事件觸發之前運行geo fix
命令。
我在三星Galaxy Note II(Android 4.1.1)上遇到了同樣的錯誤。 出於某種原因,當位置設置下的“使用無線網絡”打開時,它可以正常工作,但如果它關閉則會出現代碼3錯誤。 它沒有發生在Nexus 7(4.2.2)上。
哎喲,在這里發現同樣的問題。 希望有一個更好的方法,比要求用戶友好地改變他們的GPS設置。 三星Galaxy III
(在沒有此選項的情況下“使用無線網絡查找位置”失敗時工作)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.