2016-08-17 256 views
0

我想导入一个科尔多瓦插件(https://www.npmjs.com/package/cordova-plugin-mauron85-background-geolocation)。我进口它:Ionic2 /科尔多瓦插件

import {BackgroundGeolocation} from 'ionic-native'; 

,并把它称为:

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

但是,这将引发我一个错误:提供的参数不匹配,调用对象的的任何签字......我知道这是什么错误方式但这是来自文档的示例...

回答

1

@ Patrick1870,如果您使用的是离子本地背景地理位置,则配置方法将返回一个承诺。你的语法应该如下。

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)); 

如果直接使用插件,而不离子本地的,你必须使用它作为

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); 
+0

谢谢!现在我明白了。一切都很好! – Patrick1870