Показать сообщение отдельно
  #8 (permalink)  
Старый 12.09.2017, 14:04
Интересующийся
Отправить личное сообщение для mrmammoth Посмотреть профиль Найти все сообщения от mrmammoth
 
Регистрация: 19.03.2014
Сообщений: 22

ок. погуглил и сделал запрос с задержкой
(некрасиво, конечно. надо бы ждать не 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
Ответить с цитированием