Здравствуйте, друзья мои разработчики, я использую ionic 4 и пытаюсь узнать местоположение пользователя по GPS, в частности, для каждого 1-часового интервала.Так что это приложение, отслеживающее местоположение пользователя каждый час.
Я использовал документацию по плагину Ionic 4 Background с официального сайта и нашел этот код для установки этого плагина, в котором говорится, что этот плагин будет работать, даже когда приложениевыходы, так что я надеюсь, что это то, что мне нужно.
Я использовал следующий код для установки плагина Background-Geolocation в приложение Ionic 4:
ionic cordova plugin add cordova-plugin-mauron85-background-geolocation@alpha
npm install @ionic-native/background-mode
Но после него, когда я пытаюсь его протестировать, в моем app.component.ts mainфайл, код не работает!
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.splashScreen.hide();
//setting options for backgroun-geolocatuion
const config: BackgroundGeolocationConfig = {
desiredAccuracy: 10,
stationaryRadius: 20,
distanceFilter: 30,
debug: true,
stopOnTerminate: false,
};
this.backgroundGeolocation.configure(config)
.subscribe((location: BackgroundGeolocationResponse) => {
// ERROR comes here ==> *subscribe* does not exist on type Promise<any> ???
alert(location.longitude);
});
this.backgroundGeolocation.start();
});
Это показывает эту ошибку:
// ERROR comes here ==> Subscribe does not exist on type Promise<any>
Я не могу получить возвращенные данные как подписанные данные из-за этой ошибки.Мне нужны данные о местоположении пользователя для каждого 1-часового интервала (даже если пользователь перемещается или нет), но эта подписка показывает ошибку, как я уже говорил выше.Во-первых, если я изменяю «подписка» на «потом», то он возвращает данные за один раз, что тоже не определено.
Мне нужен этот код для запуска с подпиской, чтобы получать регулярно отслеживаемую информацию о пользователе каждый час.
Пожалуйста, помогите мне, мне нужен этот проект для моей работы.Я перепробовал все, но понятия не имел.
Спасибо заранее:)
PS: я импортировал все провайдеры и конструктор уже над кодом и в файлах основного модуля.
Импорт:
*app/app.component.ts*
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { BackgroundGeolocation } from '@ionic-native/background-geolocation/ngx';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [
StatusBar,
BackgroundGeolocation,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}