2

嗨,我尝试在我的 ionic2 应用程序上使用 Zone:

我创建了一个提供我设备位置的提供商

import { Injectable,NgZone  } from '@angular/core';
import { Geolocation, Geoposition } from '@ionic-native/geolocation';
import 'rxjs/add/operator/filter';



@Injectable()
export class LocationTracker {

  public watch: any;    
  public lat: number = 0;
  public lng: number = 0;

  constructor(public zone: NgZone,
              public geolocation:Geolocation) {
              console.log('Hello LocationTracker Provider');
  }

  startTracking() {
  console.log("provider startTracking")  


        let options = {
          frequency: 3000, 
          enableHighAccuracy: true
        };

       this.watch = this.geolocation.watchPosition(options).filter((p: any) => p.code === undefined).subscribe((position: Geoposition) => {

                     // Run update inside of Angular's zone
                      this.zone.run(() => {
                      this.lat = position.coords.latitude;
                      this.lng = position.coords.longitude;

               });

      });
  }



}

在主页视图 html 中,我可以使用 {{locationTracker.lat}} 访问该区域,但在我的主页组件(谁调用此提供程序)中,我不知道我如何无法访问该区域

我试试这个

 this.locationTracker.lat

但它是未定义的

你不能帮助我吗?

4

0 回答 0