每次使用 backgroundGeolocation 和 IONIC 保存坐标

Posted

技术标签:

【中文标题】每次使用 backgroundGeolocation 和 IONIC 保存坐标【英文标题】:Save coordinates every x time using backgroundGeolocation and IONIC 【发布时间】:2018-07-19 18:26:55 【问题描述】:

朋友们下午好。

我正在使用 backgroundGeolocation 插件使用 Ionic 2 做一个应用程序,并且我想每隔 x 时间发送一次坐标,正如 Cordova documentation 解释的那样:

???? [地理位置] android 选项 @config Integer millis locationUpdateInterval

⚠️ 要使用locationUpdateInterval,您还必须配置distanceFilter: 0distanceFilter 覆盖 locationUpdateInterval

设置活动位置更新的所需间隔,以毫秒为单位。

定位客户端会在这个时间间隔主动尝试为您的应用获取位置更新,因此它直接影响您的应用使用的电量。明智地选择你的间隔。

这个间隔是不准确的。您可能根本不会收到更新(如果没有可用的位置资源),或者您收到更新的速度可能比请求的慢。您也可能比请求更快地收到它们(如果其他应用程序以更快的间隔请求位置)。

仅具有粗略位置权限的应用程序可能会静默限制其间隔。

BackgroundGeolocation.configure(
  distanceFilter: 0,            // Must be 0 or locationUpdateInterval is 
  ignored!
  locationUpdateInterval: 5000  // Get a location every 5 seconds
);

但我找不到使用 IONIC 进行相同配置的方法。谁能帮帮我?

【问题讨论】:

【参考方案1】:

您需要利用 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();

如果您需要详细信息,请分享您的代码。

【讨论】:

你好 sergey 实际上我开始学习 ionic ,我需要我的代码之一的帮助,希望尽快得到你对我的问题的积极回应 - [***.com/questions/63958509/… 嘿,链接说 404;/ ***.com/questions/63958509/…重新检查

以上是关于每次使用 backgroundGeolocation 和 IONIC 保存坐标的主要内容,如果未能解决你的问题,请参考以下文章

如何在每次 QTimer 发射时使用 QLabel

每次使用 GoogleSignInApi 显示帐户选择器

c# 使用sharpPcap制作的网络监视器应用程序,每次调用应显示一个msgbox的方法每次调用显示多个msgbox

如何使用 skleans 的 KMeans 查看 n_init 每次迭代的集群质心

Android BottomNavigationView 每次使用导航组件重新创建片段

Swift:你如何使用 UIPanGestureRecognizer 获得每次触摸的速度?