科尔多瓦中的 navigator.geolocation.getCurrentPosition 仅提供 10 米的精度

Posted

技术标签:

【中文标题】科尔多瓦中的 navigator.geolocation.getCurrentPosition 仅提供 10 米的精度【英文标题】:navigator.geolocation.getCurrentPosition in cordova gives only 10 meter accuracy 【发布时间】:2018-08-02 04:25:17 【问题描述】:

navigator.geolocation.getCurrentPosition 在 cordova/android 中提供最大 10 米的精度。我没有使用任何插件进行地理定位。但其他一些应用程序显示同一地点的 3 米精度。

navigator.geolocation.getCurrentPosition 不会提供更好的准确性?

【问题讨论】:

在哪个平台上?你在用enableHighAccuracy: true吗? @jcesarmobile 是的,我正在使用。 在哪个平台上? @jcesarmobile android. @HabeebPerwad 我把你的问题和我的问题联系起来了,有同样的问题***.com/questions/49348489/… 【参考方案1】:

遗憾的是,Android 的 cordova-plugin-geolocation 不提供任何本机代码,只有最少的代码来处理 Android 6+ 的权限。 为了获取位置,它使用地理定位的 WebView 实现,所以如果使用 enableHighAccuracy: true 你没有得到你期望的准确性,你无能为力(可能会向谷歌抱怨,所以他们在未来的系统 WebView 更新中改进它) 结果可能会因供应商/Android 版本而异。

因此,如果您需要更高的准确性,您应该搜索使用本机代码获取位置的不同插件,而不是使用 WebView 提供的插件。其中有一些,最好搜索“背景地理位置”,因为提供背景地理位置的那些使用本机代码。

【讨论】:

有任何参考说明 webview 最多只能提供 10 米的精度? 他们在tag 0.3.6之前拥有原生代码 不,没有关于 WebView 地理定位实现或准确性的内部信息,正如我所说,它可能因不同的设备或供应商而异。 0.3.6版本的插件很老了,native代码真的过时了,无法处理Android 6+的权限,最好找个替代品。 我以前能爬到 4 米,现在升级到奥利奥后也能爬到 10 米。 @jcesarmobile 另外,有人在本机代码方面面临同样的问题,请参阅***.com/questions/49044731/…

以上是关于科尔多瓦中的 navigator.geolocation.getCurrentPosition 仅提供 10 米的精度的主要内容,如果未能解决你的问题,请参考以下文章

H5微信 获取用户当前位置信息

html5怎么实现调用gps获取地理位置具体代码

如何在Javascript中返回用户的纬度和经度? [复制]

科尔多瓦中的admob插件错误

科尔多瓦 2.3 中的 FacebookAppID 问题

离子科尔多瓦构建 ios 中的新 SubprocessError 错误