2015-11-07 31 views
0

我在phonegap.I希望我的應用程序要求打開設備(IOS/ANDROID/WINDOWS)gps,然後警報當前的經緯度。任何人都可以請指導我,我該怎麼辦它。我已經嘗試了本如何在javascript中獲取地理位置

function locate(){ 
    alert("enter"); 

    var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 3000 }); 
    alert(watchID); 
} 
function onSuccess(position) { 

    alert(position.coords.latitude); 
         alert(position.coords.longitude); 

} 


function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 

但這樣的與error.code的onError塊= 3,返回Error.message =超時和的watchID = 4請幫助..

+0

[GPS不可靠](https://github.com/jessemonroy650/googleMapExamples/wiki/GPSisUnreliable.md) – JesseMonroy650

+0

因此,我該如何使用? –

+0

這取決於您的GPS計劃。列出的文章指出了GPS失敗的幾個例子。最後一節(* GPS信號錯誤*的來源)顯示了技術原因;例如:\ *信號多路徑* * - *當GPS信號在到達接收器之前被反射離開高層建築或大型岩石表面等物體時發生。這會增加信號的傳播時間,從而導致錯誤。*因此,在這種情況下,顯然您應該知道,當您靠近建築物或大型岩石表面時,這些事情可能會導致錯誤。避免這些事情或調整 – JesseMonroy650

回答

0

確保你實際上是包括這裏的地理位置插件:

https://github.com/apache/cordova-plugin-geolocation

另外,還要確保你沒有打電話給你找到()函數,直到deviceready事件已解僱了。

您的超時時間有點低,並且如果在此期間無法獲得鎖定,也可能導致問題。我會設置超時不少於10秒(10000)。您可能希望將最大年齡設置爲3000以獲得所需的效果。此外,大多數人還希望enableHighAccuracy也設置爲true。

+0

它不起作用。 –

相關問題