Ionic2/Cordova 插件

Ionic2/Cordova plugin

我正在尝试导入 cordova 插件 (https://www.npmjs.com/package/cordova-plugin-mauron85-background-geolocation)。我导入了它:

import {BackgroundGeolocation} from 'ionic-native';

并称它为:

BackgroundGeolocation.configure(callbackFn, failureFn, {
    desiredAccuracy: 10,
    stationaryRadius: 20,
    distanceFilter: 30,
    interval: 60000
});

但这会抛出一个错误:提供的参数与调用目标的任何签名都不匹配...我知道这个错误是什么意思,但这是来自文档的示例。 .

@Patrick1870,如果您使用的是 ionic-native 后台地理定位,configure 方法将 return 一个承诺。您的语法应如下所示。

import {BackgroundGeolocation} from 'ionic-native';

let backgroundOptions = {
            desiredAccuracy: 10,
            stationaryRadius: 20,
            distanceFilter: 30,
            locationTimeout: 60000 //interval is renamed to locationTimeout
        };

BackgroundGeolocation.configure(backgroundOptions).then((location) => {
            console.log("location", location)
        }).catch((err) => console.log("Error ", err));

如果你直接使用没有ionic-native的插件,你必须使用它作为

declare var backgroundGeolocation: any;
let backgroundOptions = {
                desiredAccuracy: 10,
                stationaryRadius: 20,
                distanceFilter: 30,
                locationTimeout: 60000 //interval is renamed to locationTimeout
            };
backgroundGeolocation.configure((location) => {
   console.log(location);
},(err) => {
   console.log("error on background Geolocation ", err);
}, backgroundOptions);