2017-04-12 74 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和蓝牙提高了准确性,但不能保证用户每次都会这样做。

祝你好运。