首页 > 解决方案 > 可观测地理位置上不存在离子间隔

问题描述

在 ionic 4 框架上工作,我试图在 observable 上设置间隔,但它不起作用,我试图以所有方式包括间隔,仍然没有运气。

import {Observable} from 'rxjs';
import 'rxjs/add/observable/interval';

  startTracking() {
    this.isTracking = true;
    this.trackedRoute = [];

    this.positionSubscription = this.geolocation.watchPosition()
      .pipe(
        filter((p) => p.coords !== undefined) //Filter Out Errors
      )
      .interval(1000)
      .subscribe(data => { 
          this.trackedRoute.push({ lat: data.coords.latitude, lng: data.coords.longitude });
          this.redrawPath(this.trackedRoute); 
      });

  }

请帮助我,在这个项目上工作了很多天,但在任何地方都没有解决方案。

标签: angularionic-frameworkionic3ionic4

解决方案


间隔是可观察的,而不是运算符。我不知道您到底想做什么,但这应该可行:

import { delay } from 'rxjs/operators';

 startTracking() {
    this.isTracking = true;
    this.trackedRoute = [];

    this.positionSubscription = this.geolocation.watchPosition()
      .pipe(
        filter((p) => p.coords !== undefined), //Filter Out Errors
        delay(1000)
      )
      .subscribe(data => { 
          this.trackedRoute.push({ lat: data.coords.latitude, lng: data.coords.longitude });
          this.redrawPath(this.trackedRoute); 
      });

  }

推荐阅读