离子2使用区域Ngzone()

时间:2017-05-26 14:21:14

标签: ionic2 geolocation ngzone

您好我尝试在我的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

但它未定义

你不能帮助我吗?

0 个答案:

没有答案