ок. погуглил и сделал запрос с задержкой
(некрасиво, конечно. надо бы ждать не 5 сек а получение координат. но пока хоть так)
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/Rx';
import { IntervalObservable } from 'rxjs/observable/IntervalObservable';
import { Settings} from './settings';
import { GetlocationService } from './getlocation.service';
@Injectable()
export class GetweatherService {
coordData: any;
constructor(private http: Http, private _getlocationservice: GetlocationService) {}
getCurrentCoords(){
this._getlocationservice.getCurrentPosition().subscribe(
data => {this.coordData = data},
error => console.log('Error fetching geolocation data'));
}
getWeatherbyCoordsIntrval(){
return IntervalObservable
.create(5000)
.flatMap(() => {
return this.http.get(Settings.BaseURL+'?lat='+this.coordData.coords.latitude+'&lon='+this.coordData.coords.longitude+'&APPID='+Settings.APPID)
.map(response => response.json());
});
}
}
import { Component, OnInit } from '@angular/core';
import { GetweatherService } from '../getweather.service';
@Component({
selector: 'app-getplace',
templateUrl: './getplace.component.html',
styleUrls: ['./getplace.component.scss']
})
export class GetplaceComponent implements OnInit {
weatherData: any[];
constructor(private _getweatherservice: GetweatherService) { }
ngOnInit() {
this._getweatherservice.getWeatherbyCoordsIntrval() .subscribe(
data => {this.weatherData = data},
error => console.log('Error fetching weather data'));
}
}
теперь не могу получить данные
Error fetching weather data