下午好。
我正在使用backgroundGeolocation
插件在Ionic 2上做一个应用,我想每x
次发送坐标,如Cordova documentation所述:
[地理位置] Android选项
@config {Integer millis} locationUpdateInterval
⚠️要使用
locationUpdateInterval
,还必须配置distanceFilter: 0
。distanceFilter
会覆盖locationUpdateInterval
。设置活动位置更新所需的时间间隔(以毫秒为单位)。
位置客户端将在此间隔内积极尝试获取应用程序的位置更新,因此它直接影响应用程序使用的电量。明智地选择时间间隔。
此间隔不精确。您可能根本不会收到更新(如果没有可用的位置来源),或者收到的更新速度可能比要求的要慢。您也可能比要求的接收速度更快(如果其他应用程序以更快的间隔请求定位)。
仅具有粗略位置许可的应用程序可能会默默地限制其时间间隔。
BackgroundGeolocation.configure({
distanceFilter: 0, // Must be 0 or locationUpdateInterval is
ignored!
locationUpdateInterval: 5000 // Get a location every 5 seconds
});
但是我找不到使用IONIC进行相同配置的方法。谁能帮我吗?
答案 0 :(得分:0)
您需要利用watchPosition方法返回的observable:
https://ionicframework.com/docs/native/geolocation/#watchPosition
由于其可见性,因此您可以通过管道传输它并设置所需的时间间隔:
const subscription = this.geolocation.watchPosition()
.pipe(debounceTime(500)); // import relevant rxjs operator
.subscribe(position => {
console.log(position.coords.longitude + ' ' + position.coords.latitude);
});
// To stop notifications
subscription.unsubscribe();
如果需要详细信息,请分享您的代码。