嗨,我尝试在我的 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
但它是未定义的
你不能帮助我吗?