Вы должны использовать watchPosition
вместо getCurrentPosition
Пожалуйста, создайте службу, как указано ниже эта служба имеет одну функцию и одну подлежит испусканиюобновленное значение местоположения через приложение, где бы мы ни подписывали эту тему.
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
@Injectable()
export class Location {
private _Location = new Subject<any>();
getGeoLocation() {
this.geolocation.watchPosition().subscribe((position) => {
this._Location.next(position)
console.log(position);
}, (err) => {
console.log(err);
});
}
}
В файле ts компонента Вы должны внедрить сервис в конструктор.и после этого вы можете использовать функцию getGeoLocation для обновления местоположения и _Location для подписки на обновленное местоположение.
constructor(private locate: Location){}
ngOnInit() {
// below code to take the updated snapshot of location
this.locate.getGeoLocation()
// below code to subscribe the updated location
this.locate._Location.subscribe(location => {
console.log(location);
})
}