javascript - Cordova 5.2.x 地理定位不准确

标签 javascript ios html cordova geolocation

我的应用程序中有以下代码:

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 }
);

出于某种原因,我使用上述代码在我的应用程序中获得的位置与 native map 应用程序(即 iOS map )中显示的位置非常不同(100 米,有时 1 公里或更多)。为什么是这样?

在没有 Wifi 且我在室内的地方,这个问题尤其严重。例如,最近在机场,我在原生 map 应用程序中的位置非常准确;我位于正确的航站楼 - 但是当我打开我的应用程序并在几分钟内多次刷新它时,该位置并不靠近我所在的航站楼,实际上我离机场大约 1 公里。

我需要做什么才能至少获得 native 应用能够获得的地理位置?

最佳答案

我之前多次遇到这个问题 - 即使您将 enableHighAccuracy 设置为 true,您也无能为力。这是 HTML5 地理定位方法的问题。打开 wifi 和蓝牙可以提高准确性,但您不能保证用户每次都会这样做。

祝你好运。

关于javascript - Cordova 5.2.x 地理定位不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43374897/

相关文章:

javascript - 将 JSON 字符串从 serializeArray() 转换为 sql 可存储字符串

尝试从数据库获取值时,Javascript 'undefined' 错误

javascript - jQuery SimpleTip 在表格上生成工具提示

javascript - 如何在 Node.js 中获取 POSTed (jquery) 数组数据(使用 express)

ios - 在 Swift 3 中出列可重用单元非常慢

html - 使轮播以页面为中心?

javascript - 播放相对于最近的 <script> 元素的最后一个音频元素

iPhone:单击透明 UIScrollView 后面的 View

ios - Google Maps SDK 导致 iOS 7 泄露

javascript - 为 `<input type="图像指定 click() 的坐标">`