2017-04-12 90 views
1

我在我的應用程序下面的代碼:科爾多瓦5.2.x地理位置並不準確

var geo = { lat: 0, lon: 0 }; 
navigator.geolocation.getCurrentPosition(
    function(position) { 
     // set global vars 
     geo.lat = position.coords.latitude; 
     geo.lon = position.coords.longitude; 
    }, 
    function(error) { 
     // handle error 
     geolocationError(error); 
    }, 
    { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true } 
); 

對於一個原因或其他位置,我在使用上面的代碼我的應用程序得到的是非常不同的(100的米,有時爲1KM或更多),比原生地圖應用程序(即iOS地圖)中顯示的要多。爲什麼是這樣?

在沒有Wifi和我在室內的地方尤其如此。例如,最近在機場我在原生地圖應用程序中的位置非常準確;我被定位在正確的終端 - 但是當我打開我的應用程序並在幾分鐘內刷新了很多次,該位置並不在我所在的終端附近,實際上我離機場大約1KM。

我至少需要做些什麼來確定原生應用能夠獲得的地理位置?

+0

您是否已經安裝了cordova-plugin-geolocation插件? – jcesarmobile

回答

0

我之前遇到過這個問題多次 - 即使您將enableHighAccuracy設置爲true,您也無法做任何事情。這是HTML5地理定位方法的一個問題。打開wifi和藍牙提高了準確性,但不能保證用戶每次都會這樣做。

祝你好運。

相關問題