【问题标题】:Cordova geolocation still works after geolocation plugin is removed删除地理定位插件后,Cordova 地理定位仍然有效
【发布时间】:2016-02-18 18:13:55
【问题描述】:

在 Android 上,Cordova 的地理定位插件始终需要大约 6 秒的时间来修复一个位置,而其他应用大部分时间会立即返回一个位置,而且几乎不会超过 2 秒。

我看到这篇帖子 Phonegap geolocation sometimes not working on android 并按照说明删除了地理定位插件:

cordova plugin rm cordova-plugin-geolocation

为了验证插件是否已被删除,我使用 ionic run android 再次运行该应用程序,预计以下调用会失败

var posOptions = {enableHighAccuracy: false, timeout: 10000};

$cordovaGeolocation
    .getCurrentPosition(posOptions)
    .then(function (position) {
        return new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
    }, function() {
        $cordovaToast.showLongCenter('Could not get current location. Is GPS Enabled?');
    });

但它的工作方式与以前完全一样。所以我添加和删除了 android 平台,认为插件可能被缓存:

cordova platform rm android
cordova platform add android
cordova plugin list

com.tiltshiftfocus.cordova.plugin.clearCache 1.0.5 "Clear Cache"
cordova-plugin-camera 2.1.0 "Camera"
cordova-plugin-crosswalk-webview 1.5.0 "Crosswalk WebView Engine"
cordova-plugin-device 1.1.0 "Device"
cordova-plugin-file 3.0.0 "File"
cordova-plugin-file-transfer 1.4.0 "File Transfer"
cordova-plugin-statusbar 2.0.0 "StatusBar"
cordova-plugin-whitelist 1.2.1 "Whitelist"
cordova-plugin-x-toast 2.4.0 "Toast"
ionic-plugin-keyboard 1.0.8 "Keyboard"
plugin.google.maps 1.3.9 "phonegap-googlemaps-plugin"

我还清除了 webview 缓存以防万一

$ionicPlatform.ready(function () {

    window.cache.clear();
    ...
}

但它仍然像以前一样运行。为什么我的应用在没有插件的情况下仍然能够成功地从$cordovaGeolocation.getCurrentPosition 获得位置?它是使用 webview 的地理定位服务而不是插件吗?我如何知道它正在使用哪个服务,因为我怀疑应用程序一开始没有使用插件,这可能是导致 gps 修复缓慢的原因。

我对应用程序进行了一些文本和代码更改,以查看是否反映了任何更改并且新的文本和代码确实出现了。我什至在运行 ionic run android 之前从设备上完全卸载了该应用程序,但地理位置仍然有效。

【问题讨论】:

    标签: android cordova geolocation ionic-framework ngcordova


    【解决方案1】:

    插件文档说

    此 API 基于 W3C 地理定位 API 规范,仅在尚未提供实现的设备上执行

    由于 Android 设备太多我无法测试,所以我只包含该插件以确保安全。

    至于 6 秒与 2 秒,如果不查看其他应用的代码,就很难评估其他应用在做什么。他们可能正在使用缓存的位置等。

    【讨论】:

    猜你喜欢
    • 2017-05-12
    • 2015-01-11
    • 2015-11-28
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 2017-03-05
    相关资源
    最近更新 更多