簡體   English   中英

phonegap地理定位,代碼3 - 超時過期一直在某些Android設備上彈出

[英]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的位置。

好的,這里有如何解決問題:

  1. 添加超時並設置enableHighAccuracy:

     navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout: 10000, enableHighAccuracy: true}); 

    在某些模擬器中,您需要將enableHighAccuracy設置為false,因此如果仍然不起作用請嘗試。

  2. 在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM