Cordova 地理定位插件无法从 Android 的 GPS 获取位置

Cordova geolocation plugin not getting location from GPS for Android

在我的 Cordova 应用程序中,我试图从 GPS 获取用户的位置。为此,我使用 Geolocation plugin。我需要每 10 秒获取一次位置。我正在做类似的事情:

navigator.geolocation.getCurrentPosition(
                      $rootScope.onSuccessForLocation,
                      $rootScope.onErrorForLocation_High,
                      {maximumAge:600000, timeout:7000, enableHighAccuracy: true}
                      );

现在,当这段代码运行时,它在回调方法中为我提供了位置,但它不是来自 GPS,因为当应用程序启动时,GPS 图标应该出现并开始在状态栏中闪烁。但它没有发生。 我有一个使用相同插件的旧应用程序。当我启动该应用程序时,GPS 图标开始闪烁。到目前为止我注意到的一件事是,在旧应用程序中,我可以在 android 项目中看到 Geolocation.java 文件,但在最新的插件中没有这样的文件,即使我试图在 Github 源文件夹。现在,我不知道我这边缺少什么。有谁知道发生了什么事吗?

他们正在使用 HTML5 地理定位实现而不是本地代码。 他们在插件

的 0.3.7 版本中删除了 android java 代码
### 0.3.7 (Apr 17, 2014)
* CB-6422: [windows8] use cordova/exec/proxy
* CB-6212: [iOS] fix warnings compiled under arm64 64-bit
* CB-5977: [android] Removing the Android Geolocation Code.  Mission Accomplished.
* CB-6460: Update license headers
* Add NOTICE file

如果您想在使用本机代码的地方使用旧版本的插件,您可以像这样安装它

cordova plugin add org.apache.cordova.geolocation@0.3.6