Cordova的Geolocation插件如何工作?

时间:2014-12-12 08:16:37

标签: android ios cordova geolocation ionic-framework

我正在构建一个应用程序(在Android和iOS上),希望设备的当前位置使用ionic framework(cordova,ionic,angular)。为此,我一直在尝试使用Cordova's Geolocation Plugin。在我的研究中,我发现cordova家伙已经弃用了原生地理定位实施,因为浏览器的地理定位效率更高HERE。 我希望这就是我构建应用程序时config.xml文件不包含

的原因
<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" />
  </feature>

但是在我的应用程序上实现插件时,插件似乎在我的GPS打开时得到的位置很好但是它无法获得我的GPS关闭的位置。这对我来说完全违反直觉。我在这里错过了什么?当他们说他们弃用了android geoloction插件时,我明白了吗? 我想知道地理定位插件请求设备位置时到底发生了什么。

提前致谢。

1 个答案:

答案 0 :(得分:2)

听起来地理定位只有 与GPS一起发生,而不是WiFi或蜂窝三角测量。

文档

该插件的enableHighAccuracyoptionOption Docs

有一个Android错误: Android bug

比较3种位置方法

GPS芯片直接连接到卫星。蜂窝三角测量利用手机的信号。例如,它用于某些紧急服务中,通过三角测量您的手机与塔的距离来定位您。这是一篇关于GPS和细胞三角测量之间比较的有趣Reddit文章。 Wifi还可以提高定位的准确性:有关Google如何做到这一点,请参阅two discussions

简而言之

如果你这样做,有两个该死的,如果你没有问题该死的话:

  1. 错误:如果enableHighAccuracy未设置为true,则模拟器不会返回任何内容;如果您打开GPS,无关紧要。
  2. 高准确度:因为您希望模拟器正常工作,所以将enableHighAccuracy设置为true,但这意味着您必须保持GPS开启。